@realsee/dnalogel 3.81.13 → 4.0.0-webgpu.3

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 (3499) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +20 -26
  3. package/dist/components.d.ts +2 -0
  4. package/dist/components.js +1 -0
  5. package/dist/floorplan.d.ts +2 -0
  6. package/dist/floorplan.js +1 -0
  7. package/dist/index.d.ts +2 -34
  8. package/dist/index.js +35 -67468
  9. package/dist/internal/BasePlugin-CT5K8m36.js +33 -0
  10. package/dist/internal/BasePlugin-CT5K8m36.js.map +1 -0
  11. package/dist/internal/BasePluginWithData-9z4tpAT4.js +7 -0
  12. package/dist/internal/BasePluginWithData-9z4tpAT4.js.map +1 -0
  13. package/dist/internal/BetterTween-BX0aTvP1.js +23 -0
  14. package/dist/internal/BetterTween-BX0aTvP1.js.map +1 -0
  15. package/dist/internal/CSS3DObject-C9ck81UX.js +312 -0
  16. package/dist/internal/CSS3DObject-C9ck81UX.js.map +1 -0
  17. package/dist/internal/CSS3DRender-BKWjq-Mo.js +297 -0
  18. package/dist/internal/CSS3DRender-BKWjq-Mo.js.map +1 -0
  19. package/dist/internal/CSS3DRenderPlugin-ccSpcvwd.js +77 -0
  20. package/dist/internal/CSS3DRenderPlugin-ccSpcvwd.js.map +1 -0
  21. package/dist/internal/Controller-Csut_kcH.js +2498 -0
  22. package/dist/internal/Controller-Csut_kcH.js.map +1 -0
  23. package/dist/internal/Cursor-3AwKvViZ.js +61 -0
  24. package/dist/internal/Cursor-3AwKvViZ.js.map +1 -0
  25. package/dist/internal/FBXLoader-Chl2iTDE.js +23 -0
  26. package/dist/internal/FBXLoader-Chl2iTDE.js.map +1 -0
  27. package/dist/internal/FiveDomEvents-3H9NvDOz.js +267 -0
  28. package/dist/internal/FiveDomEvents-3H9NvDOz.js.map +1 -0
  29. package/dist/internal/FiveLine-0OtX3RDV.js +28 -0
  30. package/dist/internal/FiveLine-0OtX3RDV.js.map +1 -0
  31. package/dist/internal/FiveUtil-DyTBRHpM.js +74 -0
  32. package/dist/internal/FiveUtil-DyTBRHpM.js.map +1 -0
  33. package/dist/internal/GLTFLoader-DCsDrP-N.js +16 -0
  34. package/dist/internal/GLTFLoader-DCsDrP-N.js.map +1 -0
  35. package/dist/internal/Icon-8d4DFYTH.js +6 -0
  36. package/dist/internal/Icon-8d4DFYTH.js.map +1 -0
  37. package/dist/internal/LabelItem-Cnys51gZ.js +137 -0
  38. package/dist/internal/LabelItem-Cnys51gZ.js.map +1 -0
  39. package/dist/internal/Line2-CDxLMjGj.js +63 -0
  40. package/dist/internal/Line2-CDxLMjGj.js.map +1 -0
  41. package/dist/internal/PointHelper-D565h9b_.js +937 -0
  42. package/dist/internal/PointHelper-D565h9b_.js.map +1 -0
  43. package/dist/internal/Polygon-CBGvYUfJ.js +324 -0
  44. package/dist/internal/Polygon-CBGvYUfJ.js.map +1 -0
  45. package/dist/internal/Prism-Dm5ESkgg.js +484 -0
  46. package/dist/internal/Prism-Dm5ESkgg.js.map +1 -0
  47. package/dist/internal/Rectangle-D-zkDycu.js +1232 -0
  48. package/dist/internal/Rectangle-D-zkDycu.js.map +1 -0
  49. package/dist/internal/StandaloneRenderer-Jo60ASPd.js +91 -0
  50. package/dist/internal/StandaloneRenderer-Jo60ASPd.js.map +1 -0
  51. package/dist/internal/Subscribe-DLlAl88n.js +58 -0
  52. package/dist/internal/Subscribe-DLlAl88n.js.map +1 -0
  53. package/dist/internal/Work-DF8j5GnL.js +1637 -0
  54. package/dist/internal/Work-DF8j5GnL.js.map +1 -0
  55. package/dist/internal/animation-D9rPUNWJ.js +1043 -0
  56. package/dist/internal/animation-D9rPUNWJ.js.map +1 -0
  57. package/dist/internal/animation-script-adapter-DVXnC6Pt.js +1602 -0
  58. package/dist/internal/animation-script-adapter-DVXnC6Pt.js.map +1 -0
  59. package/dist/internal/animationFrame-XGKHIeQK.js +18 -0
  60. package/dist/internal/animationFrame-XGKHIeQK.js.map +1 -0
  61. package/dist/internal/area-maker-Bd9l2pIp.js +446 -0
  62. package/dist/internal/area-maker-Bd9l2pIp.js.map +1 -0
  63. package/dist/internal/blink-DD_0mH-m.js +113 -0
  64. package/dist/internal/blink-DD_0mH-m.js.map +1 -0
  65. package/dist/internal/boundingBox-DvCor5Hd.js +83 -0
  66. package/dist/internal/boundingBox-DvCor5Hd.js.map +1 -0
  67. package/dist/internal/camera-movement-CwI7UqUk.js +112 -0
  68. package/dist/internal/camera-movement-CwI7UqUk.js.map +1 -0
  69. package/dist/internal/changeMode-BVGYCoqu.js +73 -0
  70. package/dist/internal/changeMode-BVGYCoqu.js.map +1 -0
  71. package/dist/internal/classnames-DUxZNrrI.js +33 -0
  72. package/dist/internal/classnames-DUxZNrrI.js.map +1 -0
  73. package/dist/internal/component.svelte-D5LYqt50.js +2750 -0
  74. package/dist/internal/component.svelte-D5LYqt50.js.map +1 -0
  75. package/dist/internal/components-Ed73WMB0.js +434 -0
  76. package/dist/internal/components-Ed73WMB0.js.map +1 -0
  77. package/dist/internal/constants-A7EqoECw.js +6 -0
  78. package/dist/internal/constants-A7EqoECw.js.map +1 -0
  79. package/dist/internal/controller-BWkZT0l1.js +7481 -0
  80. package/dist/internal/controller-BWkZT0l1.js.map +1 -0
  81. package/dist/internal/cruise-C3F0eNQ-.js +7 -0
  82. package/dist/internal/cruise-C3F0eNQ-.js.map +1 -0
  83. package/dist/internal/current-pano-image-DKUWluR-.js +219 -0
  84. package/dist/internal/current-pano-image-DKUWluR-.js.map +1 -0
  85. package/dist/internal/debounce-Dsju-hoR.js +13 -0
  86. package/dist/internal/debounce-Dsju-hoR.js.map +1 -0
  87. package/dist/internal/defaultUrls-CjKkS9k9.js +6 -0
  88. package/dist/internal/defaultUrls-CjKkS9k9.js.map +1 -0
  89. package/dist/internal/digital-performance-B4DdvGbx.js +589 -0
  90. package/dist/internal/digital-performance-B4DdvGbx.js.map +1 -0
  91. package/dist/internal/digital-performance-v2-Cspjjn51.js +1030 -0
  92. package/dist/internal/digital-performance-v2-Cspjjn51.js.map +1 -0
  93. package/dist/internal/disposeOwnedObject-DsYpFpqh.js +16 -0
  94. package/dist/internal/disposeOwnedObject-DsYpFpqh.js.map +1 -0
  95. package/dist/internal/easing-D6YjRdGJ.js +15 -0
  96. package/dist/internal/easing-D6YjRdGJ.js.map +1 -0
  97. package/dist/internal/equal-BiDAilPV.js +50 -0
  98. package/dist/internal/equal-BiDAilPV.js.map +1 -0
  99. package/dist/internal/filter-Br6vP-OZ.js +15 -0
  100. package/dist/internal/filter-Br6vP-OZ.js.map +1 -0
  101. package/dist/internal/fire-scene-CczaBz2_.js +1162 -0
  102. package/dist/internal/fire-scene-CczaBz2_.js.map +1 -0
  103. package/dist/internal/fiveModelLoad-mg-TnpnM.js +23 -0
  104. package/dist/internal/fiveModelLoad-mg-TnpnM.js.map +1 -0
  105. package/dist/internal/floorplan-KWlIsTvO.js +6059 -0
  106. package/dist/internal/floorplan-KWlIsTvO.js.map +1 -0
  107. package/dist/internal/fontSize-DMhRSrtx.js +104 -0
  108. package/dist/internal/fontSize-DMhRSrtx.js.map +1 -0
  109. package/dist/internal/formatRad-kChZaf0k.js +9 -0
  110. package/dist/internal/formatRad-kChZaf0k.js.map +1 -0
  111. package/dist/internal/generatePolygonGeometry-B_5JFq8y.js +1008 -0
  112. package/dist/internal/generatePolygonGeometry-B_5JFq8y.js.map +1 -0
  113. package/dist/internal/getFiveModel-CZVrrU1D.js +8 -0
  114. package/dist/internal/getFiveModel-CZVrrU1D.js.map +1 -0
  115. package/dist/internal/getNormal-BatLuzsS.js +45 -0
  116. package/dist/internal/getNormal-BatLuzsS.js.map +1 -0
  117. package/dist/internal/hammer-Cq7WcpTp.js +835 -0
  118. package/dist/internal/hammer-Cq7WcpTp.js.map +1 -0
  119. package/dist/internal/index-client-W3QT304M.js +1 -0
  120. package/dist/internal/isNil-CQNA0Sbe.js +11 -0
  121. package/dist/internal/isNil-CQNA0Sbe.js.map +1 -0
  122. package/dist/internal/item-label-DXeKI9sZ.js +282 -0
  123. package/dist/internal/item-label-DXeKI9sZ.js.map +1 -0
  124. package/dist/internal/loadTexture-CJ3EbTXw.js +18 -0
  125. package/dist/internal/loadTexture-CJ3EbTXw.js.map +1 -0
  126. package/dist/internal/loadVideoTexture-CWoiMWRg.js +43 -0
  127. package/dist/internal/loadVideoTexture-CWoiMWRg.js.map +1 -0
  128. package/dist/internal/lookObject-wesf8xt6.js +48 -0
  129. package/dist/internal/lookObject-wesf8xt6.js.map +1 -0
  130. package/dist/internal/measure-BX6boAC7.js +1027 -0
  131. package/dist/internal/measure-BX6boAC7.js.map +1 -0
  132. package/dist/internal/model-chassis-compass-InVNmOAQ.js +84 -0
  133. package/dist/internal/model-chassis-compass-InVNmOAQ.js.map +1 -0
  134. package/dist/internal/model-entry-door-guide-wZbyY77a.js +84 -0
  135. package/dist/internal/model-entry-door-guide-wZbyY77a.js.map +1 -0
  136. package/dist/internal/model-item-label-BwJ5Dgnp.js +179 -0
  137. package/dist/internal/model-item-label-BwJ5Dgnp.js.map +1 -0
  138. package/dist/internal/model-maker-uO8xlTuO.js +897 -0
  139. package/dist/internal/model-maker-uO8xlTuO.js.map +1 -0
  140. package/dist/internal/model-room-label-5NtOduW1.js +199 -0
  141. package/dist/internal/model-room-label-5NtOduW1.js.map +1 -0
  142. package/dist/internal/model-tv-video-DzXb2JRf.js +213 -0
  143. package/dist/internal/model-tv-video-DzXb2JRf.js.map +1 -0
  144. package/dist/internal/model-view-CBeeMM98.js +119 -0
  145. package/dist/internal/model-view-CBeeMM98.js.map +1 -0
  146. package/dist/internal/object3d-helper-DDYsVPN6.js +7 -0
  147. package/dist/internal/object3d-helper-DDYsVPN6.js.map +1 -0
  148. package/dist/internal/pano-compass-jSr629BP.js +193 -0
  149. package/dist/internal/pano-compass-jSr629BP.js.map +1 -0
  150. package/dist/internal/pano-cursor-raycaster-DydRx7wS.js +66 -0
  151. package/dist/internal/pano-cursor-raycaster-DydRx7wS.js.map +1 -0
  152. package/dist/internal/pano-door-label-DKoYIKLa.js +258 -0
  153. package/dist/internal/pano-door-label-DKoYIKLa.js.map +1 -0
  154. package/dist/internal/pano-measure-DW9mdx1O.js +2488 -0
  155. package/dist/internal/pano-measure-DW9mdx1O.js.map +1 -0
  156. package/dist/internal/pano-ruler-fzlUTkVu.js +236 -0
  157. package/dist/internal/pano-ruler-fzlUTkVu.js.map +1 -0
  158. package/dist/internal/pano-ruler-pro-D7q0Ob21.js +221 -0
  159. package/dist/internal/pano-ruler-pro-D7q0Ob21.js.map +1 -0
  160. package/dist/internal/pano-spatial-tag-D0qn-__S.js +392 -0
  161. package/dist/internal/pano-spatial-tag-D0qn-__S.js.map +1 -0
  162. package/dist/internal/pano-tag-BW5MXXws.js +7 -0
  163. package/dist/internal/pano-tag-BW5MXXws.js.map +1 -0
  164. package/dist/internal/pano-video-Bmud_CAn.js +365 -0
  165. package/dist/internal/pano-video-Bmud_CAn.js.map +1 -0
  166. package/dist/internal/pipeline-DDqgb1gw.js +386 -0
  167. package/dist/internal/pipeline-DDqgb1gw.js.map +1 -0
  168. package/dist/internal/planimetry-us3E4V8W.js +55 -0
  169. package/dist/internal/planimetry-us3E4V8W.js.map +1 -0
  170. package/dist/internal/rad2Deg-DutG55Wb.js +8 -0
  171. package/dist/internal/rad2Deg-DutG55Wb.js.map +1 -0
  172. package/dist/internal/rayOnLine-CrCXTByv.js +18 -0
  173. package/dist/internal/rayOnLine-CrCXTByv.js.map +1 -0
  174. package/dist/internal/recurveFindObject-1BZIH2bj.js +8 -0
  175. package/dist/internal/recurveFindObject-1BZIH2bj.js.map +1 -0
  176. package/dist/internal/resizeObserver-AY-35us4.js +32 -0
  177. package/dist/internal/resizeObserver-AY-35us4.js.map +1 -0
  178. package/dist/internal/resizeObserver-CHD4N_hp.js +14 -0
  179. package/dist/internal/resizeObserver-CHD4N_hp.js.map +1 -0
  180. package/dist/internal/rolldown-runtime-B0aSnxlc.js +20 -0
  181. package/dist/internal/safeObj-ic96Cf8D.js +51 -0
  182. package/dist/internal/safeObj-ic96Cf8D.js.map +1 -0
  183. package/dist/internal/sculpt-BNkLJR6p.js +879 -0
  184. package/dist/internal/sculpt-BNkLJR6p.js.map +1 -0
  185. package/dist/internal/sleep-1GNCncUi.js +12 -0
  186. package/dist/internal/sleep-1GNCncUi.js.map +1 -0
  187. package/dist/internal/throttle-YRIkRKaX.js +13 -0
  188. package/dist/internal/throttle-YRIkRKaX.js.map +1 -0
  189. package/dist/internal/transformPosition-Cc92Wf0o.js +11 -0
  190. package/dist/internal/transformPosition-Cc92Wf0o.js.map +1 -0
  191. package/dist/internal/transition-VqMiMmZR.js +49 -0
  192. package/dist/internal/transition-VqMiMmZR.js.map +1 -0
  193. package/dist/internal/tween.esm-CJDtohfp.js +378 -0
  194. package/dist/internal/tween.esm-CJDtohfp.js.map +1 -0
  195. package/dist/internal/util-vGeVT4oo.js +26 -0
  196. package/dist/internal/util-vGeVT4oo.js.map +1 -0
  197. package/dist/internal/uuid-BfVaI9vM.js +11 -0
  198. package/dist/internal/uuid-BfVaI9vM.js.map +1 -0
  199. package/dist/internal/vectorIsEqual-BXdJrP0J.js +9 -0
  200. package/dist/internal/vectorIsEqual-BXdJrP0J.js.map +1 -0
  201. package/dist/internal/vectorToCoordinate-DIOgfeEi.js +12 -0
  202. package/dist/internal/vectorToCoordinate-DIOgfeEi.js.map +1 -0
  203. package/dist/plugins/area-maker.d.ts +2 -0
  204. package/dist/plugins/area-maker.js +1 -0
  205. package/dist/plugins/camera-movement.d.ts +2 -0
  206. package/dist/plugins/camera-movement.js +1 -0
  207. package/dist/plugins/cruise.d.ts +2 -0
  208. package/dist/plugins/cruise.js +3 -0
  209. package/dist/plugins/css3d-render.d.ts +2 -0
  210. package/dist/plugins/css3d-render.js +1 -0
  211. package/dist/plugins/current-pano-image.d.ts +2 -0
  212. package/dist/plugins/current-pano-image.js +1 -0
  213. package/dist/plugins/digital-performance-v2.d.ts +2 -0
  214. package/dist/plugins/digital-performance-v2.js +1 -0
  215. package/dist/plugins/digital-performance.d.ts +2 -0
  216. package/dist/plugins/digital-performance.js +3 -0
  217. package/dist/plugins/fire-scene.d.ts +2 -0
  218. package/dist/plugins/fire-scene.js +1 -0
  219. package/dist/plugins/guide-line.d.ts +2 -0
  220. package/dist/plugins/guide-line.js +1 -0
  221. package/dist/plugins/item-label.d.ts +2 -0
  222. package/dist/plugins/item-label.js +1 -0
  223. package/dist/plugins/measure.d.ts +2 -0
  224. package/dist/plugins/measure.js +1 -0
  225. package/dist/plugins/model-chassis-compass.d.ts +2 -0
  226. package/dist/plugins/model-chassis-compass.js +1 -0
  227. package/dist/plugins/model-entry-door-guide.d.ts +2 -0
  228. package/dist/plugins/model-entry-door-guide.js +1 -0
  229. package/dist/plugins/model-item-label.d.ts +2 -0
  230. package/dist/plugins/model-item-label.js +1 -0
  231. package/dist/plugins/model-maker.d.ts +2 -0
  232. package/dist/plugins/model-maker.js +1 -0
  233. package/dist/plugins/model-room-label.d.ts +2 -0
  234. package/dist/plugins/model-room-label.js +1 -0
  235. package/dist/plugins/model-tv-video.d.ts +2 -0
  236. package/dist/plugins/model-tv-video.js +1 -0
  237. package/dist/plugins/model-view.d.ts +2 -0
  238. package/dist/plugins/model-view.js +1 -0
  239. package/dist/plugins/object3d-helper.d.ts +2 -0
  240. package/dist/plugins/object3d-helper.js +1 -0
  241. package/dist/plugins/pano-compass.d.ts +2 -0
  242. package/dist/plugins/pano-compass.js +1 -0
  243. package/dist/plugins/pano-cursor-raycaster.d.ts +2 -0
  244. package/dist/plugins/pano-cursor-raycaster.js +1 -0
  245. package/dist/plugins/pano-door-label.d.ts +2 -0
  246. package/dist/plugins/pano-door-label.js +1 -0
  247. package/dist/plugins/pano-measure.d.ts +2 -0
  248. package/dist/plugins/pano-measure.js +1 -0
  249. package/dist/plugins/pano-ruler-pro.d.ts +2 -0
  250. package/dist/plugins/pano-ruler-pro.js +1 -0
  251. package/dist/plugins/pano-ruler.d.ts +2 -0
  252. package/dist/plugins/pano-ruler.js +1 -0
  253. package/dist/plugins/pano-spatial-tag.d.ts +2 -0
  254. package/dist/plugins/pano-spatial-tag.js +1 -0
  255. package/dist/plugins/pano-tag.d.ts +2 -0
  256. package/dist/plugins/pano-tag.js +1 -0
  257. package/dist/plugins/pano-video.d.ts +2 -0
  258. package/dist/plugins/pano-video.js +1 -0
  259. package/dist/plugins/pipeline.d.ts +2 -0
  260. package/dist/plugins/pipeline.js +1 -0
  261. package/dist/plugins/sculpt.d.ts +2 -0
  262. package/dist/plugins/sculpt.js +1 -0
  263. package/dist/style.css +2 -0
  264. package/dist/types/AreaMakerPlugin/Controller.d.ts +97 -0
  265. package/dist/types/AreaMakerPlugin/index.d.ts +4 -0
  266. package/dist/types/AreaMakerPlugin/typing.d.ts +167 -0
  267. package/dist/types/AreaMakerPlugin/utils/Item.d.ts +137 -0
  268. package/dist/types/CSS3DRenderPlugin/Controller.d.ts +84 -0
  269. package/dist/types/CSS3DRenderPlugin/index.d.ts +6 -0
  270. package/dist/types/CSS3DRenderPlugin/typing.d.ts +26 -0
  271. package/dist/types/CSS3DRenderPlugin/utils/generateBehindFiveElement.d.ts +3 -0
  272. package/dist/types/CSS3DRenderPlugin/utils/getAllCSS3DObject.d.ts +3 -0
  273. package/dist/types/CSS3DRenderPlugin/utils/index.d.ts +4 -0
  274. package/dist/types/CSS3DRenderPlugin/utils/positionToVector3.d.ts +1 -0
  275. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DGroup.d.ts +21 -0
  276. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DObject.d.ts +54 -0
  277. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DRender.d.ts +184 -0
  278. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DRenderer.d.ts +1 -0
  279. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DScene.d.ts +12 -0
  280. package/dist/types/CSS3DRenderPlugin/utils/three/CSS3DSprite.d.ts +5 -0
  281. package/dist/types/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  282. package/dist/types/CameraMovementPlugin/index.d.ts +5 -0
  283. package/dist/types/CameraMovementPlugin/typing.d.ts +70 -0
  284. package/dist/types/CruisePlugin/BaseController.d.ts +165 -0
  285. package/dist/types/CruisePlugin/Move.d.ts +56 -0
  286. package/dist/types/CruisePlugin/Work.d.ts +135 -0
  287. package/dist/types/CruisePlugin/index.d.ts +11 -0
  288. package/dist/types/CruisePlugin/typing.d.ts +159 -0
  289. package/dist/types/CruisePlugin/utils/coordinatesToVector.d.ts +7 -0
  290. package/dist/types/CruisePlugin/utils/getFiveStateOnCurve.d.ts +11 -0
  291. package/dist/types/CurrentPanoImagePlugin/Controller.d.ts +104 -0
  292. package/dist/types/CurrentPanoImagePlugin/index.d.ts +7 -0
  293. package/dist/types/CurrentPanoImagePlugin/typings.d.ts +58 -0
  294. package/dist/types/DigitalPerformancePlugin/controller/index.d.ts +227 -0
  295. package/dist/types/DigitalPerformancePlugin/core/DigitalHuman.d.ts +98 -0
  296. package/dist/types/DigitalPerformancePlugin/core/DigitalPerformanceNameplate.d.ts +115 -0
  297. package/dist/types/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +52 -0
  298. package/dist/types/DigitalPerformancePlugin/core/DigitalStateMachine.d.ts +152 -0
  299. package/dist/types/DigitalPerformancePlugin/core/Trace.d.ts +9 -0
  300. package/dist/types/DigitalPerformancePlugin/index.d.ts +17 -0
  301. package/dist/types/DigitalPerformancePlugin/typings/index.d.ts +87 -0
  302. package/dist/types/DigitalPerformanceV2Plugin/controller/index.d.ts +402 -0
  303. package/dist/types/DigitalPerformanceV2Plugin/core/CameraDirector.d.ts +61 -0
  304. package/dist/types/DigitalPerformanceV2Plugin/core/CameraSampler.d.ts +53 -0
  305. package/dist/types/DigitalPerformanceV2Plugin/core/CameraTrack.d.ts +21 -0
  306. package/dist/types/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.d.ts +39 -0
  307. package/dist/types/DigitalPerformanceV2Plugin/core/PerformanceClock.d.ts +55 -0
  308. package/dist/types/DigitalPerformanceV2Plugin/core/Playground.d.ts +111 -0
  309. package/dist/types/DigitalPerformanceV2Plugin/core/shared.d.ts +5 -0
  310. package/dist/types/DigitalPerformanceV2Plugin/index.d.ts +11 -0
  311. package/dist/types/DigitalPerformanceV2Plugin/typings/index.d.ts +132 -0
  312. package/dist/types/FireScenePlugin/FireControl.d.ts +154 -0
  313. package/dist/types/FireScenePlugin/SequencePlayer.d.ts +41 -0
  314. package/dist/types/FireScenePlugin/constants.d.ts +28 -0
  315. package/dist/types/FireScenePlugin/fire/config.d.ts +10 -0
  316. package/dist/types/FireScenePlugin/fire/index.d.ts +6 -0
  317. package/dist/types/FireScenePlugin/fire/managers/FireManager.d.ts +76 -0
  318. package/dist/types/FireScenePlugin/fire/type.d.ts +51 -0
  319. package/dist/types/FireScenePlugin/index.d.ts +6 -0
  320. package/dist/types/FireScenePlugin/smoke/config.d.ts +8 -0
  321. package/dist/types/FireScenePlugin/smoke/index.d.ts +1 -0
  322. package/dist/types/FireScenePlugin/smoke/managers/NormalSmokeManager.d.ts +49 -0
  323. package/dist/types/FireScenePlugin/smoke/managers/SmokeManager.d.ts +89 -0
  324. package/dist/types/FireScenePlugin/utils/areaBounds.d.ts +14 -0
  325. package/dist/types/FireScenePlugin/utils/particle.d.ts +5 -0
  326. package/dist/types/FireScenePlugin/utils/particleTexture.d.ts +21 -0
  327. package/dist/types/FireScenePlugin/utils/radialSpread.d.ts +54 -0
  328. package/dist/types/FireScenePlugin/utils/spread.d.ts +17 -0
  329. package/dist/types/GuideLinePlugin/Components/Tag.svelte.d.ts +1 -0
  330. package/dist/types/GuideLinePlugin/Controller.d.ts +100 -0
  331. package/dist/types/GuideLinePlugin/GuideLineItem.d.ts +36 -0
  332. package/dist/types/GuideLinePlugin/GuideLineModeItem.d.ts +152 -0
  333. package/dist/types/GuideLinePlugin/index.d.ts +10 -0
  334. package/dist/types/GuideLinePlugin/typing.d.ts +199 -0
  335. package/dist/types/GuideLinePlugin/utils/GuideLineMaterial.d.ts +17 -0
  336. package/dist/types/GuideLinePlugin/utils/createLineGeometry.d.ts +36 -0
  337. package/dist/types/GuideLinePlugin/utils/createPath.d.ts +3 -0
  338. package/dist/types/GuideLinePlugin/utils/dataFormatter.d.ts +2 -0
  339. package/dist/types/GuideLinePlugin/utils/getArrowMaterial.d.ts +4 -0
  340. package/dist/types/GuideLinePlugin/utils/getPoint.d.ts +3 -0
  341. package/dist/types/GuideLinePlugin/utils/polyline-normals.d.ts +3 -0
  342. package/dist/types/ItemLabelPlugin/ItemLabelComponent.svelte.d.ts +1 -0
  343. package/dist/types/ItemLabelPlugin/ItemLabelItem.svelte.d.ts +1 -0
  344. package/dist/types/ItemLabelPlugin/Plugin.d.ts +4 -0
  345. package/dist/types/ItemLabelPlugin/events.type.d.ts +9 -0
  346. package/dist/types/ItemLabelPlugin/index.d.ts +9 -0
  347. package/dist/types/ItemLabelPlugin/typings.d.ts +65 -0
  348. package/dist/types/ItemLabelPlugin/utils/getStrokeLength.d.ts +2 -0
  349. package/dist/types/ItemLabelPlugin/utils/isImpacted.d.ts +6 -0
  350. package/dist/types/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  351. package/dist/types/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  352. package/dist/types/MeasurePlugin/Controller.d.ts +167 -0
  353. package/dist/types/MeasurePlugin/index.d.ts +17 -0
  354. package/dist/types/MeasurePlugin/utils/MeasureMesh.d.ts +29 -0
  355. package/dist/types/MeasurePlugin/utils/validatePolygon.d.ts +2 -0
  356. package/dist/types/ModelChassisCompassPlugin/Plugin.d.ts +20 -0
  357. package/dist/types/ModelChassisCompassPlugin/index.d.ts +4 -0
  358. package/dist/types/ModelEntryDoorGuidePlugin/Plugin.d.ts +28 -0
  359. package/dist/types/ModelEntryDoorGuidePlugin/index.d.ts +4 -0
  360. package/dist/types/ModelItemLabelPlugin/ItemLabelComponent.svelte.d.ts +1 -0
  361. package/dist/types/ModelItemLabelPlugin/ItemLabelItem.svelte.d.ts +1 -0
  362. package/dist/types/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  363. package/dist/types/ModelItemLabelPlugin/events.type.d.ts +9 -0
  364. package/dist/types/ModelItemLabelPlugin/index.d.ts +9 -0
  365. package/dist/types/ModelItemLabelPlugin/typings.d.ts +56 -0
  366. package/dist/types/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  367. package/dist/types/ModelMakerPlugin/Controller.d.ts +205 -0
  368. package/dist/types/ModelMakerPlugin/index.d.ts +8 -0
  369. package/dist/types/ModelMakerPlugin/item/baseItem.d.ts +65 -0
  370. package/dist/types/ModelMakerPlugin/item/boxItem.d.ts +20 -0
  371. package/dist/types/ModelMakerPlugin/item/polygonItem.d.ts +19 -0
  372. package/dist/types/ModelMakerPlugin/item/prismItem.d.ts +18 -0
  373. package/dist/types/ModelMakerPlugin/rendering/EncodedLineMaterial.d.ts +6 -0
  374. package/dist/types/ModelMakerPlugin/rendering/SavedAnnotationColor.d.ts +50 -0
  375. package/dist/types/ModelMakerPlugin/rendering/hdrContribution.d.ts +19 -0
  376. package/dist/types/ModelMakerPlugin/typings/config.d.ts +26 -0
  377. package/dist/types/ModelMakerPlugin/typings/index.d.ts +53 -0
  378. package/dist/types/ModelMakerPlugin/utils/ModelMakerPolygonMesh.d.ts +10 -0
  379. package/dist/types/ModelMakerPlugin/utils/ModelMakerPrismMesh.d.ts +6 -0
  380. package/dist/types/ModelMakerPlugin/utils/Text.svelte.d.ts +1 -0
  381. package/dist/types/ModelMakerPlugin/utils/getTagOcclusionObjects.d.ts +4 -0
  382. package/dist/types/ModelMakerPlugin/utils/setModelSortBounds.d.ts +3 -0
  383. package/dist/types/ModelMakerPlugin/utils/tagRenderer.d.ts +3 -0
  384. package/dist/types/ModelRoomLabelPlugin/Controller.d.ts +40 -0
  385. package/dist/types/ModelRoomLabelPlugin/RoomLabelItem.svelte.d.ts +1 -0
  386. package/dist/types/ModelRoomLabelPlugin/RoomLabelItems.svelte.d.ts +1 -0
  387. package/dist/types/ModelRoomLabelPlugin/index.d.ts +12 -0
  388. package/dist/types/ModelRoomLabelPlugin/utils/parseData.d.ts +3 -0
  389. package/dist/types/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  390. package/dist/types/ModelTVVideoPlugin/index.d.ts +5 -0
  391. package/dist/types/ModelTVVideoPlugin/typings.d.ts +27 -0
  392. package/dist/types/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  393. package/dist/types/ModelViewPlugin/Plugin.d.ts +43 -0
  394. package/dist/types/ModelViewPlugin/index.d.ts +4 -0
  395. package/dist/types/Object3DHelperPlugin/Controller.d.ts +153 -0
  396. package/dist/types/Object3DHelperPlugin/FiveControllerWrapper.d.ts +20 -0
  397. package/dist/types/Object3DHelperPlugin/index.d.ts +7 -0
  398. package/dist/types/PanoCompassPlugin/Controller.d.ts +88 -0
  399. package/dist/types/PanoCompassPlugin/getRoomInfoInstance.d.ts +8 -0
  400. package/dist/types/PanoCompassPlugin/index.d.ts +7 -0
  401. package/dist/types/PanoCompassPlugin/typings.d.ts +58 -0
  402. package/dist/types/PanoCursorRaycasterPlugin/index.d.ts +49 -0
  403. package/dist/types/PanoDoorLabelPlugin/Controller.d.ts +45 -0
  404. package/dist/types/PanoDoorLabelPlugin/DoorLabelItem.svelte.d.ts +1 -0
  405. package/dist/types/PanoDoorLabelPlugin/index.d.ts +7 -0
  406. package/dist/types/PanoDoorLabelPlugin/typings.d.ts +38 -0
  407. package/dist/types/PanoDoorLabelPlugin/utils.d.ts +5 -0
  408. package/dist/types/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +1 -0
  409. package/dist/types/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +1 -0
  410. package/dist/types/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +1 -0
  411. package/dist/types/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +1 -0
  412. package/dist/types/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +1 -0
  413. package/dist/types/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +1 -0
  414. package/dist/types/PanoMeasurePlugin/Components/Tip.svelte.d.ts +1 -0
  415. package/dist/types/PanoMeasurePlugin/Controller/BaseController.d.ts +55 -0
  416. package/dist/types/PanoMeasurePlugin/Controller/EditController.d.ts +57 -0
  417. package/dist/types/PanoMeasurePlugin/Controller/MixedController.d.ts +37 -0
  418. package/dist/types/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +12 -0
  419. package/dist/types/PanoMeasurePlugin/Controller/ViewController.d.ts +12 -0
  420. package/dist/types/PanoMeasurePlugin/Controller/WatchController.d.ts +34 -0
  421. package/dist/types/PanoMeasurePlugin/Controller/index.d.ts +104 -0
  422. package/dist/types/PanoMeasurePlugin/Model/area.d.ts +75 -0
  423. package/dist/types/PanoMeasurePlugin/Model/index.d.ts +45 -0
  424. package/dist/types/PanoMeasurePlugin/Model/line.d.ts +39 -0
  425. package/dist/types/PanoMeasurePlugin/Model/point.d.ts +10 -0
  426. package/dist/types/PanoMeasurePlugin/Model/polygon.d.ts +14 -0
  427. package/dist/types/PanoMeasurePlugin/Model/polyline.d.ts +47 -0
  428. package/dist/types/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +30 -0
  429. package/dist/types/PanoMeasurePlugin/Modules/GuideController.d.ts +26 -0
  430. package/dist/types/PanoMeasurePlugin/Modules/Magnifier.d.ts +19 -0
  431. package/dist/types/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +2 -0
  432. package/dist/types/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +19 -0
  433. package/dist/types/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +12 -0
  434. package/dist/types/PanoMeasurePlugin/Modules/UIController/index.d.ts +34 -0
  435. package/dist/types/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +4 -0
  436. package/dist/types/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.d.ts +15 -0
  437. package/dist/types/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  438. package/dist/types/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +42 -0
  439. package/dist/types/PanoMeasurePlugin/index.d.ts +14 -0
  440. package/dist/types/PanoMeasurePlugin/typings/data.d.ts +58 -0
  441. package/dist/types/PanoMeasurePlugin/typings/event.type.d.ts +55 -0
  442. package/dist/types/PanoMeasurePlugin/typings/index.d.ts +15 -0
  443. package/dist/types/PanoMeasurePlugin/utils/clearGroup.d.ts +2 -0
  444. package/dist/types/PanoMeasurePlugin/utils/constants.d.ts +5 -0
  445. package/dist/types/PanoMeasurePlugin/utils/dom/areaDom.d.ts +21 -0
  446. package/dist/types/PanoMeasurePlugin/utils/dom/base.d.ts +29 -0
  447. package/dist/types/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +33 -0
  448. package/dist/types/PanoMeasurePlugin/utils/findClosestPoint.d.ts +10 -0
  449. package/dist/types/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +3 -0
  450. package/dist/types/PanoMeasurePlugin/utils/line.d.ts +17 -0
  451. package/dist/types/PanoMeasurePlugin/utils/math.d.ts +17 -0
  452. package/dist/types/PanoMeasurePlugin/utils/mouseGroup.d.ts +7 -0
  453. package/dist/types/PanoMeasurePlugin/utils/ndc2Screen.d.ts +5 -0
  454. package/dist/types/PanoRulerPlugin/Plugin.d.ts +34 -0
  455. package/dist/types/PanoRulerPlugin/index.d.ts +5 -0
  456. package/dist/types/PanoRulerProPlugin/Controller.d.ts +17 -0
  457. package/dist/types/PanoRulerProPlugin/RulerItem.svelte.d.ts +1 -0
  458. package/dist/types/PanoRulerProPlugin/RulerItems.svelte.d.ts +1 -0
  459. package/dist/types/PanoRulerProPlugin/index.d.ts +8 -0
  460. package/dist/types/PanoSpatialTagPlugin/Components/origins.svelte.d.ts +1 -0
  461. package/dist/types/PanoSpatialTagPlugin/Components/tag.svelte.d.ts +1 -0
  462. package/dist/types/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  463. package/dist/types/PanoSpatialTagPlugin/index.d.ts +5 -0
  464. package/dist/types/PanoSpatialTagPlugin/store.d.ts +1 -0
  465. package/dist/types/PanoSpatialTagPlugin/typings.d.ts +40 -0
  466. package/dist/types/PanoTagPlugin/Components/Common/Arrow.svelte.d.ts +1 -0
  467. package/dist/types/PanoTagPlugin/Components/Common/Audio.svelte.d.ts +1 -0
  468. package/dist/types/PanoTagPlugin/Components/Common/AudioPlayer.svelte.d.ts +1 -0
  469. package/dist/types/PanoTagPlugin/Components/Common/Carousel.svelte.d.ts +1 -0
  470. package/dist/types/PanoTagPlugin/Components/Common/Icon/Icon.svelte.d.ts +1 -0
  471. package/dist/types/PanoTagPlugin/Components/Common/Icon/PanoramaIcon.svelte.d.ts +1 -0
  472. package/dist/types/PanoTagPlugin/Components/Common/Icon/animationUtils.d.ts +9 -0
  473. package/dist/types/PanoTagPlugin/Components/Common/Icon/audioIcon.svelte.d.ts +1 -0
  474. package/dist/types/PanoTagPlugin/Components/Common/Line/Polyline.svelte.d.ts +1 -0
  475. package/dist/types/PanoTagPlugin/Components/Common/Line/Straight.svelte.d.ts +1 -0
  476. package/dist/types/PanoTagPlugin/Components/Common/Media.svelte.d.ts +1 -0
  477. package/dist/types/PanoTagPlugin/Components/Common/MediaItem.svelte.d.ts +1 -0
  478. package/dist/types/PanoTagPlugin/Components/Common/Shadow.svelte.d.ts +1 -0
  479. package/dist/types/PanoTagPlugin/Components/Common/TagPoint.svelte.d.ts +1 -0
  480. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/ArrowRightIcon.svelte.d.ts +1 -0
  481. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/PanoramaIcon.svelte.d.ts +1 -0
  482. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.svelte.d.ts +1 -0
  483. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/ShareIcon.svelte.d.ts +1 -0
  484. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/TagPopoverArrow.svelte.d.ts +1 -0
  485. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.svelte.d.ts +1 -0
  486. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/TagPopup.svelte.d.ts +1 -0
  487. package/dist/types/PanoTagPlugin/Components/Common/TagPopover/index.svelte.d.ts +1 -0
  488. package/dist/types/PanoTagPlugin/Components/Common/Text/FlyMText.svelte.d.ts +1 -0
  489. package/dist/types/PanoTagPlugin/Components/Common/Text/FlyText.svelte.d.ts +1 -0
  490. package/dist/types/PanoTagPlugin/Components/Common/Text/MText.svelte.d.ts +1 -0
  491. package/dist/types/PanoTagPlugin/Components/Common/VideoIcon.svelte.d.ts +1 -0
  492. package/dist/types/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.svelte.d.ts +1 -0
  493. package/dist/types/PanoTagPlugin/Components/Tag/AudioTag/AudioPoint.svelte.d.ts +1 -0
  494. package/dist/types/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.svelte.d.ts +1 -0
  495. package/dist/types/PanoTagPlugin/Components/Tag/AudioTag/index.svelte.d.ts +1 -0
  496. package/dist/types/PanoTagPlugin/Components/Tag/CustomTag.svelte.d.ts +1 -0
  497. package/dist/types/PanoTagPlugin/Components/Tag/ImageTextTag.svelte.d.ts +1 -0
  498. package/dist/types/PanoTagPlugin/Components/Tag/LinkTag.svelte.d.ts +1 -0
  499. package/dist/types/PanoTagPlugin/Components/Tag/MarketingTag.svelte.d.ts +1 -0
  500. package/dist/types/PanoTagPlugin/Components/Tag/MediaPlane.svelte.d.ts +1 -0
  501. package/dist/types/PanoTagPlugin/Components/Tag/PanoramaTag.svelte.d.ts +1 -0
  502. package/dist/types/PanoTagPlugin/Components/Tag/TextTag/TextPlaneTag.svelte.d.ts +1 -0
  503. package/dist/types/PanoTagPlugin/Components/Tag/TextTag/TextTag.svelte.d.ts +1 -0
  504. package/dist/types/PanoTagPlugin/Components/Tag/TextTag/index.svelte.d.ts +1 -0
  505. package/dist/types/PanoTagPlugin/Components/Tag/index.svelte.d.ts +1 -0
  506. package/dist/types/PanoTagPlugin/Components/TagContainer.svelte.d.ts +1 -0
  507. package/dist/types/PanoTagPlugin/Components/TagItem.svelte.d.ts +1 -0
  508. package/dist/types/PanoTagPlugin/controller/Tag/BaseTag.d.ts +270 -0
  509. package/dist/types/PanoTagPlugin/controller/Tag/BoxTag.d.ts +118 -0
  510. package/dist/types/PanoTagPlugin/controller/Tag/MaskTag.d.ts +246 -0
  511. package/dist/types/PanoTagPlugin/controller/Tag/ModelTag.d.ts +15 -0
  512. package/dist/types/PanoTagPlugin/controller/Tag/PlaneTag.d.ts +53 -0
  513. package/dist/types/PanoTagPlugin/controller/Tag/PointTag.d.ts +47 -0
  514. package/dist/types/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +111 -0
  515. package/dist/types/PanoTagPlugin/controller/TagRender.d.ts +35 -0
  516. package/dist/types/PanoTagPlugin/controller/TagUtil.d.ts +94 -0
  517. package/dist/types/PanoTagPlugin/controller/index.d.ts +228 -0
  518. package/dist/types/PanoTagPlugin/index.d.ts +9 -0
  519. package/dist/types/PanoTagPlugin/tag.config.d.ts +7 -0
  520. package/dist/types/PanoTagPlugin/typings/controller.d.ts +112 -0
  521. package/dist/types/PanoTagPlugin/typings/index.d.ts +7 -0
  522. package/dist/types/PanoTagPlugin/typings/tag/Tag.d.ts +69 -0
  523. package/dist/types/PanoTagPlugin/typings/tag/TagConfig.d.ts +404 -0
  524. package/dist/types/PanoTagPlugin/typings/tag/TagData.d.ts +165 -0
  525. package/dist/types/PanoTagPlugin/typings/tag/TagInstance.d.ts +8 -0
  526. package/dist/types/PanoTagPlugin/typings/tag/Utils.d.ts +156 -0
  527. package/dist/types/PanoTagPlugin/utils/Cache.d.ts +17 -0
  528. package/dist/types/PanoTagPlugin/utils/DebugUtil.d.ts +12 -0
  529. package/dist/types/PanoTagPlugin/utils/addDebugPoints.d.ts +3 -0
  530. package/dist/types/PanoTagPlugin/utils/audio/SharedAudio.d.ts +32 -0
  531. package/dist/types/PanoTagPlugin/utils/debounce.d.ts +8 -0
  532. package/dist/types/PanoTagPlugin/utils/getImageInfo.d.ts +14 -0
  533. package/dist/types/PanoTagPlugin/utils/index.d.ts +10 -0
  534. package/dist/types/PanoTagPlugin/utils/model/MaskNodeMaterial.d.ts +19 -0
  535. package/dist/types/PanoTagPlugin/utils/model/TagMediaTextureCache.d.ts +20 -0
  536. package/dist/types/PanoTagPlugin/utils/model/mediaPlane.d.ts +117 -0
  537. package/dist/types/PanoTagPlugin/utils/normalPositionToPositions.d.ts +2 -0
  538. package/dist/types/PanoTagPlugin/utils/planeNormal.d.ts +4 -0
  539. package/dist/types/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +6 -0
  540. package/dist/types/PanoTagPlugin/utils/tag/adaptConfig.d.ts +2 -0
  541. package/dist/types/PanoTagPlugin/utils/tag/calculateTagConfig.d.ts +7 -0
  542. package/dist/types/PanoTagPlugin/utils/tag/canAutoPlayByOcclusion.d.ts +17 -0
  543. package/dist/types/PanoTagPlugin/utils/tag/format.d.ts +5 -0
  544. package/dist/types/PanoTagPlugin/utils/tag/getRaycasterStartPosition.d.ts +12 -0
  545. package/dist/types/PanoTagPlugin/utils/tag/tagCheck.d.ts +19 -0
  546. package/dist/types/PanoTagPlugin/utils/tagPosition.d.ts +12 -0
  547. package/dist/types/PanoVideoPlugin/Controller.d.ts +61 -0
  548. package/dist/types/PanoVideoPlugin/VideoMeshController.d.ts +132 -0
  549. package/dist/types/PanoVideoPlugin/index.d.ts +21 -0
  550. package/dist/types/PanoVideoPlugin/typings.d.ts +70 -0
  551. package/dist/types/PanoVideoPlugin/utils/index.d.ts +9 -0
  552. package/dist/types/PipelinePlugin/Controller.d.ts +108 -0
  553. package/dist/types/PipelinePlugin/index.d.ts +6 -0
  554. package/dist/types/PipelinePlugin/typing/index.d.ts +79 -0
  555. package/dist/types/PipelinePlugin/utils/Objects/FlowPipe.d.ts +33 -0
  556. package/dist/types/PipelinePlugin/utils/Objects/HighlightPipe.d.ts +10 -0
  557. package/dist/types/PipelinePlugin/utils/Objects/Pipe.d.ts +44 -0
  558. package/dist/types/PipelinePlugin/utils/formatData.d.ts +12 -0
  559. package/dist/types/Sculpt/Editors/BoxMeshEditor.d.ts +5 -0
  560. package/dist/types/Sculpt/Editors/CircleMeshEditor.d.ts +5 -0
  561. package/dist/types/Sculpt/Editors/CylinderMeshEditor.d.ts +5 -0
  562. package/dist/types/Sculpt/Editors/PrismMeshEditor.d.ts +5 -0
  563. package/dist/types/Sculpt/Editors/RectangleMeshEditor.d.ts +5 -0
  564. package/dist/types/Sculpt/Meshes/Area.d.ts +9 -0
  565. package/dist/types/Sculpt/Meshes/Box.d.ts +18 -0
  566. package/dist/types/Sculpt/Meshes/Circle.d.ts +24 -0
  567. package/dist/types/Sculpt/Meshes/CircleWithEdge.d.ts +11 -0
  568. package/dist/types/Sculpt/Meshes/Cylinder.d.ts +36 -0
  569. package/dist/types/Sculpt/Meshes/Line.d.ts +63 -0
  570. package/dist/types/Sculpt/Meshes/LineWithDots.d.ts +52 -0
  571. package/dist/types/Sculpt/Meshes/Point.d.ts +41 -0
  572. package/dist/types/Sculpt/Meshes/Polygon.d.ts +53 -0
  573. package/dist/types/Sculpt/Meshes/PolygonWithEdge.d.ts +33 -0
  574. package/dist/types/Sculpt/Meshes/Polyline.d.ts +47 -0
  575. package/dist/types/Sculpt/Meshes/Prism.d.ts +95 -0
  576. package/dist/types/Sculpt/Meshes/Rectangle.d.ts +19 -0
  577. package/dist/types/Sculpt/Meshes/RectangleWithEdge.d.ts +29 -0
  578. package/dist/types/Sculpt/Objects/Base/Editor.d.ts +55 -0
  579. package/dist/types/Sculpt/Objects/Base/index.d.ts +128 -0
  580. package/dist/types/Sculpt/Objects/Box/index.d.ts +49 -0
  581. package/dist/types/Sculpt/Objects/Circle/index.d.ts +33 -0
  582. package/dist/types/Sculpt/Objects/Cylinder/index.d.ts +35 -0
  583. package/dist/types/Sculpt/Objects/Line/Editor.d.ts +22 -0
  584. package/dist/types/Sculpt/Objects/Line/index.d.ts +49 -0
  585. package/dist/types/Sculpt/Objects/Point/Editor.d.ts +8 -0
  586. package/dist/types/Sculpt/Objects/Point/index.d.ts +40 -0
  587. package/dist/types/Sculpt/Objects/Polygon/Editor.d.ts +20 -0
  588. package/dist/types/Sculpt/Objects/Polygon/index.d.ts +81 -0
  589. package/dist/types/Sculpt/Objects/Polyline/Editor.d.ts +8 -0
  590. package/dist/types/Sculpt/Objects/Polyline/index.d.ts +48 -0
  591. package/dist/types/Sculpt/Objects/Prism/index.d.ts +58 -0
  592. package/dist/types/Sculpt/Objects/Rectangle/index.d.ts +49 -0
  593. package/dist/types/Sculpt/index.d.ts +233 -0
  594. package/dist/types/Sculpt/typings/index.d.ts +72 -0
  595. package/dist/types/Sculpt/typings/style.d.ts +108 -0
  596. package/dist/types/Sculpt/typings/utils.type.d.ts +18 -0
  597. package/dist/types/Sculpt/utils/Modules/Global.d.ts +23 -0
  598. package/dist/types/Sculpt/utils/data.d.ts +7 -0
  599. package/dist/types/Sculpt/utils/export.d.ts +25 -0
  600. package/dist/types/Sculpt/utils/removeAllTag.d.ts +2 -0
  601. package/dist/types/Sculpt/utils/renderDom.d.ts +19 -0
  602. package/dist/types/Sculpt/utils/sortPositionsByCameraPosition.d.ts +5 -0
  603. package/dist/types/Sculpt/utils/three/ColoredMesh.d.ts +33 -0
  604. package/dist/types/Sculpt/utils/three/RectangleGeometry.d.ts +6 -0
  605. package/dist/types/Sculpt/utils/three/rayOnLine.d.ts +12 -0
  606. package/dist/types/base/BasePlugin.d.ts +124 -0
  607. package/dist/types/base/BasePluginWithData.d.ts +21 -0
  608. package/dist/types/components/AreaLabel/LabelItem.svelte.d.ts +1 -0
  609. package/dist/types/components/PaintBrush/Controller.d.ts +45 -0
  610. package/dist/types/components/PaintBrush/index.d.ts +28 -0
  611. package/dist/types/components/PaintBrush/style.d.ts +2 -0
  612. package/dist/types/components/PaintBrush/typings.d.ts +59 -0
  613. package/dist/types/components/index.d.ts +3 -0
  614. package/dist/types/env.d.ts +1 -0
  615. package/dist/types/floorplan/Components/BaseImage.svelte.d.ts +1 -0
  616. package/dist/types/floorplan/Components/Camera.svelte.d.ts +1 -0
  617. package/dist/types/floorplan/Components/Compass.svelte.d.ts +1 -0
  618. package/dist/types/floorplan/Components/CurrentFloor.svelte.d.ts +1 -0
  619. package/dist/types/floorplan/Components/Items/Item.svelte.d.ts +1 -0
  620. package/dist/types/floorplan/Components/Items/Items.svelte.d.ts +1 -0
  621. package/dist/types/floorplan/Components/Main.svelte.d.ts +1 -0
  622. package/dist/types/floorplan/Components/MissingFloor.svelte.d.ts +1 -0
  623. package/dist/types/floorplan/Components/Normalmage.svelte.d.ts +1 -0
  624. package/dist/types/floorplan/Components/RoomHighlight/Room.svelte.d.ts +1 -0
  625. package/dist/types/floorplan/Components/RoomHighlight/RoomHighlight.svelte.d.ts +1 -0
  626. package/dist/types/floorplan/Components/RoomLabels/RoomLabel.svelte.d.ts +1 -0
  627. package/dist/types/floorplan/Components/RoomLabels/RoomLabels.svelte.d.ts +1 -0
  628. package/dist/types/floorplan/Components/RoomMaterials/RoomMaterial.svelte.d.ts +1 -0
  629. package/dist/types/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.d.ts +1 -0
  630. package/dist/types/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.d.ts +1 -0
  631. package/dist/types/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.d.ts +1 -0
  632. package/dist/types/floorplan/Components/RoomMaterials/RoomTriangle.svelte.d.ts +1 -0
  633. package/dist/types/floorplan/Components/RuleLabels/RuleItem.svelte.d.ts +1 -0
  634. package/dist/types/floorplan/Components/RuleLabels/RuleLabels.svelte.d.ts +1 -0
  635. package/dist/types/floorplan/Components/StyledImage.svelte.d.ts +1 -0
  636. package/dist/types/floorplan/Components/SvgImage.svelte.d.ts +1 -0
  637. package/dist/types/floorplan/FloorplanGuidePlugin/Components/Camera.svelte.d.ts +1 -0
  638. package/dist/types/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +1 -0
  639. package/dist/types/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +1 -0
  640. package/dist/types/floorplan/FloorplanGuidePlugin/Components/FloorplanCompass.svelte.d.ts +1 -0
  641. package/dist/types/floorplan/FloorplanGuidePlugin/Components/Main.svelte.d.ts +1 -0
  642. package/dist/types/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte.d.ts +1 -0
  643. package/dist/types/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte.d.ts +1 -0
  644. package/dist/types/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte.d.ts +1 -0
  645. package/dist/types/floorplan/FloorplanGuidePlugin/Controller.d.ts +52 -0
  646. package/dist/types/floorplan/FloorplanGuidePlugin/index.d.ts +7 -0
  647. package/dist/types/floorplan/FloorplanGuidePlugin/typing.d.ts +194 -0
  648. package/dist/types/floorplan/MapviewFloorplanPlugin/Controller.d.ts +125 -0
  649. package/dist/types/floorplan/MapviewFloorplanPlugin/index.d.ts +7 -0
  650. package/dist/types/floorplan/MapviewFloorplanPlugin/typing.d.ts +1 -0
  651. package/dist/types/floorplan/ModelFloorplanPlugin/Controller.d.ts +117 -0
  652. package/dist/types/floorplan/ModelFloorplanPlugin/index.d.ts +7 -0
  653. package/dist/types/floorplan/ModelFloorplanPlugin/typing.d.ts +1 -0
  654. package/dist/types/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.d.ts +1 -0
  655. package/dist/types/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +1 -0
  656. package/dist/types/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +1 -0
  657. package/dist/types/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.d.ts +1 -0
  658. package/dist/types/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +40 -0
  659. package/dist/types/floorplan/PanoFloorplanRadarPlugin/index.d.ts +7 -0
  660. package/dist/types/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +69 -0
  661. package/dist/types/floorplan/TopviewFloorplanPlugin/Controller.d.ts +68 -0
  662. package/dist/types/floorplan/TopviewFloorplanPlugin/index.d.ts +7 -0
  663. package/dist/types/floorplan/TopviewFloorplanPlugin/typing.d.ts +11 -0
  664. package/dist/types/floorplan/index.d.ts +14 -0
  665. package/dist/types/floorplan/typings/floorplanData.d.ts +171 -0
  666. package/dist/types/floorplan/typings/index.d.ts +163 -0
  667. package/dist/types/floorplan/utils/correctFiveState.d.ts +18 -0
  668. package/dist/types/floorplan/utils/formatData.d.ts +5 -0
  669. package/dist/types/floorplan/utils/formatPosition.d.ts +36 -0
  670. package/dist/types/floorplan/utils/styledFloorplan.d.ts +2 -0
  671. package/dist/types/public/components.d.ts +2 -0
  672. package/dist/types/public/floorplan.d.ts +2 -0
  673. package/dist/types/public/index.d.ts +91 -0
  674. package/dist/types/public/plugins/area-maker.d.ts +4 -0
  675. package/dist/types/public/plugins/camera-movement.d.ts +4 -0
  676. package/dist/types/public/plugins/cruise.d.ts +8 -0
  677. package/dist/types/public/plugins/css3d-render.d.ts +5 -0
  678. package/dist/types/public/plugins/current-pano-image.d.ts +4 -0
  679. package/dist/types/public/plugins/digital-performance-v2.d.ts +4 -0
  680. package/dist/types/public/plugins/digital-performance.d.ts +4 -0
  681. package/dist/types/public/plugins/fire-scene.d.ts +2 -0
  682. package/dist/types/public/plugins/guide-line.d.ts +7 -0
  683. package/dist/types/public/plugins/item-label.d.ts +4 -0
  684. package/dist/types/public/plugins/measure.d.ts +5 -0
  685. package/dist/types/public/plugins/model-chassis-compass.d.ts +4 -0
  686. package/dist/types/public/plugins/model-entry-door-guide.d.ts +4 -0
  687. package/dist/types/public/plugins/model-item-label.d.ts +4 -0
  688. package/dist/types/public/plugins/model-maker.d.ts +4 -0
  689. package/dist/types/public/plugins/model-room-label.d.ts +4 -0
  690. package/dist/types/public/plugins/model-tv-video.d.ts +4 -0
  691. package/dist/types/public/plugins/model-view.d.ts +4 -0
  692. package/dist/types/public/plugins/object3d-helper.d.ts +4 -0
  693. package/dist/types/public/plugins/pano-compass.d.ts +5 -0
  694. package/dist/types/public/plugins/pano-cursor-raycaster.d.ts +4 -0
  695. package/dist/types/public/plugins/pano-door-label.d.ts +4 -0
  696. package/dist/types/public/plugins/pano-measure.d.ts +4 -0
  697. package/dist/types/public/plugins/pano-ruler-pro.d.ts +4 -0
  698. package/dist/types/public/plugins/pano-ruler.d.ts +4 -0
  699. package/dist/types/public/plugins/pano-spatial-tag.d.ts +4 -0
  700. package/dist/types/public/plugins/pano-tag.d.ts +4 -0
  701. package/dist/types/public/plugins/pano-video.d.ts +4 -0
  702. package/dist/types/public/plugins/pipeline.d.ts +4 -0
  703. package/dist/types/public/plugins/sculpt.d.ts +12 -0
  704. package/dist/types/public/utils.d.ts +29 -0
  705. package/dist/types/shared-utils/CSS3DRender/CSS3DObject.d.ts +39 -0
  706. package/dist/types/shared-utils/CSS3DRender/CSS3DRenderer.d.ts +17 -0
  707. package/dist/types/shared-utils/CSS3DRender/OpacityMesh.d.ts +6 -0
  708. package/dist/types/shared-utils/CSS3DRender/index.d.ts +15 -0
  709. package/dist/types/shared-utils/Object3DHelper/Base/BaseController.d.ts +142 -0
  710. package/dist/types/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +104 -0
  711. package/dist/types/shared-utils/Object3DHelper/Constants/color.d.ts +12 -0
  712. package/dist/types/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
  713. package/dist/types/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +7 -0
  714. package/dist/types/shared-utils/Object3DHelper/Controller/MoveController.d.ts +60 -0
  715. package/dist/types/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +45 -0
  716. package/dist/types/shared-utils/Object3DHelper/Controller/RotateController.d.ts +46 -0
  717. package/dist/types/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +66 -0
  718. package/dist/types/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.d.ts +16 -0
  719. package/dist/types/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts +43 -0
  720. package/dist/types/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.d.ts +11 -0
  721. package/dist/types/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +24 -0
  722. package/dist/types/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.d.ts +18 -0
  723. package/dist/types/shared-utils/Object3DHelper/Helper/Objects/CenterHandle.d.ts +23 -0
  724. package/dist/types/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +93 -0
  725. package/dist/types/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +65 -0
  726. package/dist/types/shared-utils/Object3DHelper/Helper/index.d.ts +6 -0
  727. package/dist/types/shared-utils/Object3DHelper/index.d.ts +51 -0
  728. package/dist/types/shared-utils/Object3DHelper/typings/Hooks.d.ts +63 -0
  729. package/dist/types/shared-utils/Object3DHelper/typings/index.d.ts +45 -0
  730. package/dist/types/shared-utils/Object3DHelper/utils/calculateScaleByCamera.d.ts +5 -0
  731. package/dist/types/shared-utils/Object3DHelper/utils/calculateThreeMouse.d.ts +14 -0
  732. package/dist/types/shared-utils/Object3DHelper/utils/cameraHooks.d.ts +3 -0
  733. package/dist/types/shared-utils/Object3DHelper/utils/direction.d.ts +14 -0
  734. package/dist/types/shared-utils/Object3DHelper/utils/filterNotColinearPoints.d.ts +2 -0
  735. package/dist/types/shared-utils/Object3DHelper/utils/finiteNumber.d.ts +1 -0
  736. package/dist/types/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +5 -0
  737. package/dist/types/shared-utils/Object3DHelper/utils/getOrthographicCameraDirection.d.ts +8 -0
  738. package/dist/types/shared-utils/Object3DHelper/utils/getPoint.d.ts +3 -0
  739. package/dist/types/shared-utils/Object3DHelper/utils/getPoseFromCamera.d.ts +8 -0
  740. package/dist/types/shared-utils/Object3DHelper/utils/index.d.ts +9 -0
  741. package/dist/types/shared-utils/Object3DHelper/utils/negateScale.d.ts +2 -0
  742. package/dist/types/shared-utils/Object3DHelper/utils/normalPositionToPositions.d.ts +5 -0
  743. package/dist/types/shared-utils/Object3DHelper/utils/setObjectQuaternion.d.ts +8 -0
  744. package/dist/types/shared-utils/Object3DHelper/utils/solidGuide.d.ts +27 -0
  745. package/dist/types/shared-utils/Preloader.d.ts +6 -0
  746. package/dist/types/shared-utils/Subscribe.d.ts +69 -0
  747. package/dist/types/shared-utils/Utils/BaseUtil.d.ts +6 -0
  748. package/dist/types/shared-utils/Utils/FiveUtil.d.ts +9 -0
  749. package/dist/types/shared-utils/Utils/WorkUtil.d.ts +36 -0
  750. package/dist/types/shared-utils/animationFrame/BetterTween.d.ts +12 -0
  751. package/dist/types/shared-utils/animationFrame/index.d.ts +9 -0
  752. package/dist/types/shared-utils/changeModelCanvasOpacity.d.ts +2 -0
  753. package/dist/types/shared-utils/createCanvasTextTexture.d.ts +8 -0
  754. package/dist/types/shared-utils/createLine/index.d.ts +3 -0
  755. package/dist/types/shared-utils/dom/mouse.d.ts +1 -0
  756. package/dist/types/shared-utils/five/FiveDomEvents.d.ts +130 -0
  757. package/dist/types/shared-utils/five/FiveLine.d.ts +14 -0
  758. package/dist/types/shared-utils/five/FivePuppet.d.ts +65 -0
  759. package/dist/types/shared-utils/five/calculateThreeMouse.d.ts +11 -0
  760. package/dist/types/shared-utils/five/changeMode.d.ts +3 -0
  761. package/dist/types/shared-utils/five/fiveEveryReadyListener.d.ts +2 -0
  762. package/dist/types/shared-utils/five/fiveLoaded.d.ts +2 -0
  763. package/dist/types/shared-utils/five/fiveModelLoad.d.ts +9 -0
  764. package/dist/types/shared-utils/five/getFiveFromParentChain.d.ts +4 -0
  765. package/dist/types/shared-utils/five/getFiveModel.d.ts +2 -0
  766. package/dist/types/shared-utils/five/getFloorIndex.d.ts +4 -0
  767. package/dist/types/shared-utils/five/getFloorMesh.d.ts +3 -0
  768. package/dist/types/shared-utils/five/getPosition.d.ts +24 -0
  769. package/dist/types/shared-utils/five/getRaycasterByNdcPosition.d.ts +6 -0
  770. package/dist/types/shared-utils/five/index.d.ts +13 -0
  771. package/dist/types/shared-utils/five/initialCSS3DRender.d.ts +1 -0
  772. package/dist/types/shared-utils/five/lookObject.d.ts +15 -0
  773. package/dist/types/shared-utils/five/lookPoint.d.ts +11 -0
  774. package/dist/types/shared-utils/five/mode.d.ts +3 -0
  775. package/dist/types/shared-utils/five/transformPosition.d.ts +2 -0
  776. package/dist/types/shared-utils/five/vector3ToScreen.d.ts +5 -0
  777. package/dist/types/shared-utils/fontSize.d.ts +185 -0
  778. package/dist/types/shared-utils/getIntersectionFromEvent.d.ts +4 -0
  779. package/dist/types/shared-utils/getPointFromHammerEvent.d.ts +10 -0
  780. package/dist/types/shared-utils/getPxmm.d.ts +19 -0
  781. package/dist/types/shared-utils/index.d.ts +13 -0
  782. package/dist/types/shared-utils/math/Rectangle.d.ts +27 -0
  783. package/dist/types/shared-utils/math/convexHull.d.ts +5 -0
  784. package/dist/types/shared-utils/math/evenNumber.d.ts +3 -0
  785. package/dist/types/shared-utils/math/index.d.ts +4 -0
  786. package/dist/types/shared-utils/math/planimetry.d.ts +116 -0
  787. package/dist/types/shared-utils/math/pointsIsRectangle.d.ts +2 -0
  788. package/dist/types/shared-utils/object3d2LocalMatrix.d.ts +12 -0
  789. package/dist/types/shared-utils/positionToVector3.d.ts +17 -0
  790. package/dist/types/shared-utils/removeArrayItem.d.ts +7 -0
  791. package/dist/types/shared-utils/rendering/Particle.d.ts +103 -0
  792. package/dist/types/shared-utils/rendering/StandaloneRenderer.d.ts +33 -0
  793. package/dist/types/shared-utils/svelte/component.svelte.d.ts +6 -0
  794. package/dist/types/shared-utils/svelte/resizeObserver.d.ts +4 -0
  795. package/dist/types/shared-utils/svelte/resizeObserverGlobal.d.ts +11 -0
  796. package/dist/types/shared-utils/tag.d.ts +100 -0
  797. package/dist/types/shared-utils/three/CSS3DRenderer/index.d.ts +22 -0
  798. package/dist/types/shared-utils/three/Extras/Core/Interpolations.d.ts +3 -0
  799. package/dist/types/shared-utils/three/Extras/Curves/BezierCurve3.d.ts +13 -0
  800. package/dist/types/shared-utils/three/FBXLoader/index.d.ts +1 -0
  801. package/dist/types/shared-utils/three/FragmentTransparencyMaterial.d.ts +4 -0
  802. package/dist/types/shared-utils/three/GLTFLoader.d.ts +9 -0
  803. package/dist/types/shared-utils/three/IObject3D.d.ts +11 -0
  804. package/dist/types/shared-utils/three/Magnifier.d.ts +80 -0
  805. package/dist/types/shared-utils/three/PointDomHelper.d.ts +18 -0
  806. package/dist/types/shared-utils/three/PointSelector/index.d.ts +174 -0
  807. package/dist/types/shared-utils/three/PointSelector/utils/PointHelper.d.ts +31 -0
  808. package/dist/types/shared-utils/three/PointSelector/utils/PointHelper2.d.ts +31 -0
  809. package/dist/types/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +73 -0
  810. package/dist/types/shared-utils/three/PointSelector/utils/html.d.ts +4 -0
  811. package/dist/types/shared-utils/three/PointSelector/utils/typing.d.ts +8 -0
  812. package/dist/types/shared-utils/three/PointSprite.d.ts +6 -0
  813. package/dist/types/shared-utils/three/Quadrangle.d.ts +20 -0
  814. package/dist/types/shared-utils/three/addIfNotExists.d.ts +2 -0
  815. package/dist/types/shared-utils/three/applyObjectMatrixWorld.d.ts +4 -0
  816. package/dist/types/shared-utils/three/blink.d.ts +26 -0
  817. package/dist/types/shared-utils/three/boundingBox.d.ts +25 -0
  818. package/dist/types/shared-utils/three/centerPoint.d.ts +2 -0
  819. package/dist/types/shared-utils/three/closeVectors.d.ts +2 -0
  820. package/dist/types/shared-utils/three/core/Line2.d.ts +8 -0
  821. package/dist/types/shared-utils/three/core/LineGeometry.d.ts +6 -0
  822. package/dist/types/shared-utils/three/core/LineMaterial.d.ts +17 -0
  823. package/dist/types/shared-utils/three/core/LineMaterial2.d.ts +5 -0
  824. package/dist/types/shared-utils/three/core/LineSegments.d.ts +7 -0
  825. package/dist/types/shared-utils/three/core/Object3D.d.ts +8 -0
  826. package/dist/types/shared-utils/three/core/PrismAnimationGeometry.d.ts +25 -0
  827. package/dist/types/shared-utils/three/core/PrismGeometry.d.ts +22 -0
  828. package/dist/types/shared-utils/three/core/Raycaster.d.ts +3 -0
  829. package/dist/types/shared-utils/three/core/Sphere.d.ts +4 -0
  830. package/dist/types/shared-utils/three/createIntersectionFace.d.ts +2 -0
  831. package/dist/types/shared-utils/three/disposeOwnedObject.d.ts +3 -0
  832. package/dist/types/shared-utils/three/earcut3D.d.ts +2 -0
  833. package/dist/types/shared-utils/three/filterVisibleIntersections.d.ts +3 -0
  834. package/dist/types/shared-utils/three/generatePolygonGeometry.d.ts +9 -0
  835. package/dist/types/shared-utils/three/geometryUtil.d.ts +15 -0
  836. package/dist/types/shared-utils/three/getCoords.d.ts +9 -0
  837. package/dist/types/shared-utils/three/getIntersect.d.ts +28 -0
  838. package/dist/types/shared-utils/three/getNormal.d.ts +5 -0
  839. package/dist/types/shared-utils/three/getObjectVisible.d.ts +5 -0
  840. package/dist/types/shared-utils/three/getPositionsByObjectFit.d.ts +3 -0
  841. package/dist/types/shared-utils/three/getRaycaster.d.ts +6 -0
  842. package/dist/types/shared-utils/three/getTextureLoader.d.ts +6 -0
  843. package/dist/types/shared-utils/three/index.d.ts +19 -0
  844. package/dist/types/shared-utils/three/loadTexture.d.ts +6 -0
  845. package/dist/types/shared-utils/three/loadVideoTexture.d.ts +13 -0
  846. package/dist/types/shared-utils/three/recurveFindObject.d.ts +2 -0
  847. package/dist/types/shared-utils/three/setObjectOriginSortBounds.d.ts +3 -0
  848. package/dist/types/shared-utils/three/temp.d.ts +2 -0
  849. package/dist/types/shared-utils/three/transformPositionToVector3.d.ts +7 -0
  850. package/dist/types/shared-utils/three/transformToMeshBasicMaterial.d.ts +2 -0
  851. package/dist/types/shared-utils/three/vector3ToArray.d.ts +3 -0
  852. package/dist/types/shared-utils/three/vectorIsEqual.d.ts +2 -0
  853. package/dist/types/shared-utils/threex/domevents/index.d.ts +36 -0
  854. package/dist/types/shared-utils/translateMode/getDistanceFromModel.d.ts +2 -0
  855. package/dist/types/shared-utils/typescript/entries.d.ts +2 -0
  856. package/dist/types/shared-utils/vectorToCoordinate.d.ts +7 -0
  857. package/dist/types/typings/typings.d.ts +15 -0
  858. package/dist/types/typings/utils.type.d.ts +4 -0
  859. package/dist/utils.d.ts +2 -0
  860. package/dist/utils.js +53 -0
  861. package/dist/utils.js.map +1 -0
  862. package/package.json +191 -77
  863. package/components/index.js +0 -994
  864. package/dist/AreaMakerPlugin/Controller.d.ts +0 -96
  865. package/dist/AreaMakerPlugin/index.d.ts +0 -4
  866. package/dist/AreaMakerPlugin/typing.d.ts +0 -167
  867. package/dist/AreaMakerPlugin/utils/Item.d.ts +0 -137
  868. package/dist/CSS3DRenderPlugin/Controller.d.ts +0 -87
  869. package/dist/CSS3DRenderPlugin/index.d.ts +0 -6
  870. package/dist/CSS3DRenderPlugin/typing.d.ts +0 -26
  871. package/dist/CSS3DRenderPlugin/utils/generateBehindFiveElement.d.ts +0 -3
  872. package/dist/CSS3DRenderPlugin/utils/getAllCSS3DObject.d.ts +0 -3
  873. package/dist/CSS3DRenderPlugin/utils/index.d.ts +0 -3
  874. package/dist/CSS3DRenderPlugin/utils/positionToVector3.d.ts +0 -1
  875. package/dist/CSS3DRenderPlugin/utils/three/CSS3DGroup.d.ts +0 -21
  876. package/dist/CSS3DRenderPlugin/utils/three/CSS3DObject.d.ts +0 -55
  877. package/dist/CSS3DRenderPlugin/utils/three/CSS3DRender.d.ts +0 -184
  878. package/dist/CSS3DRenderPlugin/utils/three/CSS3DRenderer.d.ts +0 -1
  879. package/dist/CSS3DRenderPlugin/utils/three/CSS3DScene.d.ts +0 -12
  880. package/dist/CSS3DRenderPlugin/utils/three/CSS3DSprite.d.ts +0 -5
  881. package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +0 -7
  882. package/dist/CameraMovementPlugin/index.d.ts +0 -5
  883. package/dist/CameraMovementPlugin/typing.d.ts +0 -68
  884. package/dist/CruisePlugin/BaseController.d.ts +0 -165
  885. package/dist/CruisePlugin/Move.d.ts +0 -56
  886. package/dist/CruisePlugin/Work.d.ts +0 -127
  887. package/dist/CruisePlugin/index.d.ts +0 -12
  888. package/dist/CruisePlugin/typing.d.ts +0 -157
  889. package/dist/CruisePlugin/utils/coordinatesToVector.d.ts +0 -7
  890. package/dist/CruisePlugin/utils/getFiveStateOnCurve.d.ts +0 -11
  891. package/dist/CurrentPanoImagePlugin/Controller.d.ts +0 -103
  892. package/dist/CurrentPanoImagePlugin/index.d.ts +0 -7
  893. package/dist/CurrentPanoImagePlugin/typings.d.ts +0 -58
  894. package/dist/DigitalPerformancePlugin/controller/index.d.ts +0 -232
  895. package/dist/DigitalPerformancePlugin/core/DigitalHuman.d.ts +0 -96
  896. package/dist/DigitalPerformancePlugin/core/DigitalPerformanceNameplate.d.ts +0 -115
  897. package/dist/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +0 -47
  898. package/dist/DigitalPerformancePlugin/core/DigitalStateMachine.d.ts +0 -152
  899. package/dist/DigitalPerformancePlugin/core/Trace.d.ts +0 -9
  900. package/dist/DigitalPerformancePlugin/index.d.ts +0 -16
  901. package/dist/DigitalPerformancePlugin/typings/index.d.ts +0 -87
  902. package/dist/DigitalPerformanceV2Plugin/controller/index.d.ts +0 -401
  903. package/dist/DigitalPerformanceV2Plugin/core/CameraDirector.d.ts +0 -61
  904. package/dist/DigitalPerformanceV2Plugin/core/CameraSampler.d.ts +0 -53
  905. package/dist/DigitalPerformanceV2Plugin/core/CameraTrack.d.ts +0 -21
  906. package/dist/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.d.ts +0 -39
  907. package/dist/DigitalPerformanceV2Plugin/core/PerformanceClock.d.ts +0 -55
  908. package/dist/DigitalPerformanceV2Plugin/core/Playground.d.ts +0 -112
  909. package/dist/DigitalPerformanceV2Plugin/core/shared.d.ts +0 -4
  910. package/dist/DigitalPerformanceV2Plugin/index.d.ts +0 -11
  911. package/dist/DigitalPerformanceV2Plugin/typings/index.d.ts +0 -124
  912. package/dist/FireScenePlugin/FireControl.d.ts +0 -153
  913. package/dist/FireScenePlugin/SequencePlayer.d.ts +0 -41
  914. package/dist/FireScenePlugin/constants.d.ts +0 -28
  915. package/dist/FireScenePlugin/fire/config.d.ts +0 -10
  916. package/dist/FireScenePlugin/fire/index.d.ts +0 -6
  917. package/dist/FireScenePlugin/fire/managers/FireManager.d.ts +0 -76
  918. package/dist/FireScenePlugin/fire/type.d.ts +0 -51
  919. package/dist/FireScenePlugin/index.d.ts +0 -6
  920. package/dist/FireScenePlugin/smoke/config.d.ts +0 -8
  921. package/dist/FireScenePlugin/smoke/index.d.ts +0 -1
  922. package/dist/FireScenePlugin/smoke/managers/NormalSmokeManager.d.ts +0 -49
  923. package/dist/FireScenePlugin/smoke/managers/SmokeManager.d.ts +0 -89
  924. package/dist/FireScenePlugin/utils/areaBounds.d.ts +0 -14
  925. package/dist/FireScenePlugin/utils/particle.d.ts +0 -5
  926. package/dist/FireScenePlugin/utils/particleTexture.d.ts +0 -21
  927. package/dist/FireScenePlugin/utils/radialSpread.d.ts +0 -54
  928. package/dist/FireScenePlugin/utils/spread.d.ts +0 -17
  929. package/dist/GuideLinePlugin/Components/Tag.svelte.d.ts +0 -1
  930. package/dist/GuideLinePlugin/Controller.d.ts +0 -98
  931. package/dist/GuideLinePlugin/GuideLineItem.d.ts +0 -36
  932. package/dist/GuideLinePlugin/GuideLineModeItem.d.ts +0 -152
  933. package/dist/GuideLinePlugin/index.d.ts +0 -10
  934. package/dist/GuideLinePlugin/typing.d.ts +0 -199
  935. package/dist/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -36
  936. package/dist/GuideLinePlugin/utils/createPath.d.ts +0 -3
  937. package/dist/ItemLabelPlugin/ItemLabelComponent.svelte.d.ts +0 -1
  938. package/dist/ItemLabelPlugin/ItemLabelItem.svelte.d.ts +0 -1
  939. package/dist/ItemLabelPlugin/Plugin.d.ts +0 -4
  940. package/dist/ItemLabelPlugin/events.type.d.ts +0 -9
  941. package/dist/ItemLabelPlugin/index.d.ts +0 -9
  942. package/dist/ItemLabelPlugin/typings.d.ts +0 -65
  943. package/dist/ItemLabelPlugin/utils/getStrokeLength.d.ts +0 -5
  944. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +0 -8
  945. package/dist/ItemLabelPlugin/utils/parseData.d.ts +0 -3
  946. package/dist/ItemLabelPlugin/utils/transform2RenderData.d.ts +0 -3
  947. package/dist/MeasurePlugin/Controller.d.ts +0 -167
  948. package/dist/MeasurePlugin/index.d.ts +0 -17
  949. package/dist/MeasurePlugin/utils/MeasureMesh.d.ts +0 -29
  950. package/dist/MeasurePlugin/utils/validatePolygon.d.ts +0 -2
  951. package/dist/ModelChassisCompassPlugin/Plugin.d.ts +0 -19
  952. package/dist/ModelChassisCompassPlugin/index.d.ts +0 -4
  953. package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +0 -27
  954. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +0 -4
  955. package/dist/ModelItemLabelPlugin/ItemLabelComponent.svelte.d.ts +0 -1
  956. package/dist/ModelItemLabelPlugin/ItemLabelItem.svelte.d.ts +0 -1
  957. package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +0 -4
  958. package/dist/ModelItemLabelPlugin/events.type.d.ts +0 -9
  959. package/dist/ModelItemLabelPlugin/index.d.ts +0 -9
  960. package/dist/ModelItemLabelPlugin/typings.d.ts +0 -56
  961. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +0 -3
  962. package/dist/ModelMakerPlugin/Controller.d.ts +0 -194
  963. package/dist/ModelMakerPlugin/index.d.ts +0 -9
  964. package/dist/ModelMakerPlugin/item/baseItem.d.ts +0 -68
  965. package/dist/ModelMakerPlugin/item/boxItem.d.ts +0 -20
  966. package/dist/ModelMakerPlugin/item/polygonItem.d.ts +0 -19
  967. package/dist/ModelMakerPlugin/item/prismItem.d.ts +0 -18
  968. package/dist/ModelMakerPlugin/typings/config.d.ts +0 -26
  969. package/dist/ModelMakerPlugin/typings/index.d.ts +0 -52
  970. package/dist/ModelMakerPlugin/utils/Text.svelte.d.ts +0 -1
  971. package/dist/ModelMakerPlugin/utils/getTagOcclusionObjects.d.ts +0 -4
  972. package/dist/ModelMakerPlugin/utils/tagRenderer.d.ts +0 -3
  973. package/dist/ModelRoomLabelPlugin/Controller.d.ts +0 -38
  974. package/dist/ModelRoomLabelPlugin/RoomLabelItem.svelte.d.ts +0 -1
  975. package/dist/ModelRoomLabelPlugin/RoomLabelItems.svelte.d.ts +0 -1
  976. package/dist/ModelRoomLabelPlugin/index.d.ts +0 -12
  977. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +0 -3
  978. package/dist/ModelTVVideoPlugin/Plugin.d.ts +0 -4
  979. package/dist/ModelTVVideoPlugin/index.d.ts +0 -5
  980. package/dist/ModelTVVideoPlugin/typings.d.ts +0 -27
  981. package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +0 -3
  982. package/dist/ModelViewPlugin/Plugin.d.ts +0 -42
  983. package/dist/ModelViewPlugin/index.d.ts +0 -4
  984. package/dist/Object3DHelperPlugin/Controller.d.ts +0 -153
  985. package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +0 -23
  986. package/dist/Object3DHelperPlugin/index.d.ts +0 -6
  987. package/dist/PanoCompassPlugin/Controller.d.ts +0 -88
  988. package/dist/PanoCompassPlugin/getRoomInfoInstance.d.ts +0 -8
  989. package/dist/PanoCompassPlugin/index.d.ts +0 -7
  990. package/dist/PanoCompassPlugin/typings.d.ts +0 -58
  991. package/dist/PanoCursorRaycasterPlugin/index.d.ts +0 -48
  992. package/dist/PanoDoorLabelPlugin/Controller.d.ts +0 -42
  993. package/dist/PanoDoorLabelPlugin/DoorLabelItem.svelte.d.ts +0 -1
  994. package/dist/PanoDoorLabelPlugin/index.d.ts +0 -7
  995. package/dist/PanoDoorLabelPlugin/typings.d.ts +0 -38
  996. package/dist/PanoDoorLabelPlugin/utils.d.ts +0 -5
  997. package/dist/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +0 -1
  998. package/dist/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +0 -1
  999. package/dist/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +0 -1
  1000. package/dist/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +0 -1
  1001. package/dist/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +0 -1
  1002. package/dist/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +0 -1
  1003. package/dist/PanoMeasurePlugin/Components/Tip.svelte.d.ts +0 -1
  1004. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +0 -58
  1005. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +0 -58
  1006. package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +0 -38
  1007. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +0 -12
  1008. package/dist/PanoMeasurePlugin/Controller/ViewController.d.ts +0 -13
  1009. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +0 -33
  1010. package/dist/PanoMeasurePlugin/Controller/index.d.ts +0 -115
  1011. package/dist/PanoMeasurePlugin/Model/area.d.ts +0 -75
  1012. package/dist/PanoMeasurePlugin/Model/index.d.ts +0 -45
  1013. package/dist/PanoMeasurePlugin/Model/line.d.ts +0 -39
  1014. package/dist/PanoMeasurePlugin/Model/point.d.ts +0 -10
  1015. package/dist/PanoMeasurePlugin/Model/polygon.d.ts +0 -14
  1016. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +0 -47
  1017. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +0 -30
  1018. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +0 -26
  1019. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +0 -19
  1020. package/dist/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +0 -2
  1021. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +0 -19
  1022. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +0 -12
  1023. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +0 -34
  1024. package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +0 -4
  1025. package/dist/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.d.ts +0 -15
  1026. package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +0 -4
  1027. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +0 -42
  1028. package/dist/PanoMeasurePlugin/index.d.ts +0 -14
  1029. package/dist/PanoMeasurePlugin/typings/data.d.ts +0 -58
  1030. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +0 -55
  1031. package/dist/PanoMeasurePlugin/typings/index.d.ts +0 -15
  1032. package/dist/PanoMeasurePlugin/utils/constants.d.ts +0 -4
  1033. package/dist/PanoMeasurePlugin/utils/dom/areaDom.d.ts +0 -22
  1034. package/dist/PanoMeasurePlugin/utils/dom/base.d.ts +0 -29
  1035. package/dist/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +0 -34
  1036. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +0 -10
  1037. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +0 -3
  1038. package/dist/PanoMeasurePlugin/utils/line.d.ts +0 -18
  1039. package/dist/PanoMeasurePlugin/utils/math.d.ts +0 -17
  1040. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +0 -7
  1041. package/dist/PanoMeasurePlugin/utils/ndc2Screen.d.ts +0 -6
  1042. package/dist/PanoRulerPlugin/Plugin.d.ts +0 -34
  1043. package/dist/PanoRulerPlugin/index.d.ts +0 -5
  1044. package/dist/PanoRulerProPlugin/Controller.d.ts +0 -15
  1045. package/dist/PanoRulerProPlugin/RulerItem.svelte.d.ts +0 -1
  1046. package/dist/PanoRulerProPlugin/RulerItems.svelte.d.ts +0 -1
  1047. package/dist/PanoRulerProPlugin/index.d.ts +0 -8
  1048. package/dist/PanoSpatialTagPlugin/Components/origins.svelte.d.ts +0 -1
  1049. package/dist/PanoSpatialTagPlugin/Components/tag.svelte.d.ts +0 -1
  1050. package/dist/PanoSpatialTagPlugin/Plugin.d.ts +0 -35
  1051. package/dist/PanoSpatialTagPlugin/index.d.ts +0 -5
  1052. package/dist/PanoSpatialTagPlugin/store.d.ts +0 -1
  1053. package/dist/PanoSpatialTagPlugin/typings.d.ts +0 -40
  1054. package/dist/PanoTagPlugin/Archive/deprecated.d.ts +0 -73
  1055. package/dist/PanoTagPlugin/Components/Common/Arrow.svelte.d.ts +0 -1
  1056. package/dist/PanoTagPlugin/Components/Common/Audio.svelte.d.ts +0 -1
  1057. package/dist/PanoTagPlugin/Components/Common/AudioPlayer.svelte.d.ts +0 -1
  1058. package/dist/PanoTagPlugin/Components/Common/Icon/Icon.svelte.d.ts +0 -1
  1059. package/dist/PanoTagPlugin/Components/Common/Icon/PanoramaIcon.svelte.d.ts +0 -1
  1060. package/dist/PanoTagPlugin/Components/Common/Icon/animationUtils.d.ts +0 -9
  1061. package/dist/PanoTagPlugin/Components/Common/Icon/audioIcon.svelte.d.ts +0 -1
  1062. package/dist/PanoTagPlugin/Components/Common/Line/Polyline.svelte.d.ts +0 -1
  1063. package/dist/PanoTagPlugin/Components/Common/Line/Straight.svelte.d.ts +0 -1
  1064. package/dist/PanoTagPlugin/Components/Common/Media.svelte.d.ts +0 -1
  1065. package/dist/PanoTagPlugin/Components/Common/MediaItem.svelte.d.ts +0 -1
  1066. package/dist/PanoTagPlugin/Components/Common/Shadow.svelte.d.ts +0 -1
  1067. package/dist/PanoTagPlugin/Components/Common/TagPoint.svelte.d.ts +0 -1
  1068. package/dist/PanoTagPlugin/Components/Common/TagPopover/ArrowRightIcon.svelte.d.ts +0 -1
  1069. package/dist/PanoTagPlugin/Components/Common/TagPopover/PanoramaIcon.svelte.d.ts +0 -1
  1070. package/dist/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.svelte.d.ts +0 -1
  1071. package/dist/PanoTagPlugin/Components/Common/TagPopover/ShareIcon.svelte.d.ts +0 -1
  1072. package/dist/PanoTagPlugin/Components/Common/TagPopover/TagPopoverArrow.svelte.d.ts +0 -1
  1073. package/dist/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.svelte.d.ts +0 -1
  1074. package/dist/PanoTagPlugin/Components/Common/TagPopover/TagPopup.svelte.d.ts +0 -1
  1075. package/dist/PanoTagPlugin/Components/Common/TagPopover/index.svelte.d.ts +0 -1
  1076. package/dist/PanoTagPlugin/Components/Common/Text/FlyMText.svelte.d.ts +0 -1
  1077. package/dist/PanoTagPlugin/Components/Common/Text/FlyText.svelte.d.ts +0 -1
  1078. package/dist/PanoTagPlugin/Components/Common/Text/MText.svelte.d.ts +0 -1
  1079. package/dist/PanoTagPlugin/Components/Common/VideoIcon.svelte.d.ts +0 -1
  1080. package/dist/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.svelte.d.ts +0 -1
  1081. package/dist/PanoTagPlugin/Components/Tag/AudioTag/AudioPoint.svelte.d.ts +0 -1
  1082. package/dist/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.svelte.d.ts +0 -1
  1083. package/dist/PanoTagPlugin/Components/Tag/AudioTag/index.svelte.d.ts +0 -1
  1084. package/dist/PanoTagPlugin/Components/Tag/CustomTag.svelte.d.ts +0 -1
  1085. package/dist/PanoTagPlugin/Components/Tag/ImageTextTag.svelte.d.ts +0 -1
  1086. package/dist/PanoTagPlugin/Components/Tag/LinkTag.svelte.d.ts +0 -1
  1087. package/dist/PanoTagPlugin/Components/Tag/MarketingTag.svelte.d.ts +0 -1
  1088. package/dist/PanoTagPlugin/Components/Tag/MediaPlane.svelte.d.ts +0 -1
  1089. package/dist/PanoTagPlugin/Components/Tag/PanoramaTag.svelte.d.ts +0 -1
  1090. package/dist/PanoTagPlugin/Components/Tag/TextTag/TextPlaneTag.svelte.d.ts +0 -1
  1091. package/dist/PanoTagPlugin/Components/Tag/TextTag/TextTag.svelte.d.ts +0 -1
  1092. package/dist/PanoTagPlugin/Components/Tag/TextTag/index.svelte.d.ts +0 -1
  1093. package/dist/PanoTagPlugin/Components/Tag/index.svelte.d.ts +0 -1
  1094. package/dist/PanoTagPlugin/Components/TagContainer.svelte.d.ts +0 -1
  1095. package/dist/PanoTagPlugin/Components/TagItem.svelte.d.ts +0 -1
  1096. package/dist/PanoTagPlugin/controller/Tag/BaseTag.d.ts +0 -282
  1097. package/dist/PanoTagPlugin/controller/Tag/BoxTag.d.ts +0 -119
  1098. package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +0 -258
  1099. package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +0 -10
  1100. package/dist/PanoTagPlugin/controller/Tag/ModelTag.d.ts +0 -15
  1101. package/dist/PanoTagPlugin/controller/Tag/PlaneTag.d.ts +0 -51
  1102. package/dist/PanoTagPlugin/controller/Tag/PointTag.d.ts +0 -46
  1103. package/dist/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +0 -112
  1104. package/dist/PanoTagPlugin/controller/TagRender.d.ts +0 -36
  1105. package/dist/PanoTagPlugin/controller/TagUtil.d.ts +0 -93
  1106. package/dist/PanoTagPlugin/controller/index.d.ts +0 -227
  1107. package/dist/PanoTagPlugin/index.d.ts +0 -8
  1108. package/dist/PanoTagPlugin/tag.config.d.ts +0 -7
  1109. package/dist/PanoTagPlugin/typings/controller.d.ts +0 -112
  1110. package/dist/PanoTagPlugin/typings/index.d.ts +0 -8
  1111. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +0 -64
  1112. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +0 -422
  1113. package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +0 -176
  1114. package/dist/PanoTagPlugin/typings/tag/TagInstance.d.ts +0 -8
  1115. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +0 -164
  1116. package/dist/PanoTagPlugin/utils/Cache.d.ts +0 -17
  1117. package/dist/PanoTagPlugin/utils/DebugUtil.d.ts +0 -12
  1118. package/dist/PanoTagPlugin/utils/addDebugPoints.d.ts +0 -3
  1119. package/dist/PanoTagPlugin/utils/audio/SharedAudio.d.ts +0 -31
  1120. package/dist/PanoTagPlugin/utils/debounce.d.ts +0 -8
  1121. package/dist/PanoTagPlugin/utils/getImageInfo.d.ts +0 -14
  1122. package/dist/PanoTagPlugin/utils/index.d.ts +0 -10
  1123. package/dist/PanoTagPlugin/utils/model/mediaPlane.d.ts +0 -118
  1124. package/dist/PanoTagPlugin/utils/normalPositionToPositions.d.ts +0 -2
  1125. package/dist/PanoTagPlugin/utils/planeNormal.d.ts +0 -4
  1126. package/dist/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +0 -6
  1127. package/dist/PanoTagPlugin/utils/tag/adaptConfig.d.ts +0 -2
  1128. package/dist/PanoTagPlugin/utils/tag/calculateTagConfig.d.ts +0 -7
  1129. package/dist/PanoTagPlugin/utils/tag/canAutoPlayByOcclusion.d.ts +0 -17
  1130. package/dist/PanoTagPlugin/utils/tag/format.d.ts +0 -5
  1131. package/dist/PanoTagPlugin/utils/tag/getRaycasterStartPosition.d.ts +0 -12
  1132. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +0 -19
  1133. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +0 -13
  1134. package/dist/PanoVideoPlugin/Controller.d.ts +0 -59
  1135. package/dist/PanoVideoPlugin/VideoMeshController.d.ts +0 -129
  1136. package/dist/PanoVideoPlugin/index.d.ts +0 -21
  1137. package/dist/PanoVideoPlugin/typings.d.ts +0 -70
  1138. package/dist/PanoVideoPlugin/utils/index.d.ts +0 -9
  1139. package/dist/PanoVideoPlugin/utils/shader.d.ts +0 -2
  1140. package/dist/PipelinePlugin/Controller.d.ts +0 -108
  1141. package/dist/PipelinePlugin/index.d.ts +0 -6
  1142. package/dist/PipelinePlugin/typing/index.d.ts +0 -79
  1143. package/dist/PipelinePlugin/utils/Objects/FlowPipe.d.ts +0 -34
  1144. package/dist/PipelinePlugin/utils/Objects/Pipe.d.ts +0 -49
  1145. package/dist/PipelinePlugin/utils/formatData.d.ts +0 -12
  1146. package/dist/Sculpt/Editors/BoxMeshEditor.d.ts +0 -5
  1147. package/dist/Sculpt/Editors/CircleMeshEditor.d.ts +0 -5
  1148. package/dist/Sculpt/Editors/CylinderMeshEditor.d.ts +0 -5
  1149. package/dist/Sculpt/Editors/PrismMeshEditor.d.ts +0 -5
  1150. package/dist/Sculpt/Editors/RectangleMeshEditor.d.ts +0 -5
  1151. package/dist/Sculpt/Meshes/Area.d.ts +0 -9
  1152. package/dist/Sculpt/Meshes/Box.d.ts +0 -18
  1153. package/dist/Sculpt/Meshes/Circle.d.ts +0 -24
  1154. package/dist/Sculpt/Meshes/CircleWithEdge.d.ts +0 -11
  1155. package/dist/Sculpt/Meshes/Cylinder.d.ts +0 -36
  1156. package/dist/Sculpt/Meshes/Line.d.ts +0 -59
  1157. package/dist/Sculpt/Meshes/LineWithDots.d.ts +0 -52
  1158. package/dist/Sculpt/Meshes/Point.d.ts +0 -41
  1159. package/dist/Sculpt/Meshes/Polygon.d.ts +0 -53
  1160. package/dist/Sculpt/Meshes/PolygonWithEdge.d.ts +0 -33
  1161. package/dist/Sculpt/Meshes/Polyline.d.ts +0 -47
  1162. package/dist/Sculpt/Meshes/Prism.d.ts +0 -98
  1163. package/dist/Sculpt/Meshes/Rectangle.d.ts +0 -19
  1164. package/dist/Sculpt/Meshes/RectangleWithEdge.d.ts +0 -29
  1165. package/dist/Sculpt/Objects/Base/Editor.d.ts +0 -54
  1166. package/dist/Sculpt/Objects/Base/index.d.ts +0 -125
  1167. package/dist/Sculpt/Objects/Box/index.d.ts +0 -48
  1168. package/dist/Sculpt/Objects/Circle/index.d.ts +0 -32
  1169. package/dist/Sculpt/Objects/Cylinder/index.d.ts +0 -34
  1170. package/dist/Sculpt/Objects/Line/Editor.d.ts +0 -22
  1171. package/dist/Sculpt/Objects/Line/index.d.ts +0 -48
  1172. package/dist/Sculpt/Objects/Point/Editor.d.ts +0 -8
  1173. package/dist/Sculpt/Objects/Point/index.d.ts +0 -39
  1174. package/dist/Sculpt/Objects/Polygon/Editor.d.ts +0 -20
  1175. package/dist/Sculpt/Objects/Polygon/index.d.ts +0 -80
  1176. package/dist/Sculpt/Objects/Polyline/Editor.d.ts +0 -8
  1177. package/dist/Sculpt/Objects/Polyline/index.d.ts +0 -47
  1178. package/dist/Sculpt/Objects/Prism/index.d.ts +0 -57
  1179. package/dist/Sculpt/Objects/Rectangle/index.d.ts +0 -48
  1180. package/dist/Sculpt/index.d.ts +0 -266
  1181. package/dist/Sculpt/typings/index.d.ts +0 -72
  1182. package/dist/Sculpt/typings/style.d.ts +0 -108
  1183. package/dist/Sculpt/typings/utils.type.d.ts +0 -16
  1184. package/dist/Sculpt/utils/Modules/Global.d.ts +0 -22
  1185. package/dist/Sculpt/utils/data.d.ts +0 -7
  1186. package/dist/Sculpt/utils/export.d.ts +0 -25
  1187. package/dist/Sculpt/utils/removeAllTag.d.ts +0 -2
  1188. package/dist/Sculpt/utils/renderDom.d.ts +0 -19
  1189. package/dist/Sculpt/utils/sortPositionsByCameraPosition.d.ts +0 -5
  1190. package/dist/Sculpt/utils/three/ColoredMesh.d.ts +0 -33
  1191. package/dist/Sculpt/utils/three/RectangleGeometry.d.ts +0 -6
  1192. package/dist/Sculpt/utils/three/rayOnLine.d.ts +0 -12
  1193. package/dist/base/BasePlugin.d.ts +0 -124
  1194. package/dist/base/BasePluginWithData.d.ts +0 -21
  1195. package/dist/components/AreaLabel/LabelItem.svelte.d.ts +0 -1
  1196. package/dist/components/PaintBrush/Controller.d.ts +0 -43
  1197. package/dist/components/PaintBrush/index.d.ts +0 -27
  1198. package/dist/components/PaintBrush/style.d.ts +0 -2
  1199. package/dist/components/PaintBrush/typings.d.ts +0 -58
  1200. package/dist/components/index.d.ts +0 -2
  1201. package/dist/floorplan/Components/BaseImage.svelte.d.ts +0 -1
  1202. package/dist/floorplan/Components/Camera.svelte.d.ts +0 -1
  1203. package/dist/floorplan/Components/Compass.svelte.d.ts +0 -1
  1204. package/dist/floorplan/Components/CurrentFloor.svelte.d.ts +0 -1
  1205. package/dist/floorplan/Components/Items/Item.svelte.d.ts +0 -1
  1206. package/dist/floorplan/Components/Items/Items.svelte.d.ts +0 -1
  1207. package/dist/floorplan/Components/Main.svelte.d.ts +0 -1
  1208. package/dist/floorplan/Components/MissingFloor.svelte.d.ts +0 -1
  1209. package/dist/floorplan/Components/Normalmage.svelte.d.ts +0 -1
  1210. package/dist/floorplan/Components/RoomHighlight/Room.svelte.d.ts +0 -1
  1211. package/dist/floorplan/Components/RoomHighlight/RoomHighlight.svelte.d.ts +0 -1
  1212. package/dist/floorplan/Components/RoomLabels/RoomLabel.svelte.d.ts +0 -1
  1213. package/dist/floorplan/Components/RoomLabels/RoomLabels.svelte.d.ts +0 -1
  1214. package/dist/floorplan/Components/RoomMaterials/RoomMaterial.svelte.d.ts +0 -1
  1215. package/dist/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.d.ts +0 -1
  1216. package/dist/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.d.ts +0 -1
  1217. package/dist/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.d.ts +0 -1
  1218. package/dist/floorplan/Components/RoomMaterials/RoomTriangle.svelte.d.ts +0 -1
  1219. package/dist/floorplan/Components/RuleLabels/RuleItem.svelte.d.ts +0 -1
  1220. package/dist/floorplan/Components/RuleLabels/RuleLabels.svelte.d.ts +0 -1
  1221. package/dist/floorplan/Components/StyledImage.svelte.d.ts +0 -1
  1222. package/dist/floorplan/Components/SvgImage.svelte.d.ts +0 -1
  1223. package/dist/floorplan/FloorplanGuidePlugin/Components/Camera.svelte.d.ts +0 -1
  1224. package/dist/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +0 -1
  1225. package/dist/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +0 -1
  1226. package/dist/floorplan/FloorplanGuidePlugin/Components/FloorplanCompass.svelte.d.ts +0 -1
  1227. package/dist/floorplan/FloorplanGuidePlugin/Components/Main.svelte.d.ts +0 -1
  1228. package/dist/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte.d.ts +0 -1
  1229. package/dist/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte.d.ts +0 -1
  1230. package/dist/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte.d.ts +0 -1
  1231. package/dist/floorplan/FloorplanGuidePlugin/Controller.d.ts +0 -53
  1232. package/dist/floorplan/FloorplanGuidePlugin/index.d.ts +0 -7
  1233. package/dist/floorplan/FloorplanGuidePlugin/typing.d.ts +0 -196
  1234. package/dist/floorplan/MapviewFloorplanPlugin/Controller.d.ts +0 -128
  1235. package/dist/floorplan/MapviewFloorplanPlugin/index.d.ts +0 -7
  1236. package/dist/floorplan/MapviewFloorplanPlugin/typing.d.ts +0 -1
  1237. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +0 -121
  1238. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +0 -7
  1239. package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +0 -1
  1240. package/dist/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.d.ts +0 -1
  1241. package/dist/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +0 -1
  1242. package/dist/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +0 -1
  1243. package/dist/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.d.ts +0 -1
  1244. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +0 -40
  1245. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +0 -7
  1246. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +0 -70
  1247. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +0 -74
  1248. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +0 -7
  1249. package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +0 -11
  1250. package/dist/floorplan/index.d.ts +0 -8
  1251. package/dist/floorplan/typings/floorplanData.d.ts +0 -176
  1252. package/dist/floorplan/typings/index.d.ts +0 -164
  1253. package/dist/floorplan/utils/correctFiveState.d.ts +0 -18
  1254. package/dist/floorplan/utils/formatData.d.ts +0 -5
  1255. package/dist/floorplan/utils/formatPosition.d.ts +0 -36
  1256. package/dist/floorplan/utils/styledFloorplan.d.ts +0 -2
  1257. package/dist/index.cjs.js +0 -1715
  1258. package/dist/index.umd.js +0 -1715
  1259. package/dist/shared-utils/CSS3DRender/CSS3DObject.d.ts +0 -37
  1260. package/dist/shared-utils/CSS3DRender/CSS3DRenderer.d.ts +0 -16
  1261. package/dist/shared-utils/CSS3DRender/OpacityMesh.d.ts +0 -6
  1262. package/dist/shared-utils/CSS3DRender/index.d.ts +0 -41
  1263. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +0 -142
  1264. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +0 -105
  1265. package/dist/shared-utils/Object3DHelper/Constants/color.d.ts +0 -12
  1266. package/dist/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +0 -7
  1267. package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +0 -7
  1268. package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +0 -60
  1269. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +0 -45
  1270. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +0 -46
  1271. package/dist/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +0 -66
  1272. package/dist/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.d.ts +0 -16
  1273. package/dist/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts +0 -43
  1274. package/dist/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.d.ts +0 -11
  1275. package/dist/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +0 -24
  1276. package/dist/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.d.ts +0 -18
  1277. package/dist/shared-utils/Object3DHelper/Helper/Objects/CenterHandle.d.ts +0 -23
  1278. package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +0 -93
  1279. package/dist/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +0 -65
  1280. package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +0 -5
  1281. package/dist/shared-utils/Object3DHelper/index.d.ts +0 -52
  1282. package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -63
  1283. package/dist/shared-utils/Object3DHelper/typings/index.d.ts +0 -45
  1284. package/dist/shared-utils/Object3DHelper/utils/calculateScaleByCamera.d.ts +0 -5
  1285. package/dist/shared-utils/Object3DHelper/utils/calculateThreeMouse.d.ts +0 -14
  1286. package/dist/shared-utils/Object3DHelper/utils/cameraHooks.d.ts +0 -2
  1287. package/dist/shared-utils/Object3DHelper/utils/direction.d.ts +0 -14
  1288. package/dist/shared-utils/Object3DHelper/utils/filterNotColinearPoints.d.ts +0 -2
  1289. package/dist/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +0 -5
  1290. package/dist/shared-utils/Object3DHelper/utils/getOrthographicCameraDirection.d.ts +0 -8
  1291. package/dist/shared-utils/Object3DHelper/utils/getPoseFromCamera.d.ts +0 -8
  1292. package/dist/shared-utils/Object3DHelper/utils/index.d.ts +0 -8
  1293. package/dist/shared-utils/Object3DHelper/utils/normalPositionToPositions.d.ts +0 -5
  1294. package/dist/shared-utils/Object3DHelper/utils/setObjectQuaternion.d.ts +0 -8
  1295. package/dist/shared-utils/Object3DHelper/utils/solidGuide.d.ts +0 -27
  1296. package/dist/shared-utils/Subscribe.d.ts +0 -68
  1297. package/dist/shared-utils/Utils/BaseUtil.d.ts +0 -6
  1298. package/dist/shared-utils/Utils/FiveUtil.d.ts +0 -11
  1299. package/dist/shared-utils/Utils/WorkUtil.d.ts +0 -36
  1300. package/dist/shared-utils/animationFrame/BetterTween.d.ts +0 -12
  1301. package/dist/shared-utils/animationFrame/index.d.ts +0 -17
  1302. package/dist/shared-utils/changeModelCanvasOpacity.d.ts +0 -2
  1303. package/dist/shared-utils/createCanvasTextTexture.d.ts +0 -8
  1304. package/dist/shared-utils/createLine/index.d.ts +0 -3
  1305. package/dist/shared-utils/exports.d.ts +0 -2
  1306. package/dist/shared-utils/five/FiveDomEvents.d.ts +0 -138
  1307. package/dist/shared-utils/five/FiveLine.d.ts +0 -10
  1308. package/dist/shared-utils/five/FivePuppet.d.ts +0 -64
  1309. package/dist/shared-utils/five/calculateThreeMouse.d.ts +0 -11
  1310. package/dist/shared-utils/five/changeMode.d.ts +0 -3
  1311. package/dist/shared-utils/five/fiveEveryReadyListener.d.ts +0 -2
  1312. package/dist/shared-utils/five/fiveLoaded.d.ts +0 -2
  1313. package/dist/shared-utils/five/fiveModelLoad.d.ts +0 -9
  1314. package/dist/shared-utils/five/getFiveFromParentChain.d.ts +0 -8
  1315. package/dist/shared-utils/five/getFiveModel.d.ts +0 -2
  1316. package/dist/shared-utils/five/getFloorIndex.d.ts +0 -4
  1317. package/dist/shared-utils/five/getFloorMesh.d.ts +0 -3
  1318. package/dist/shared-utils/five/getPosition.d.ts +0 -24
  1319. package/dist/shared-utils/five/getRaycasterByNdcPosition.d.ts +0 -6
  1320. package/dist/shared-utils/five/index.d.ts +0 -12
  1321. package/dist/shared-utils/five/initialCSS3DRender.d.ts +0 -1
  1322. package/dist/shared-utils/five/lookObject.d.ts +0 -15
  1323. package/dist/shared-utils/five/lookPoint.d.ts +0 -11
  1324. package/dist/shared-utils/five/mode.d.ts +0 -3
  1325. package/dist/shared-utils/five/transformPosition.d.ts +0 -2
  1326. package/dist/shared-utils/five/vector3ToScreen.d.ts +0 -5
  1327. package/dist/shared-utils/fontSize.d.ts +0 -185
  1328. package/dist/shared-utils/getPointFromHammerEvent.d.ts +0 -10
  1329. package/dist/shared-utils/getPxmm.d.ts +0 -19
  1330. package/dist/shared-utils/index.d.ts +0 -11
  1331. package/dist/shared-utils/math/Rectangle.d.ts +0 -27
  1332. package/dist/shared-utils/math/convexHull.d.ts +0 -5
  1333. package/dist/shared-utils/math/index.d.ts +0 -4
  1334. package/dist/shared-utils/math/planimetry.d.ts +0 -116
  1335. package/dist/shared-utils/math/pointsIsRectangle.d.ts +0 -2
  1336. package/dist/shared-utils/object3d2LocalMatrix.d.ts +0 -12
  1337. package/dist/shared-utils/offscreenCanvas.d.ts +0 -2
  1338. package/dist/shared-utils/positionToVector3.d.ts +0 -17
  1339. package/dist/shared-utils/svelte/resizeObserver.d.ts +0 -2
  1340. package/dist/shared-utils/tag.d.ts +0 -99
  1341. package/dist/shared-utils/three/CSS3DRenderer/index.d.ts +0 -23
  1342. package/dist/shared-utils/three/Extras/Core/Interpolations.d.ts +0 -11
  1343. package/dist/shared-utils/three/Extras/Curves/BezierCurve3.d.ts +0 -13
  1344. package/dist/shared-utils/three/FBXLoader/index.d.ts +0 -6
  1345. package/dist/shared-utils/three/FragmentTransparencyMaterial.d.ts +0 -18
  1346. package/dist/shared-utils/three/GLTFLoader.d.ts +0 -9
  1347. package/dist/shared-utils/three/IObject3D.d.ts +0 -11
  1348. package/dist/shared-utils/three/LegacyPointHelper.d.ts +0 -22
  1349. package/dist/shared-utils/three/Magnifier.d.ts +0 -79
  1350. package/dist/shared-utils/three/PointDomHelper.d.ts +0 -18
  1351. package/dist/shared-utils/three/PointSelector/index.d.ts +0 -182
  1352. package/dist/shared-utils/three/PointSelector/utils/PointHelper.d.ts +0 -31
  1353. package/dist/shared-utils/three/PointSelector/utils/PointHelper2.d.ts +0 -31
  1354. package/dist/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +0 -73
  1355. package/dist/shared-utils/three/PointSelector/utils/html.d.ts +0 -4
  1356. package/dist/shared-utils/three/PointSelector/utils/typing.d.ts +0 -8
  1357. package/dist/shared-utils/three/Quadrangle.d.ts +0 -20
  1358. package/dist/shared-utils/three/addIfNotExists.d.ts +0 -2
  1359. package/dist/shared-utils/three/applyObjectMatrixWorld.d.ts +0 -3
  1360. package/dist/shared-utils/three/blink.d.ts +0 -278
  1361. package/dist/shared-utils/three/boundingBox.d.ts +0 -25
  1362. package/dist/shared-utils/three/centerPoint.d.ts +0 -2
  1363. package/dist/shared-utils/three/closeVectors.d.ts +0 -2
  1364. package/dist/shared-utils/three/core/Five_LineMaterial2.d.ts +0 -20
  1365. package/dist/shared-utils/three/core/Line2.d.ts +0 -13
  1366. package/dist/shared-utils/three/core/LineGeometry.d.ts +0 -13
  1367. package/dist/shared-utils/three/core/LineMaterial.d.ts +0 -15
  1368. package/dist/shared-utils/three/core/LineMaterial2.d.ts +0 -15
  1369. package/dist/shared-utils/three/core/LineSegments.d.ts +0 -9
  1370. package/dist/shared-utils/three/core/Object3D.d.ts +0 -8
  1371. package/dist/shared-utils/three/core/PrismAnimationGeometry.d.ts +0 -25
  1372. package/dist/shared-utils/three/core/PrismGeometry.d.ts +0 -22
  1373. package/dist/shared-utils/three/core/Raycaster.d.ts +0 -6
  1374. package/dist/shared-utils/three/core/Sphere.d.ts +0 -4
  1375. package/dist/shared-utils/three/earcut3D.d.ts +0 -2
  1376. package/dist/shared-utils/three/filterVisibleIntersections.d.ts +0 -3
  1377. package/dist/shared-utils/three/generatePolygonGeometry.d.ts +0 -9
  1378. package/dist/shared-utils/three/geometryUtil.d.ts +0 -15
  1379. package/dist/shared-utils/three/getCoords.d.ts +0 -9
  1380. package/dist/shared-utils/three/getIntersect.d.ts +0 -22
  1381. package/dist/shared-utils/three/getNormal.d.ts +0 -5
  1382. package/dist/shared-utils/three/getObjectVisible.d.ts +0 -5
  1383. package/dist/shared-utils/three/getPositionsByObjectFit.d.ts +0 -3
  1384. package/dist/shared-utils/three/getRaycaster.d.ts +0 -6
  1385. package/dist/shared-utils/three/getTextureLoader.d.ts +0 -6
  1386. package/dist/shared-utils/three/index.d.ts +0 -15
  1387. package/dist/shared-utils/three/loadTexture.d.ts +0 -6
  1388. package/dist/shared-utils/three/loadVideoTexture.d.ts +0 -9
  1389. package/dist/shared-utils/three/recurveFindObject.d.ts +0 -2
  1390. package/dist/shared-utils/three/temp.d.ts +0 -2
  1391. package/dist/shared-utils/three/transformPositionToVector3.d.ts +0 -7
  1392. package/dist/shared-utils/three/transformToMeshBasicMaterial.d.ts +0 -2
  1393. package/dist/shared-utils/three/vector3ToArray.d.ts +0 -3
  1394. package/dist/shared-utils/three/vectorIsEqual.d.ts +0 -2
  1395. package/dist/shared-utils/translateMode/getDistanceFromModel.d.ts +0 -2
  1396. package/dist/shared-utils/typescript/entries.d.ts +0 -2
  1397. package/dist/shared-utils/vectorToCoordinate.d.ts +0 -7
  1398. package/dist/typings/typings.d.ts +0 -15
  1399. package/dist/typings/utils.type.d.ts +0 -4
  1400. package/docs/.nojekyll +0 -1
  1401. package/docs/assets/custom.css +0 -0
  1402. package/docs/assets/highlight.css +0 -127
  1403. package/docs/assets/icons.js +0 -18
  1404. package/docs/assets/icons.svg +0 -1
  1405. package/docs/assets/main.js +0 -60
  1406. package/docs/assets/navigation.js +0 -1
  1407. package/docs/assets/search.js +0 -1
  1408. package/docs/assets/style.css +0 -1493
  1409. package/docs/classes/AnimationScriptAdapterSafetyError.html +0 -4
  1410. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +0 -59
  1411. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +0 -71
  1412. package/docs/classes/CSS3DRender.html +0 -100
  1413. package/docs/classes/DigitalHuman.html +0 -43
  1414. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceNameplate.html +0 -25
  1415. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +0 -178
  1416. package/docs/classes/DigitalPlayground.html +0 -25
  1417. package/docs/classes/DigitalStateMachine.html +0 -3
  1418. package/docs/classes/FireControl.html +0 -56
  1419. package/docs/classes/FireScenePlayer.html +0 -10
  1420. package/docs/classes/GuideLineItem.GuideLineItem.html +0 -21
  1421. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +0 -72
  1422. package/docs/classes/ModelMakerPluginInstance.html +0 -106
  1423. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +0 -52
  1424. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +0 -52
  1425. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +0 -53
  1426. package/docs/classes/ModelRoomLabelController.html +0 -19
  1427. package/docs/classes/MoveController.html +0 -45
  1428. package/docs/classes/Object3DHelperController.html +0 -45
  1429. package/docs/classes/PaintBrush.html +0 -15
  1430. package/docs/classes/PanoMeasurePluginLine.html +0 -24
  1431. package/docs/classes/PanoMeasurePluginModel.html +0 -23
  1432. package/docs/classes/PanoMeasurePluginPoint.html +0 -7
  1433. package/docs/classes/PanoMeasurePluginPolyline.html +0 -27
  1434. package/docs/classes/PanoTagPluginController.html +0 -129
  1435. package/docs/classes/Sculpt.html +0 -79
  1436. package/docs/classes/Util.BetterTween.html +0 -6
  1437. package/docs/classes/Util.FiveDomEvents.html +0 -13
  1438. package/docs/classes/Util.FivePuppet.html +0 -20
  1439. package/docs/classes/Util.Interval.html +0 -11
  1440. package/docs/classes/Util.LegacyPointHelper.html +0 -7
  1441. package/docs/classes/Util.LightTag.html +0 -47
  1442. package/docs/classes/Util.LineSegments.html +0 -4
  1443. package/docs/classes/Util.Magnifier.html +0 -26
  1444. package/docs/classes/Util.Object3D.html +0 -8
  1445. package/docs/classes/Util.PointDomHelper.html +0 -8
  1446. package/docs/classes/Util.PointHelper.html +0 -10
  1447. package/docs/classes/Util.PointSelector.html +0 -71
  1448. package/docs/classes/Util.PointSelectorHelper.html +0 -14
  1449. package/docs/classes/Util.Rectangle.html +0 -12
  1450. package/docs/classes/Util.sculpt.BaseEditor.html +0 -17
  1451. package/docs/classes/Util.sculpt.BoxMesh.html +0 -48
  1452. package/docs/classes/Util.sculpt.BoxMeshEditor.html +0 -18
  1453. package/docs/classes/Util.sculpt.CircleMesh.html +0 -26
  1454. package/docs/classes/Util.sculpt.CircleMeshEditor.html +0 -18
  1455. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +0 -26
  1456. package/docs/classes/Util.sculpt.CylinderMesh.html +0 -25
  1457. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +0 -18
  1458. package/docs/classes/Util.sculpt.LineMesh.html +0 -34
  1459. package/docs/classes/Util.sculpt.PointMesh.html +0 -24
  1460. package/docs/classes/Util.sculpt.PolygonMesh.html +0 -40
  1461. package/docs/classes/Util.sculpt.PrismMesh.html +0 -48
  1462. package/docs/classes/Util.sculpt.PrismMeshEditor.html +0 -18
  1463. package/docs/classes/Util.sculpt.RectangleMesh.html +0 -41
  1464. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +0 -18
  1465. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +0 -44
  1466. package/docs/classes/WalkController.html +0 -42
  1467. package/docs/enums/CameraMovementEffect.html +0 -4
  1468. package/docs/enums/ContentType.html +0 -36
  1469. package/docs/enums/DIRECTION.html +0 -5
  1470. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +0 -5
  1471. package/docs/enums/DimensionType.html +0 -4
  1472. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +0 -4
  1473. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +0 -5
  1474. package/docs/enums/PaintBrushTypeEnum.html +0 -4
  1475. package/docs/enums/PointType.html +0 -4
  1476. package/docs/enums/Rotation.html +0 -5
  1477. package/docs/functions/AreaMakerPlugin.html +0 -1
  1478. package/docs/functions/CSS3DRenderPlugin.html +0 -1
  1479. package/docs/functions/CameraMovementPlugin.html +0 -2
  1480. package/docs/functions/CruisePlugin.html +0 -1
  1481. package/docs/functions/CurrentPanoImagePlugin.html +0 -1
  1482. package/docs/functions/DigitalPerformancePlugin.html +0 -1
  1483. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +0 -1
  1484. package/docs/functions/DigitalPerformanceV2.normalizeDigitalPerformanceName.html +0 -2
  1485. package/docs/functions/FloorplanGuidePlugin.html +0 -1
  1486. package/docs/functions/GuideLinePlugin.html +0 -1
  1487. package/docs/functions/ItemLabelPlugin.html +0 -1
  1488. package/docs/functions/MapviewFloorplanPlugin.html +0 -1
  1489. package/docs/functions/MeasurePlugin.html +0 -1
  1490. package/docs/functions/ModelChassisCompassPlugin.html +0 -2
  1491. package/docs/functions/ModelEntryDoorGuidePlugin.html +0 -2
  1492. package/docs/functions/ModelFloorplanPlugin.html +0 -1
  1493. package/docs/functions/ModelItemLabelPlugin.html +0 -1
  1494. package/docs/functions/ModelMakerPlugin.html +0 -1
  1495. package/docs/functions/ModelRoomLabelPlugin.html +0 -1
  1496. package/docs/functions/ModelTVVideoPlugin.html +0 -1
  1497. package/docs/functions/ModelViewPlugin.html +0 -2
  1498. package/docs/functions/MovePlugin.html +0 -1
  1499. package/docs/functions/Object3DHelperPlugin.html +0 -1
  1500. package/docs/functions/PanoCompassPlugin.html +0 -1
  1501. package/docs/functions/PanoCursorRaycasterPlugin.html +0 -2
  1502. package/docs/functions/PanoDoorLabelPlugin.html +0 -1
  1503. package/docs/functions/PanoFloorplanRadarPlugin.html +0 -1
  1504. package/docs/functions/PanoMeasurePlugin.html +0 -1
  1505. package/docs/functions/PanoRulerPlugin.html +0 -2
  1506. package/docs/functions/PanoRulerProPlugin.html +0 -2
  1507. package/docs/functions/PanoSpatialTagPlugin.html +0 -2
  1508. package/docs/functions/PanoTagPlugin.html +0 -1
  1509. package/docs/functions/PanoVideoPlugin.html +0 -10
  1510. package/docs/functions/PipelinePlugin.html +0 -1
  1511. package/docs/functions/SculptPlugin.html +0 -2
  1512. package/docs/functions/SculptPluginForFive.html +0 -2
  1513. package/docs/functions/TopviewFloorplanPlugin.html +0 -1
  1514. package/docs/functions/Util.awaitNextFrame.html +0 -1
  1515. package/docs/functions/Util.blink.html +0 -13
  1516. package/docs/functions/Util.blinkWithPreset.html +0 -6
  1517. package/docs/functions/Util.bounding.html +0 -1
  1518. package/docs/functions/Util.boundingBox.html +0 -1
  1519. package/docs/functions/Util.boundingSphere.html +0 -1
  1520. package/docs/functions/Util.boxVertex.html +0 -7
  1521. package/docs/functions/Util.boxVertexes.html +0 -1
  1522. package/docs/functions/Util.checkFiveModelLoaded.html +0 -2
  1523. package/docs/functions/Util.cleanup.html +0 -3
  1524. package/docs/functions/Util.convexHull.html +0 -2
  1525. package/docs/functions/Util.equal.html +0 -5
  1526. package/docs/functions/Util.fiveModelIsLoaded.html +0 -2
  1527. package/docs/functions/Util.generatePolygonGeometry.html +0 -2
  1528. package/docs/functions/Util.getCoordsFromClient.html +0 -1
  1529. package/docs/functions/Util.getCoordsFromElement.html +0 -1
  1530. package/docs/functions/Util.getFrameTime.html +0 -3
  1531. package/docs/functions/Util.getGeometryArea.html +0 -1
  1532. package/docs/functions/Util.getGeometryInfo.html +0 -1
  1533. package/docs/functions/Util.getIntersectFromRelativePosition.html +0 -1
  1534. package/docs/functions/Util.getRaycasterFromFivePointer.html +0 -1
  1535. package/docs/functions/Util.initialCSS3DRender.html +0 -1
  1536. package/docs/functions/Util.inside.html +0 -1
  1537. package/docs/functions/Util.isModelLike.html +0 -1
  1538. package/docs/functions/Util.isNil.html +0 -2
  1539. package/docs/functions/Util.isPanoramaLike.html +0 -1
  1540. package/docs/functions/Util.lookObject.html +0 -7
  1541. package/docs/functions/Util.lookPoint.html +0 -5
  1542. package/docs/functions/Util.nextFrame.html +0 -1
  1543. package/docs/functions/Util.notNil.html +0 -2
  1544. package/docs/functions/Util.reblink.html +0 -13
  1545. package/docs/functions/Util.replaceStaticPrefix.html +0 -8
  1546. package/docs/functions/Util.requestAnimationFrameInterval.html +0 -5
  1547. package/docs/functions/Util.sculpt.createBox.html +0 -1
  1548. package/docs/functions/Util.sculpt.createCircle.html +0 -1
  1549. package/docs/functions/Util.sculpt.createCylinder.html +0 -1
  1550. package/docs/functions/Util.sculpt.createLine.html +0 -2
  1551. package/docs/functions/Util.sculpt.createPoint.html +0 -1
  1552. package/docs/functions/Util.sculpt.createPolygon.html +0 -1
  1553. package/docs/functions/Util.sculpt.createPrism.html +0 -1
  1554. package/docs/functions/Util.sculpt.createRectangle.html +0 -2
  1555. package/docs/functions/Util.sculpt.transformUnit.html +0 -4
  1556. package/docs/functions/Util.sculpt.transformUnitSquare.html +0 -1
  1557. package/docs/functions/Util.tag.html +0 -1
  1558. package/docs/functions/Util.triangleArea.html +0 -2
  1559. package/docs/functions/Util.triangleCenter.html +0 -2
  1560. package/docs/functions/Util.tweenProgress.html +0 -1
  1561. package/docs/functions/Util.uuid.html +0 -2
  1562. package/docs/functions/Util.waitFiveModelLoaded.html +0 -2
  1563. package/docs/functions/Util.worldBounding.html +0 -1
  1564. package/docs/functions/Util.worldBoundingBox.html +0 -1
  1565. package/docs/functions/Util.worldBoundingSphere.html +0 -1
  1566. package/docs/functions/classifyMovementTrack.html +0 -1
  1567. package/docs/functions/createPolyline.html +0 -2
  1568. package/docs/functions/getAreaBox3.html +0 -2
  1569. package/docs/functions/getAreaVertices.html +0 -2
  1570. package/docs/functions/getEffectivePointActionDuration.html +0 -1
  1571. package/docs/functions/getEntryArea.html +0 -2
  1572. package/docs/functions/getMovementActionDuration.html +0 -1
  1573. package/docs/functions/hasMovementV2Signal.html +0 -1
  1574. package/docs/functions/isConverterSafeMovementMatrix.html +0 -1
  1575. package/docs/functions/pluginFlag.html +0 -1
  1576. package/docs/functions/transformAnimationDetailToDigitalScript.html +0 -3
  1577. package/docs/functions/transformScriptData.html +0 -4
  1578. package/docs/functions/validatePolygon.html +0 -1
  1579. package/docs/hierarchy.html +0 -1
  1580. package/docs/index.html +0 -69
  1581. package/docs/interfaces/AnimationScriptAdapterOptions.html +0 -6
  1582. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +0 -4
  1583. package/docs/interfaces/AreaMakerPluginType.Config.html +0 -8
  1584. package/docs/interfaces/AreaMakerPluginType.EventMap.html +0 -25
  1585. package/docs/interfaces/AreaMakerPluginType.Params.html +0 -4
  1586. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +0 -20
  1587. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +0 -13
  1588. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +0 -9
  1589. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +0 -3
  1590. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +0 -3
  1591. package/docs/interfaces/AreaMakerPluginType.State.html +0 -8
  1592. package/docs/interfaces/BoxAnimationConfig.html +0 -6
  1593. package/docs/interfaces/BoxPosition.html +0 -8
  1594. package/docs/interfaces/CSS3DRenderPluginEventMap.html +0 -9
  1595. package/docs/interfaces/CSS3DRenderPluginState.html +0 -7
  1596. package/docs/interfaces/CameraMovementPluginExportType.html +0 -11
  1597. package/docs/interfaces/ChapterLocation.html +0 -4
  1598. package/docs/interfaces/ChapterTimeInfo.html +0 -7
  1599. package/docs/interfaces/ContentTypeMapInterface.html +0 -83
  1600. package/docs/interfaces/CruisePluginTypes.Config.html +0 -8
  1601. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +0 -8
  1602. package/docs/interfaces/CruisePluginTypes.EventMap.html +0 -33
  1603. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +0 -6
  1604. package/docs/interfaces/CruisePluginTypes.MoveAction.html +0 -16
  1605. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +0 -19
  1606. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +0 -20
  1607. package/docs/interfaces/CruisePluginTypes.PluginData.html +0 -8
  1608. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +0 -2
  1609. package/docs/interfaces/CruisePluginTypes.PluginState.html +0 -15
  1610. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +0 -14
  1611. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +0 -15
  1612. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +0 -4
  1613. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +0 -3
  1614. package/docs/interfaces/CurrentPanoImagePluginType.State.html +0 -7
  1615. package/docs/interfaces/DigitalCameraKeyframe.html +0 -4
  1616. package/docs/interfaces/DigitalCameraPlayer.html +0 -4
  1617. package/docs/interfaces/DigitalCameraState.html +0 -4
  1618. package/docs/interfaces/DigitalChapter.html +0 -3
  1619. package/docs/interfaces/DigitalDataPlayer.html +0 -4
  1620. package/docs/interfaces/DigitalDataState.html +0 -4
  1621. package/docs/interfaces/DigitalEffectKeyframe.html +0 -4
  1622. package/docs/interfaces/DigitalEffectState.html +0 -8
  1623. package/docs/interfaces/DigitalItemKeyframe.html +0 -6
  1624. package/docs/interfaces/DigitalItemState.html +0 -7
  1625. package/docs/interfaces/DigitalModelKeyframe.html +0 -9
  1626. package/docs/interfaces/DigitalModelPlayer.html +0 -10
  1627. package/docs/interfaces/DigitalModelPlayerEffect.html +0 -4
  1628. package/docs/interfaces/DigitalModelPlayerItem.html +0 -6
  1629. package/docs/interfaces/DigitalModelState.html +0 -8
  1630. package/docs/interfaces/DigitalPerformancePluginConfig.html +0 -9
  1631. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +0 -13
  1632. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +0 -23
  1633. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +0 -7
  1634. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateBinding.html +0 -5
  1635. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateOptions.html +0 -22
  1636. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateRenderContext.html +0 -5
  1637. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +0 -15
  1638. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +0 -13
  1639. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +0 -18
  1640. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +0 -10
  1641. package/docs/interfaces/DigitalScript.html +0 -5
  1642. package/docs/interfaces/DigitalSubTitleKeyframe.html +0 -7
  1643. package/docs/interfaces/DigitalSubTitlePlayer.html +0 -4
  1644. package/docs/interfaces/DigitalSubTitleState.html +0 -6
  1645. package/docs/interfaces/ExtendedAnimationConfig.html +0 -5
  1646. package/docs/interfaces/FireArea.html +0 -5
  1647. package/docs/interfaces/FireModel.html +0 -9
  1648. package/docs/interfaces/FireSceneConfig.html +0 -9
  1649. package/docs/interfaces/FireSequencePlayerOptions.html +0 -4
  1650. package/docs/interfaces/FireSequenceStep.html +0 -5
  1651. package/docs/interfaces/FireVector3.html +0 -4
  1652. package/docs/interfaces/FloorplanBounding.html +0 -9
  1653. package/docs/interfaces/FloorplanData.html +0 -8
  1654. package/docs/interfaces/FloorplanEntrance.html +0 -14
  1655. package/docs/interfaces/FloorplanExtraObject.html +0 -9
  1656. package/docs/interfaces/FloorplanExtraObject3D.html +0 -5
  1657. package/docs/interfaces/FloorplanFloorData.html +0 -9
  1658. package/docs/interfaces/FloorplanImagePosition.html +0 -4
  1659. package/docs/interfaces/FloorplanObserver.html +0 -9
  1660. package/docs/interfaces/FloorplanOutlineItem.html +0 -6
  1661. package/docs/interfaces/FloorplanPosition.html +0 -4
  1662. package/docs/interfaces/FloorplanRoomItem.html +0 -24
  1663. package/docs/interfaces/FloorplanRoomLabelItem.html +0 -6
  1664. package/docs/interfaces/FloorplanServerBounding.html +0 -9
  1665. package/docs/interfaces/FloorplanServerComputedData.html +0 -6
  1666. package/docs/interfaces/FloorplanServerData.html +0 -5
  1667. package/docs/interfaces/FloorplanServerDoorItem.html +0 -6
  1668. package/docs/interfaces/FloorplanServerDoorPosition.html +0 -4
  1669. package/docs/interfaces/FloorplanServerEntrance.html +0 -14
  1670. package/docs/interfaces/FloorplanServerFloorData.html +0 -8
  1671. package/docs/interfaces/FloorplanServerImagePosition.html +0 -4
  1672. package/docs/interfaces/FloorplanServerObserver.html +0 -9
  1673. package/docs/interfaces/FloorplanServerOutlineItem.html +0 -7
  1674. package/docs/interfaces/FloorplanServerPosition.html +0 -4
  1675. package/docs/interfaces/FloorplanServerRoomItem.html +0 -27
  1676. package/docs/interfaces/FloorplanServerRoomLabelItem.html +0 -6
  1677. package/docs/interfaces/FloorplanServerStyledFloorplan.html +0 -3
  1678. package/docs/interfaces/FloorplanServerStyledImage.html +0 -6
  1679. package/docs/interfaces/GlobalProgress.html +0 -7
  1680. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +0 -4
  1681. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +0 -7
  1682. package/docs/interfaces/GuideLinePluginType.EventMap.html +0 -13
  1683. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +0 -5
  1684. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +0 -8
  1685. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +0 -2
  1686. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +0 -32
  1687. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +0 -4
  1688. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +0 -5
  1689. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +0 -42
  1690. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +0 -3
  1691. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +0 -57
  1692. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +0 -1
  1693. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +0 -2
  1694. package/docs/interfaces/GuideLinePluginType.PluginState.html +0 -7
  1695. package/docs/interfaces/GuideLinePluginType.Route.html +0 -13
  1696. package/docs/interfaces/HelperOffset.html +0 -4
  1697. package/docs/interfaces/ImagePlaneGroup.html +0 -3
  1698. package/docs/interfaces/ItemLabelPluginData.html +0 -2
  1699. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +0 -7
  1700. package/docs/interfaces/ItemLabelPluginParametersType.html +0 -5
  1701. package/docs/interfaces/LegacyScriptTransformer.html +0 -2
  1702. package/docs/interfaces/MinMax.html +0 -3
  1703. package/docs/interfaces/ModelChassisCompassPluginData.html +0 -3
  1704. package/docs/interfaces/ModelChassisCompassPluginExportType.html +0 -4
  1705. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +0 -3
  1706. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +0 -4
  1707. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +0 -4
  1708. package/docs/interfaces/ModelItemLabelPluginData.html +0 -2
  1709. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +0 -7
  1710. package/docs/interfaces/ModelItemLabelPluginParametersType.html +0 -3
  1711. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +0 -17
  1712. package/docs/interfaces/ModelMakerPluginType.EventMap.html +0 -18
  1713. package/docs/interfaces/ModelMakerPluginType.ModelMakerPluginConfig.html +0 -19
  1714. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +0 -23
  1715. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +0 -11
  1716. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +0 -10
  1717. package/docs/interfaces/ModelMakerPluginType.ServerData.html +0 -3
  1718. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +0 -10
  1719. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +0 -10
  1720. package/docs/interfaces/ModelMakerPluginType.State.html +0 -8
  1721. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +0 -11
  1722. package/docs/interfaces/ModelRoomLabelPluginData.html +0 -2
  1723. package/docs/interfaces/ModelTVVideoPluginData.html +0 -5
  1724. package/docs/interfaces/ModelTVVideoPluginExportType.html +0 -4
  1725. package/docs/interfaces/ModelTVVideoPluginParameterType.html +0 -3
  1726. package/docs/interfaces/ModelViewPluginExportType.html +0 -8
  1727. package/docs/interfaces/Object3DHelperState.html +0 -4
  1728. package/docs/interfaces/ObjectHelperControllers.html +0 -5
  1729. package/docs/interfaces/PaintBrushAction.html +0 -14
  1730. package/docs/interfaces/PaintBrushConfigs.html +0 -8
  1731. package/docs/interfaces/PaintBrushState.html +0 -6
  1732. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +0 -16
  1733. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +0 -1
  1734. package/docs/interfaces/PanoMeasureParameterType.html +0 -21
  1735. package/docs/interfaces/PanoMeasurePluginLineJson.html +0 -4
  1736. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +0 -4
  1737. package/docs/interfaces/PanoMeasurePluginPointJson.html +0 -3
  1738. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +0 -7
  1739. package/docs/interfaces/PanoRulerPluginExportType.html +0 -6
  1740. package/docs/interfaces/PanoRulerPluginOptions.html +0 -3
  1741. package/docs/interfaces/PanoRulerPluginParameterType.html +0 -4
  1742. package/docs/interfaces/PanoRulerProPluginExportType.html +0 -5
  1743. package/docs/interfaces/PanoRulerProPluginOptions.html +0 -3
  1744. package/docs/interfaces/PanoRulerProPluginParameterType.html +0 -3
  1745. package/docs/interfaces/PanoRulerProPluginState.html +0 -4
  1746. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +0 -1
  1747. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +0 -1
  1748. package/docs/interfaces/PanoSpatialTagPluginData.html +0 -7
  1749. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +0 -6
  1750. package/docs/interfaces/PanoSpatialTagPluginExportType.html +0 -9
  1751. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +0 -6
  1752. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +0 -9
  1753. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +0 -7
  1754. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +0 -6
  1755. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +0 -3
  1756. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +0 -8
  1757. package/docs/interfaces/PanoVideoPluginType.PluginData.html +0 -2
  1758. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +0 -15
  1759. package/docs/interfaces/PanoVideoPluginType.PluginState.html +0 -2
  1760. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +0 -14
  1761. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +0 -13
  1762. package/docs/interfaces/PlaybackController.html +0 -4
  1763. package/docs/interfaces/PlaybackManager.html +0 -2
  1764. package/docs/interfaces/PlaybackSession.html +0 -5
  1765. package/docs/interfaces/PluginEventMap.html +0 -16
  1766. package/docs/interfaces/Point.html +0 -4
  1767. package/docs/interfaces/ProgressBarEvents.html +0 -7
  1768. package/docs/interfaces/Room.html +0 -5
  1769. package/docs/interfaces/RoomInfo.html +0 -3
  1770. package/docs/interfaces/RoomLabel.html +0 -16
  1771. package/docs/interfaces/RoomRules.html +0 -1
  1772. package/docs/interfaces/Rooms.html +0 -1
  1773. package/docs/interfaces/Scissor.html +0 -13
  1774. package/docs/interfaces/SculptConfig.html +0 -19
  1775. package/docs/interfaces/State.html +0 -7
  1776. package/docs/interfaces/StyledFloorplan.html +0 -3
  1777. package/docs/interfaces/StyledFloorplanImage.html +0 -6
  1778. package/docs/interfaces/StyledFloorplanRoomLabel.html +0 -8
  1779. package/docs/interfaces/TagCacheInterface.html +0 -9
  1780. package/docs/interfaces/TagConfig.html +0 -189
  1781. package/docs/interfaces/TagGLTFObjectGroup.html +0 -3
  1782. package/docs/interfaces/TagIconAnimationConfig.html +0 -7
  1783. package/docs/interfaces/TagIconUrl.html +0 -22
  1784. package/docs/interfaces/TagObjectGroup.html +0 -3
  1785. package/docs/interfaces/TagState.html +0 -3
  1786. package/docs/interfaces/TagStyle.html +0 -17
  1787. package/docs/interfaces/Tags.html +0 -8
  1788. package/docs/interfaces/TemporaryState.html +0 -2
  1789. package/docs/interfaces/TraceManager.html +0 -6
  1790. package/docs/interfaces/TracePoint.html +0 -3
  1791. package/docs/interfaces/Util.AnimeInstance.html +0 -14
  1792. package/docs/interfaces/Util.BlinkAnimeOptions.html +0 -21
  1793. package/docs/interfaces/Util.EventHandlerConfig.html +0 -21
  1794. package/docs/interfaces/Util.FiveDomEvent.html +0 -7
  1795. package/docs/interfaces/Util.FiveDomEventMap.html +0 -20
  1796. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +0 -4
  1797. package/docs/interfaces/Util.MagnifierParameter.html +0 -13
  1798. package/docs/interfaces/Util.MouseGroupParameter.html +0 -4
  1799. package/docs/interfaces/Util.ObjectInitialState.html +0 -9
  1800. package/docs/interfaces/Util.PointIntersection.html +0 -21
  1801. package/docs/interfaces/Util.PointSelectorHelperConfig.html +0 -6
  1802. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +0 -27
  1803. package/docs/modules/AreaMakerPluginType.html +0 -17
  1804. package/docs/modules/CruisePluginTypes.html +0 -14
  1805. package/docs/modules/CurrentPanoImagePluginType.html +0 -6
  1806. package/docs/modules/DigitalPerformanceV2.html +0 -22
  1807. package/docs/modules/GuideLineItem.html +0 -2
  1808. package/docs/modules/GuideLineModeItem.html +0 -3
  1809. package/docs/modules/GuideLinePluginType.html +0 -25
  1810. package/docs/modules/ModelMakerPluginType.html +0 -22
  1811. package/docs/modules/PanoVideoPluginType.html +0 -8
  1812. package/docs/modules/SculptData.html +0 -9
  1813. package/docs/modules/SculptType.html +0 -2
  1814. package/docs/modules/Util.html +0 -91
  1815. package/docs/modules/Util.sculpt.html +0 -27
  1816. package/docs/modules.html +0 -382
  1817. package/docs/types/AddObject3DHelperConfig.html +0 -19
  1818. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +0 -7
  1819. package/docs/types/AreaMakerPluginType.ItemRenderer.html +0 -1
  1820. package/docs/types/AreaMakerPluginType.PluginData.html +0 -2
  1821. package/docs/types/AreaMakerPluginType.ServerData.html +0 -2
  1822. package/docs/types/ArrayPosition.html +0 -1
  1823. package/docs/types/AudioAppearance.html +0 -1
  1824. package/docs/types/BoxTag.html +0 -2
  1825. package/docs/types/CSS3DRenderExportType.html +0 -1
  1826. package/docs/types/CSS3DRenderPluginExportType.html +0 -1
  1827. package/docs/types/CSS3DRenderPluginParameterType.html +0 -1
  1828. package/docs/types/CanonicalMovementTrackPlan.html +0 -1
  1829. package/docs/types/ClassFunctionParameters.html +0 -1
  1830. package/docs/types/Color.html +0 -1
  1831. package/docs/types/ContentTypeConfigKey.html +0 -1
  1832. package/docs/types/ContentTypeConfigKeySplit.html +0 -1
  1833. package/docs/types/ContentTypeMap.html +0 -1
  1834. package/docs/types/Create3DDomContainerReturnType.html +0 -1
  1835. package/docs/types/Create3DElementReturnType.html +0 -1
  1836. package/docs/types/CruisePluginExportType.html +0 -1
  1837. package/docs/types/CruisePluginTypes.CruiseData.html +0 -6
  1838. package/docs/types/CruisePluginTypes.MoveEffect.html +0 -1
  1839. package/docs/types/CurrentPanoImagePluginExportType.html +0 -1
  1840. package/docs/types/DeprecatedMediaPlaneProperty.html +0 -3
  1841. package/docs/types/DeprecatedTagProperty.html +0 -3
  1842. package/docs/types/DigitalPerformancePluginExportInterface.html +0 -1
  1843. package/docs/types/DigitalPerformancePluginParamsInterface.html +0 -1
  1844. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +0 -7
  1845. package/docs/types/DigitalPerformanceV2.CameraTransition.html +0 -7
  1846. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +0 -1
  1847. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +0 -1
  1848. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +0 -1
  1849. package/docs/types/Direction-1.html +0 -1
  1850. package/docs/types/Direction4.html +0 -1
  1851. package/docs/types/ElementRenderer.html +0 -2
  1852. package/docs/types/FireModelType.html +0 -5
  1853. package/docs/types/FireSequenceKind.html +0 -3
  1854. package/docs/types/FireSpreadBounds.html +0 -2
  1855. package/docs/types/FloorplanAffineTransform.html +0 -1
  1856. package/docs/types/FloorplanGuidePluginParameterType.html +0 -1
  1857. package/docs/types/FloorplanGuidePluginReturnType.html +0 -1
  1858. package/docs/types/FloorplanRuleLabels.html +0 -2
  1859. package/docs/types/FloorplanServerAffineTransform.html +0 -1
  1860. package/docs/types/FloorplanServerRuleLabels.html +0 -1
  1861. package/docs/types/GuideLinePluginExportType.html +0 -1
  1862. package/docs/types/GuideLinePluginType.GuideLineItem.html +0 -2
  1863. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +0 -1
  1864. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +0 -1
  1865. package/docs/types/GuideLinePluginType.GuideLineStyle.html +0 -2
  1866. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +0 -2
  1867. package/docs/types/GuideLinePluginType.PathItem.html +0 -2
  1868. package/docs/types/GuideLinePluginType.PluginData.html +0 -2
  1869. package/docs/types/GuideLinePluginType.RouteConfig.html +0 -4
  1870. package/docs/types/HelperEventMap.html +0 -1
  1871. package/docs/types/InternalHelperEventMap.html +0 -1
  1872. package/docs/types/KeyframeType.html +0 -1
  1873. package/docs/types/MapviewFloorplanPluginParameterType.html +0 -1
  1874. package/docs/types/MapviewFloorplanPluginReturnType.html +0 -1
  1875. package/docs/types/MaskPosition.html +0 -3
  1876. package/docs/types/MaskTag.html +0 -2
  1877. package/docs/types/MeasureEndReason.html +0 -1
  1878. package/docs/types/MeasurePluginConfig.html +0 -10
  1879. package/docs/types/MeasurePluginEventMap.html +0 -1
  1880. package/docs/types/MediaData.html +0 -2
  1881. package/docs/types/MediaOperations.html +0 -1
  1882. package/docs/types/MediaStore.html +0 -1
  1883. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +0 -1
  1884. package/docs/types/ModelFloorplanPluginParameterType.html +0 -1
  1885. package/docs/types/ModelFloorplanPluginReturnType.html +0 -1
  1886. package/docs/types/ModelId.html +0 -1
  1887. package/docs/types/ModelMakerPluginType.ElementRenderer.html +0 -1
  1888. package/docs/types/ModelMakerPluginType.ItemType.html +0 -2
  1889. package/docs/types/ModelMakerPluginType.MarkerItem.html +0 -1
  1890. package/docs/types/ModelMakerPluginType.ServerItem.html +0 -2
  1891. package/docs/types/ModelMakerPluginType.TagOcclusionScope.html +0 -2
  1892. package/docs/types/ModelMakerPluginType.TagOcclusionScopeConfig.html +0 -2
  1893. package/docs/types/ModelRoomLabelPluginParameters.html +0 -1
  1894. package/docs/types/ModelRoomLabelPluginReturnType.html +0 -1
  1895. package/docs/types/MoveArgs.html +0 -2
  1896. package/docs/types/MoveOpts.html +0 -2
  1897. package/docs/types/MovementConfig.html +0 -1
  1898. package/docs/types/MovementPosition.html +0 -1
  1899. package/docs/types/MovementTrackClassification.html +0 -1
  1900. package/docs/types/MovementTrackConflictReason.html +0 -1
  1901. package/docs/types/MovementTrackProjection.html +0 -1
  1902. package/docs/types/Object3DHelperEventMap.html +0 -1
  1903. package/docs/types/ObjectFit.html +0 -1
  1904. package/docs/types/PaintBrushEventMap.html +0 -1
  1905. package/docs/types/PanoCompassPluginData.html +0 -1
  1906. package/docs/types/PanoCompassPluginExportType.html +0 -1
  1907. package/docs/types/PanoCompassPluginParameterType.html +0 -1
  1908. package/docs/types/PanoFloorplanRadarPluginParameterType.html +0 -1
  1909. package/docs/types/PanoFloorplanRadarPluginReturnType.html +0 -1
  1910. package/docs/types/PanoIndex.html +0 -1
  1911. package/docs/types/PanoMeasurePluginEvent.html +0 -1
  1912. package/docs/types/PanoMeasureReturnType.html +0 -1
  1913. package/docs/types/PanoSpatialTagPluginId.html +0 -1
  1914. package/docs/types/PanoTagPluginExportInterface.html +0 -1
  1915. package/docs/types/PanoTagPluginParamsInterface.html +0 -1
  1916. package/docs/types/PanoVideoPluginParameterType.html +0 -1
  1917. package/docs/types/PanoVideoPluginReturnType.html +0 -1
  1918. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +0 -2
  1919. package/docs/types/PipelinePluginParameterType.html +0 -1
  1920. package/docs/types/PipelinePluginReturnType.html +0 -1
  1921. package/docs/types/PlaneTag.html +0 -2
  1922. package/docs/types/Point2DTag.html +0 -2
  1923. package/docs/types/Point3DTag.html +0 -2
  1924. package/docs/types/PointAction.html +0 -1
  1925. package/docs/types/PointTagInstance.html +0 -1
  1926. package/docs/types/PolygonPosition.html +0 -3
  1927. package/docs/types/PolygonTag.html +0 -2
  1928. package/docs/types/Position.html +0 -1
  1929. package/docs/types/PositionFrom.html +0 -1
  1930. package/docs/types/ProgressListener.html +0 -1
  1931. package/docs/types/RotateArgs.html +0 -2
  1932. package/docs/types/RotateOpts.html +0 -2
  1933. package/docs/types/RuleLabelsKey.html +0 -1
  1934. package/docs/types/RuleLabelsValue.html +0 -1
  1935. package/docs/types/ScaleCallback.html +0 -1
  1936. package/docs/types/ScalePosition.html +0 -3
  1937. package/docs/types/SculptData.BoxData.html +0 -1
  1938. package/docs/types/SculptData.CircleData.html +0 -1
  1939. package/docs/types/SculptData.CylinderData.html +0 -1
  1940. package/docs/types/SculptData.PointData.html +0 -1
  1941. package/docs/types/SculptData.PolygonData.html +0 -1
  1942. package/docs/types/SculptData.PolylineData.html +0 -1
  1943. package/docs/types/SculptData.PrismData.html +0 -1
  1944. package/docs/types/SculptData.RectangleData.html +0 -1
  1945. package/docs/types/SculptType.Theme.html +0 -10
  1946. package/docs/types/StateType.html +0 -1
  1947. package/docs/types/StickType.html +0 -1
  1948. package/docs/types/Tag.html +0 -17
  1949. package/docs/types/Tag2D.html +0 -2
  1950. package/docs/types/Tag3D.html +0 -2
  1951. package/docs/types/TagClickParams.html +0 -1
  1952. package/docs/types/TagConfigByKey.html +0 -1
  1953. package/docs/types/TagContentType.html +0 -1
  1954. package/docs/types/TagContentTypeMapping.html +0 -1
  1955. package/docs/types/TagDimensionType.html +0 -1
  1956. package/docs/types/TagElement.html +0 -2
  1957. package/docs/types/TagEvents.html +0 -1
  1958. package/docs/types/TagGLTFObject.html +0 -1
  1959. package/docs/types/TagHooks.html +0 -1
  1960. package/docs/types/TagId.html +0 -1
  1961. package/docs/types/TagInstance.html +0 -1
  1962. package/docs/types/TagPlacement.html +0 -5
  1963. package/docs/types/TagPointType.html +0 -2
  1964. package/docs/types/TagRendererMap.html +0 -1
  1965. package/docs/types/TopviewFloorplanPluginParameterType.html +0 -1
  1966. package/docs/types/TopviewFloorplanPluginReturnType.html +0 -1
  1967. package/docs/types/TrackPoint.html +0 -1
  1968. package/docs/types/Util.ActionIfNoIntersection.html +0 -1
  1969. package/docs/types/Util.AdherePoint.html +0 -2
  1970. package/docs/types/Util.PointSelectorConfig.html +0 -1
  1971. package/docs/types/Util.SupportedTarget.html +0 -2
  1972. package/docs/types/Util.Target.html +0 -2
  1973. package/docs/types/Util.ThreeObject.html +0 -2
  1974. package/docs/types/WorkCode.html +0 -1
  1975. package/docs/variables/DigitalPerformanceV2.DEFAULT_DIGITAL_PERFORMANCE_NAME_MAX_LENGTH.html +0 -1
  1976. package/docs/variables/FIRE_ACTION_DURATION_MS.html +0 -2
  1977. package/docs/variables/FIRE_SPREAD_SPEED.html +0 -2
  1978. package/docs/variables/FLOOR_TYPE_MAP.html +0 -2
  1979. package/docs/variables/MODEL_SCALE_RANGE.html +0 -2
  1980. package/docs/variables/MOVEMENT_OCCURRENCE_EPSILON.html +0 -1
  1981. package/docs/variables/MOVEMENT_POSITION_EPSILON.html +0 -1
  1982. package/docs/variables/MOVEMENT_SCHEMA_VERSION.html +0 -1
  1983. package/docs/variables/PLUGIN.html +0 -1
  1984. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +0 -2
  1985. package/docs/variables/ROOM_TYPE_MAP.html +0 -2
  1986. package/docs/variables/Util.ANIME_PRESETS.html +0 -2
  1987. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +0 -2
  1988. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +0 -2
  1989. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +0 -2
  1990. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +0 -2
  1991. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +0 -2
  1992. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +0 -2
  1993. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +0 -2
  1994. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +0 -2
  1995. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +0 -2
  1996. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +0 -2
  1997. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +0 -2
  1998. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +0 -2
  1999. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +0 -2
  2000. package/docs/variables/defaultGlobalConfig.html +0 -1
  2001. package/docs/variables/itemLabelPluginServerParams.html +0 -1
  2002. package/docs/variables/modelItemLabelPluginServerParams.html +0 -1
  2003. package/docs/variables/modelRoomLabelPluginServerParams.html +0 -1
  2004. package/libs/AreaMakerPlugin/Controller.d.ts +0 -96
  2005. package/libs/AreaMakerPlugin/Controller.js +0 -392
  2006. package/libs/AreaMakerPlugin/index.d.ts +0 -4
  2007. package/libs/AreaMakerPlugin/index.js +0 -91
  2008. package/libs/AreaMakerPlugin/typing.d.ts +0 -167
  2009. package/libs/AreaMakerPlugin/typing.js +0 -1
  2010. package/libs/AreaMakerPlugin/utils/Item.d.ts +0 -137
  2011. package/libs/AreaMakerPlugin/utils/Item.js +0 -365
  2012. package/libs/CSS3DRenderPlugin/Controller.d.ts +0 -87
  2013. package/libs/CSS3DRenderPlugin/Controller.js +0 -192
  2014. package/libs/CSS3DRenderPlugin/index.d.ts +0 -6
  2015. package/libs/CSS3DRenderPlugin/index.js +0 -76
  2016. package/libs/CSS3DRenderPlugin/typing.d.ts +0 -26
  2017. package/libs/CSS3DRenderPlugin/typing.js +0 -1
  2018. package/libs/CSS3DRenderPlugin/utils/generateBehindFiveElement.d.ts +0 -3
  2019. package/libs/CSS3DRenderPlugin/utils/generateBehindFiveElement.js +0 -32
  2020. package/libs/CSS3DRenderPlugin/utils/getAllCSS3DObject.d.ts +0 -3
  2021. package/libs/CSS3DRenderPlugin/utils/getAllCSS3DObject.js +0 -12
  2022. package/libs/CSS3DRenderPlugin/utils/index.d.ts +0 -3
  2023. package/libs/CSS3DRenderPlugin/utils/index.js +0 -11
  2024. package/libs/CSS3DRenderPlugin/utils/positionToVector3.d.ts +0 -1
  2025. package/libs/CSS3DRenderPlugin/utils/positionToVector3.js +0 -7
  2026. package/libs/CSS3DRenderPlugin/utils/random.d.ts +0 -1
  2027. package/libs/CSS3DRenderPlugin/utils/random.js +0 -6
  2028. package/libs/CSS3DRenderPlugin/utils/three/CSS3DGroup.d.ts +0 -21
  2029. package/libs/CSS3DRenderPlugin/utils/three/CSS3DGroup.js +0 -55
  2030. package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.d.ts +0 -55
  2031. package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.js +0 -182
  2032. package/libs/CSS3DRenderPlugin/utils/three/CSS3DRender.d.ts +0 -184
  2033. package/libs/CSS3DRenderPlugin/utils/three/CSS3DRender.js +0 -368
  2034. package/libs/CSS3DRenderPlugin/utils/three/CSS3DRenderer.d.ts +0 -1
  2035. package/libs/CSS3DRenderPlugin/utils/three/CSS3DRenderer.js +0 -8
  2036. package/libs/CSS3DRenderPlugin/utils/three/CSS3DScene.d.ts +0 -12
  2037. package/libs/CSS3DRenderPlugin/utils/three/CSS3DScene.js +0 -40
  2038. package/libs/CSS3DRenderPlugin/utils/three/CSS3DSprite.d.ts +0 -5
  2039. package/libs/CSS3DRenderPlugin/utils/three/CSS3DSprite.js +0 -15
  2040. package/libs/CameraMovementPlugin/CameraMovementPlugin.d.ts +0 -7
  2041. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +0 -99
  2042. package/libs/CameraMovementPlugin/index.d.ts +0 -5
  2043. package/libs/CameraMovementPlugin/index.js +0 -14
  2044. package/libs/CameraMovementPlugin/typing.d.ts +0 -68
  2045. package/libs/CameraMovementPlugin/typing.js +0 -5
  2046. package/libs/CruisePlugin/BaseController.d.ts +0 -165
  2047. package/libs/CruisePlugin/BaseController.js +0 -287
  2048. package/libs/CruisePlugin/Move.d.ts +0 -56
  2049. package/libs/CruisePlugin/Move.js +0 -487
  2050. package/libs/CruisePlugin/Work.d.ts +0 -127
  2051. package/libs/CruisePlugin/Work.js +0 -907
  2052. package/libs/CruisePlugin/index.d.ts +0 -12
  2053. package/libs/CruisePlugin/index.js +0 -359
  2054. package/libs/CruisePlugin/typing/index.js +0 -6
  2055. package/libs/CruisePlugin/typing.d.ts +0 -157
  2056. package/libs/CruisePlugin/typing.js +0 -1
  2057. package/libs/CruisePlugin/utils/coordinatesAngle.d.ts +0 -28
  2058. package/libs/CruisePlugin/utils/coordinatesAngle.js +0 -14
  2059. package/libs/CruisePlugin/utils/coordinatesToVector.d.ts +0 -7
  2060. package/libs/CruisePlugin/utils/coordinatesToVector.js +0 -15
  2061. package/libs/CruisePlugin/utils/formatRad.js +0 -7
  2062. package/libs/CruisePlugin/utils/getFiveStateOnCurve.d.ts +0 -11
  2063. package/libs/CruisePlugin/utils/getFiveStateOnCurve.js +0 -11
  2064. package/libs/CruisePlugin/utils/linerValue.js +0 -7
  2065. package/libs/CruisePlugin/utils/safeCall.d.ts +0 -1
  2066. package/libs/CruisePlugin/utils/safeCall.js +0 -28
  2067. package/libs/CruisePlugin/utils/sleep.d.ts +0 -1
  2068. package/libs/CruisePlugin/utils/sleep.js +0 -10
  2069. package/libs/CurrentPanoImagePlugin/Controller.d.ts +0 -103
  2070. package/libs/CurrentPanoImagePlugin/Controller.js +0 -336
  2071. package/libs/CurrentPanoImagePlugin/index.d.ts +0 -7
  2072. package/libs/CurrentPanoImagePlugin/index.js +0 -81
  2073. package/libs/CurrentPanoImagePlugin/typings.d.ts +0 -58
  2074. package/libs/CurrentPanoImagePlugin/typings.js +0 -1
  2075. package/libs/DigitalPerformancePlugin/animation-script-adapter.d.ts +0 -20
  2076. package/libs/DigitalPerformancePlugin/animation-script-adapter.js +0 -234
  2077. package/libs/DigitalPerformancePlugin/controller/index.d.ts +0 -232
  2078. package/libs/DigitalPerformancePlugin/controller/index.js +0 -847
  2079. package/libs/DigitalPerformancePlugin/core/DigitalHuman.d.ts +0 -96
  2080. package/libs/DigitalPerformancePlugin/core/DigitalHuman.js +0 -333
  2081. package/libs/DigitalPerformancePlugin/core/DigitalPerformanceNameplate.d.ts +0 -115
  2082. package/libs/DigitalPerformancePlugin/core/DigitalPerformanceNameplate.js +0 -266
  2083. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +0 -47
  2084. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.js +0 -184
  2085. package/libs/DigitalPerformancePlugin/core/DigitalStateMachine.d.ts +0 -152
  2086. package/libs/DigitalPerformancePlugin/core/DigitalStateMachine.js +0 -153
  2087. package/libs/DigitalPerformancePlugin/core/Trace.d.ts +0 -9
  2088. package/libs/DigitalPerformancePlugin/core/Trace.js +0 -23
  2089. package/libs/DigitalPerformancePlugin/index.d.ts +0 -16
  2090. package/libs/DigitalPerformancePlugin/index.js +0 -36
  2091. package/libs/DigitalPerformancePlugin/mock.d.ts +0 -76
  2092. package/libs/DigitalPerformancePlugin/mock.js +0 -379
  2093. package/libs/DigitalPerformancePlugin/movement-track-classifier.d.ts +0 -52
  2094. package/libs/DigitalPerformancePlugin/movement-track-classifier.js +0 -227
  2095. package/libs/DigitalPerformancePlugin/transform-script-data.d.ts +0 -7
  2096. package/libs/DigitalPerformancePlugin/transform-script-data.js +0 -72
  2097. package/libs/DigitalPerformancePlugin/typings/index.d.ts +0 -87
  2098. package/libs/DigitalPerformancePlugin/typings/index.js +0 -1
  2099. package/libs/DigitalPerformanceV2Plugin/controller/index.d.ts +0 -401
  2100. package/libs/DigitalPerformanceV2Plugin/controller/index.js +0 -874
  2101. package/libs/DigitalPerformanceV2Plugin/core/CameraDirector.d.ts +0 -61
  2102. package/libs/DigitalPerformanceV2Plugin/core/CameraDirector.js +0 -101
  2103. package/libs/DigitalPerformanceV2Plugin/core/CameraSampler.d.ts +0 -53
  2104. package/libs/DigitalPerformanceV2Plugin/core/CameraSampler.js +0 -91
  2105. package/libs/DigitalPerformanceV2Plugin/core/CameraTrack.d.ts +0 -21
  2106. package/libs/DigitalPerformanceV2Plugin/core/CameraTrack.js +0 -32
  2107. package/libs/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.d.ts +0 -39
  2108. package/libs/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.js +0 -72
  2109. package/libs/DigitalPerformanceV2Plugin/core/PerformanceClock.d.ts +0 -55
  2110. package/libs/DigitalPerformanceV2Plugin/core/PerformanceClock.js +0 -98
  2111. package/libs/DigitalPerformanceV2Plugin/core/Playground.d.ts +0 -112
  2112. package/libs/DigitalPerformanceV2Plugin/core/Playground.js +0 -219
  2113. package/libs/DigitalPerformanceV2Plugin/core/shared.d.ts +0 -4
  2114. package/libs/DigitalPerformanceV2Plugin/core/shared.js +0 -12
  2115. package/libs/DigitalPerformanceV2Plugin/index/index.js +0 -15
  2116. package/libs/DigitalPerformanceV2Plugin/index.d.ts +0 -11
  2117. package/libs/DigitalPerformanceV2Plugin/index.js +0 -29
  2118. package/libs/DigitalPerformanceV2Plugin/typings/index.d.ts +0 -124
  2119. package/libs/DigitalPerformanceV2Plugin/typings/index.js +0 -1
  2120. package/libs/FireScenePlugin/FireControl.d.ts +0 -153
  2121. package/libs/FireScenePlugin/FireControl.js +0 -450
  2122. package/libs/FireScenePlugin/SequencePlayer.d.ts +0 -41
  2123. package/libs/FireScenePlugin/SequencePlayer.js +0 -114
  2124. package/libs/FireScenePlugin/constants.d.ts +0 -28
  2125. package/libs/FireScenePlugin/constants.js +0 -26
  2126. package/libs/FireScenePlugin/fire/config.d.ts +0 -10
  2127. package/libs/FireScenePlugin/fire/config.js +0 -22
  2128. package/libs/FireScenePlugin/fire/index.d.ts +0 -6
  2129. package/libs/FireScenePlugin/fire/index.js +0 -13
  2130. package/libs/FireScenePlugin/fire/managers/FireManager.d.ts +0 -76
  2131. package/libs/FireScenePlugin/fire/managers/FireManager.js +0 -236
  2132. package/libs/FireScenePlugin/fire/type.d.ts +0 -51
  2133. package/libs/FireScenePlugin/fire/type.js +0 -1
  2134. package/libs/FireScenePlugin/index.d.ts +0 -6
  2135. package/libs/FireScenePlugin/index.js +0 -99
  2136. package/libs/FireScenePlugin/smoke/config.d.ts +0 -8
  2137. package/libs/FireScenePlugin/smoke/config.js +0 -18
  2138. package/libs/FireScenePlugin/smoke/index.d.ts +0 -1
  2139. package/libs/FireScenePlugin/smoke/index.js +0 -10
  2140. package/libs/FireScenePlugin/smoke/managers/NormalSmokeManager.d.ts +0 -49
  2141. package/libs/FireScenePlugin/smoke/managers/NormalSmokeManager.js +0 -136
  2142. package/libs/FireScenePlugin/smoke/managers/SmokeManager.d.ts +0 -89
  2143. package/libs/FireScenePlugin/smoke/managers/SmokeManager.js +0 -137
  2144. package/libs/FireScenePlugin/typing.d.ts +0 -55
  2145. package/libs/FireScenePlugin/typing.js +0 -1
  2146. package/libs/FireScenePlugin/utils/areaBounds.d.ts +0 -14
  2147. package/libs/FireScenePlugin/utils/areaBounds.js +0 -30
  2148. package/libs/FireScenePlugin/utils/particle.d.ts +0 -5
  2149. package/libs/FireScenePlugin/utils/particle.js +0 -7
  2150. package/libs/FireScenePlugin/utils/particleTexture.d.ts +0 -21
  2151. package/libs/FireScenePlugin/utils/particleTexture.js +0 -40
  2152. package/libs/FireScenePlugin/utils/radialSpread.d.ts +0 -54
  2153. package/libs/FireScenePlugin/utils/radialSpread.js +0 -75
  2154. package/libs/FireScenePlugin/utils/spread.d.ts +0 -17
  2155. package/libs/FireScenePlugin/utils/spread.js +0 -17
  2156. package/libs/GuideLinePlugin/Components/Tag.js +0 -293
  2157. package/libs/GuideLinePlugin/Components/Tag.svelte.d.ts +0 -1
  2158. package/libs/GuideLinePlugin/Controller.d.ts +0 -98
  2159. package/libs/GuideLinePlugin/Controller.js +0 -579
  2160. package/libs/GuideLinePlugin/GuideLineItem/index.js +0 -139
  2161. package/libs/GuideLinePlugin/GuideLineItem.d.ts +0 -36
  2162. package/libs/GuideLinePlugin/GuideLineItem.js +0 -351
  2163. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +0 -545
  2164. package/libs/GuideLinePlugin/GuideLineModeItem.d.ts +0 -152
  2165. package/libs/GuideLinePlugin/GuideLineModeItem.js +0 -333
  2166. package/libs/GuideLinePlugin/index.d.ts +0 -10
  2167. package/libs/GuideLinePlugin/index.js +0 -355
  2168. package/libs/GuideLinePlugin/typing.d.ts +0 -199
  2169. package/libs/GuideLinePlugin/typing.js +0 -1
  2170. package/libs/GuideLinePlugin/utils/createLineGeometry.d.ts +0 -36
  2171. package/libs/GuideLinePlugin/utils/createLineGeometry.js +0 -115
  2172. package/libs/GuideLinePlugin/utils/createPath.d.ts +0 -3
  2173. package/libs/GuideLinePlugin/utils/createPath.js +0 -34
  2174. package/libs/GuideLinePlugin/utils/dataFormatter.d.ts +0 -2
  2175. package/libs/GuideLinePlugin/utils/dataFormatter.js +0 -6
  2176. package/libs/GuideLinePlugin/utils/getArrowMaterial.d.ts +0 -4
  2177. package/libs/GuideLinePlugin/utils/getArrowMaterial.js +0 -13
  2178. package/libs/GuideLinePlugin/utils/getPoint.d.ts +0 -3
  2179. package/libs/GuideLinePlugin/utils/getPoint.js +0 -22
  2180. package/libs/GuideLinePlugin/utils/index.d.ts +0 -6
  2181. package/libs/GuideLinePlugin/utils/index.js +0 -6
  2182. package/libs/ItemLabelPlugin/ItemLabelComponent.js +0 -321
  2183. package/libs/ItemLabelPlugin/ItemLabelComponent.svelte.d.ts +0 -1
  2184. package/libs/ItemLabelPlugin/ItemLabelItem.js +0 -211
  2185. package/libs/ItemLabelPlugin/ItemLabelItem.svelte.d.ts +0 -1
  2186. package/libs/ItemLabelPlugin/Plugin.d.ts +0 -4
  2187. package/libs/ItemLabelPlugin/Plugin.js +0 -89
  2188. package/libs/ItemLabelPlugin/events.type.d.ts +0 -9
  2189. package/libs/ItemLabelPlugin/events.type.js +0 -1
  2190. package/libs/ItemLabelPlugin/index.d.ts +0 -9
  2191. package/libs/ItemLabelPlugin/index.js +0 -24
  2192. package/libs/ItemLabelPlugin/typings.d.ts +0 -65
  2193. package/libs/ItemLabelPlugin/typings.js +0 -4
  2194. package/libs/ItemLabelPlugin/utils/getLabelTransform.d.ts +0 -1
  2195. package/libs/ItemLabelPlugin/utils/getLabelTransform.js +0 -4
  2196. package/libs/ItemLabelPlugin/utils/getStrokeLength.d.ts +0 -5
  2197. package/libs/ItemLabelPlugin/utils/getStrokeLength.js +0 -16
  2198. package/libs/ItemLabelPlugin/utils/isImpacted.d.ts +0 -8
  2199. package/libs/ItemLabelPlugin/utils/isImpacted.js +0 -10
  2200. package/libs/ItemLabelPlugin/utils/parseData.d.ts +0 -3
  2201. package/libs/ItemLabelPlugin/utils/parseData.js +0 -21
  2202. package/libs/ItemLabelPlugin/utils/transform2RenderData.d.ts +0 -3
  2203. package/libs/ItemLabelPlugin/utils/transform2RenderData.js +0 -21
  2204. package/libs/MeasurePlugin/Controller.d.ts +0 -167
  2205. package/libs/MeasurePlugin/Controller.js +0 -871
  2206. package/libs/MeasurePlugin/index.d.ts +0 -17
  2207. package/libs/MeasurePlugin/index.js +0 -92
  2208. package/libs/MeasurePlugin/utils/MeasureMesh.d.ts +0 -29
  2209. package/libs/MeasurePlugin/utils/MeasureMesh.js +0 -124
  2210. package/libs/MeasurePlugin/utils/validatePolygon.d.ts +0 -2
  2211. package/libs/MeasurePlugin/utils/validatePolygon.js +0 -22
  2212. package/libs/ModelChassisCompassPlugin/Plugin.d.ts +0 -19
  2213. package/libs/ModelChassisCompassPlugin/Plugin.js +0 -148
  2214. package/libs/ModelChassisCompassPlugin/index.d.ts +0 -4
  2215. package/libs/ModelChassisCompassPlugin/index.js +0 -80
  2216. package/libs/ModelEntryDoorGuidePlugin/Plugin.d.ts +0 -27
  2217. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +0 -156
  2218. package/libs/ModelEntryDoorGuidePlugin/index.d.ts +0 -4
  2219. package/libs/ModelEntryDoorGuidePlugin/index.js +0 -81
  2220. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +0 -248
  2221. package/libs/ModelItemLabelPlugin/ItemLabelComponent.svelte.d.ts +0 -1
  2222. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +0 -94
  2223. package/libs/ModelItemLabelPlugin/ItemLabelItem.svelte.d.ts +0 -1
  2224. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +0 -4
  2225. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +0 -84
  2226. package/libs/ModelItemLabelPlugin/events.type.d.ts +0 -9
  2227. package/libs/ModelItemLabelPlugin/events.type.js +0 -1
  2228. package/libs/ModelItemLabelPlugin/index.d.ts +0 -9
  2229. package/libs/ModelItemLabelPlugin/index.js +0 -20
  2230. package/libs/ModelItemLabelPlugin/typings.d.ts +0 -56
  2231. package/libs/ModelItemLabelPlugin/typings.js +0 -4
  2232. package/libs/ModelItemLabelPlugin/utils/parseData.d.ts +0 -3
  2233. package/libs/ModelItemLabelPlugin/utils/parseData.js +0 -19
  2234. package/libs/ModelMakerPlugin/Controller.d.ts +0 -194
  2235. package/libs/ModelMakerPlugin/Controller.js +0 -652
  2236. package/libs/ModelMakerPlugin/index.d.ts +0 -9
  2237. package/libs/ModelMakerPlugin/index.js +0 -112
  2238. package/libs/ModelMakerPlugin/item/baseItem.d.ts +0 -68
  2239. package/libs/ModelMakerPlugin/item/baseItem.js +0 -128
  2240. package/libs/ModelMakerPlugin/item/boxItem.d.ts +0 -20
  2241. package/libs/ModelMakerPlugin/item/boxItem.js +0 -102
  2242. package/libs/ModelMakerPlugin/item/polygonItem.d.ts +0 -19
  2243. package/libs/ModelMakerPlugin/item/polygonItem.js +0 -102
  2244. package/libs/ModelMakerPlugin/item/prismItem.d.ts +0 -18
  2245. package/libs/ModelMakerPlugin/item/prismItem.js +0 -111
  2246. package/libs/ModelMakerPlugin/typings/config.d.ts +0 -26
  2247. package/libs/ModelMakerPlugin/typings/config.js +0 -1
  2248. package/libs/ModelMakerPlugin/typings/data.d.ts +0 -110
  2249. package/libs/ModelMakerPlugin/typings/data.js +0 -1
  2250. package/libs/ModelMakerPlugin/typings/index.d.ts +0 -52
  2251. package/libs/ModelMakerPlugin/typings/index.js +0 -1
  2252. package/libs/ModelMakerPlugin/utils/Text.js +0 -66
  2253. package/libs/ModelMakerPlugin/utils/Text.svelte.d.ts +0 -1
  2254. package/libs/ModelMakerPlugin/utils/getTagOcclusionObjects.d.ts +0 -4
  2255. package/libs/ModelMakerPlugin/utils/getTagOcclusionObjects.js +0 -14
  2256. package/libs/ModelMakerPlugin/utils/tagRenderer.d.ts +0 -3
  2257. package/libs/ModelMakerPlugin/utils/tagRenderer.js +0 -36
  2258. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.d.ts +0 -1
  2259. package/libs/ModelRoomLabelPlugin/Assets/roomLabelBg.js +0 -4
  2260. package/libs/ModelRoomLabelPlugin/Controller.d.ts +0 -38
  2261. package/libs/ModelRoomLabelPlugin/Controller.js +0 -88
  2262. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +0 -154
  2263. package/libs/ModelRoomLabelPlugin/RoomLabelItem.svelte.d.ts +0 -1
  2264. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +0 -217
  2265. package/libs/ModelRoomLabelPlugin/RoomLabelItems.svelte.d.ts +0 -1
  2266. package/libs/ModelRoomLabelPlugin/index.d.ts +0 -12
  2267. package/libs/ModelRoomLabelPlugin/index.js +0 -20
  2268. package/libs/ModelRoomLabelPlugin/typings.d.ts +0 -35
  2269. package/libs/ModelRoomLabelPlugin/typings.js +0 -1
  2270. package/libs/ModelRoomLabelPlugin/utils/parseData.d.ts +0 -3
  2271. package/libs/ModelRoomLabelPlugin/utils/parseData.js +0 -16
  2272. package/libs/ModelTVVideoPlugin/Plugin.d.ts +0 -4
  2273. package/libs/ModelTVVideoPlugin/Plugin.js +0 -291
  2274. package/libs/ModelTVVideoPlugin/index.d.ts +0 -5
  2275. package/libs/ModelTVVideoPlugin/index.js +0 -80
  2276. package/libs/ModelTVVideoPlugin/typings.d.ts +0 -27
  2277. package/libs/ModelTVVideoPlugin/typings.js +0 -4
  2278. package/libs/ModelTVVideoPlugin/utils/parseData.d.ts +0 -3
  2279. package/libs/ModelTVVideoPlugin/utils/parseData.js +0 -20
  2280. package/libs/ModelViewPlugin/Plugin.d.ts +0 -42
  2281. package/libs/ModelViewPlugin/Plugin.js +0 -196
  2282. package/libs/ModelViewPlugin/index.d.ts +0 -4
  2283. package/libs/ModelViewPlugin/index.js +0 -74
  2284. package/libs/Object3DHelperPlugin/Controller.d.ts +0 -153
  2285. package/libs/Object3DHelperPlugin/Controller.js +0 -355
  2286. package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +0 -23
  2287. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +0 -57
  2288. package/libs/Object3DHelperPlugin/index.d.ts +0 -6
  2289. package/libs/Object3DHelperPlugin/index.js +0 -118
  2290. package/libs/Object3DHelperPlugin/typings.d.ts +0 -38
  2291. package/libs/Object3DHelperPlugin/typings.js +0 -1
  2292. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.d.ts +0 -1
  2293. package/libs/PanoCompassPlugin/Assets/roomInfoIcon.js +0 -4
  2294. package/libs/PanoCompassPlugin/Controller.d.ts +0 -88
  2295. package/libs/PanoCompassPlugin/Controller.js +0 -364
  2296. package/libs/PanoCompassPlugin/getRoomInfoInstance.d.ts +0 -8
  2297. package/libs/PanoCompassPlugin/getRoomInfoInstance.js +0 -24
  2298. package/libs/PanoCompassPlugin/index.d.ts +0 -7
  2299. package/libs/PanoCompassPlugin/index.js +0 -84
  2300. package/libs/PanoCompassPlugin/typings.d.ts +0 -58
  2301. package/libs/PanoCompassPlugin/typings.js +0 -1
  2302. package/libs/PanoCursorRaycasterPlugin/index.d.ts +0 -48
  2303. package/libs/PanoCursorRaycasterPlugin/index.js +0 -61
  2304. package/libs/PanoDoorLabelPlugin/Controller.d.ts +0 -42
  2305. package/libs/PanoDoorLabelPlugin/Controller.js +0 -324
  2306. package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +0 -88
  2307. package/libs/PanoDoorLabelPlugin/DoorLabelItem.svelte.d.ts +0 -1
  2308. package/libs/PanoDoorLabelPlugin/index.d.ts +0 -7
  2309. package/libs/PanoDoorLabelPlugin/index.js +0 -80
  2310. package/libs/PanoDoorLabelPlugin/typings.d.ts +0 -38
  2311. package/libs/PanoDoorLabelPlugin/typings.js +0 -1
  2312. package/libs/PanoDoorLabelPlugin/utils.d.ts +0 -5
  2313. package/libs/PanoDoorLabelPlugin/utils.js +0 -23
  2314. package/libs/PanoMeasurePlugin/Components/Common/CircleButton.js +0 -93
  2315. package/libs/PanoMeasurePlugin/Components/Common/CircleButton.svelte.d.ts +0 -1
  2316. package/libs/PanoMeasurePlugin/Components/Common/Exit.js +0 -42
  2317. package/libs/PanoMeasurePlugin/Components/Common/Exit.svelte.d.ts +0 -1
  2318. package/libs/PanoMeasurePlugin/Components/Common/Switcher0.js +0 -246
  2319. package/libs/PanoMeasurePlugin/Components/Common/Switcher0.svelte.d.ts +0 -1
  2320. package/libs/PanoMeasurePlugin/Components/Common/Switcher1.js +0 -211
  2321. package/libs/PanoMeasurePlugin/Components/Common/Switcher1.svelte.d.ts +0 -1
  2322. package/libs/PanoMeasurePlugin/Components/Common/icons/index.d.ts +0 -4
  2323. package/libs/PanoMeasurePlugin/Components/Common/icons/index.js +0 -7
  2324. package/libs/PanoMeasurePlugin/Components/Controller0.js +0 -327
  2325. package/libs/PanoMeasurePlugin/Components/Controller0.svelte.d.ts +0 -1
  2326. package/libs/PanoMeasurePlugin/Components/Controller1.js +0 -477
  2327. package/libs/PanoMeasurePlugin/Components/Controller1.svelte.d.ts +0 -1
  2328. package/libs/PanoMeasurePlugin/Components/Tip.js +0 -131
  2329. package/libs/PanoMeasurePlugin/Components/Tip.svelte.d.ts +0 -1
  2330. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +0 -58
  2331. package/libs/PanoMeasurePlugin/Controller/BaseController.js +0 -91
  2332. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +0 -58
  2333. package/libs/PanoMeasurePlugin/Controller/EditController.js +0 -390
  2334. package/libs/PanoMeasurePlugin/Controller/MixedController.d.ts +0 -38
  2335. package/libs/PanoMeasurePlugin/Controller/MixedController.js +0 -150
  2336. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +0 -12
  2337. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +0 -30
  2338. package/libs/PanoMeasurePlugin/Controller/ViewController.d.ts +0 -13
  2339. package/libs/PanoMeasurePlugin/Controller/ViewController.js +0 -85
  2340. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +0 -33
  2341. package/libs/PanoMeasurePlugin/Controller/WatchController.js +0 -275
  2342. package/libs/PanoMeasurePlugin/Controller/index.d.ts +0 -115
  2343. package/libs/PanoMeasurePlugin/Controller/index.js +0 -364
  2344. package/libs/PanoMeasurePlugin/Model/area.d.ts +0 -75
  2345. package/libs/PanoMeasurePlugin/Model/area.js +0 -189
  2346. package/libs/PanoMeasurePlugin/Model/index.d.ts +0 -45
  2347. package/libs/PanoMeasurePlugin/Model/index.js +0 -101
  2348. package/libs/PanoMeasurePlugin/Model/line.d.ts +0 -39
  2349. package/libs/PanoMeasurePlugin/Model/line.js +0 -82
  2350. package/libs/PanoMeasurePlugin/Model/point.d.ts +0 -10
  2351. package/libs/PanoMeasurePlugin/Model/point.js +0 -27
  2352. package/libs/PanoMeasurePlugin/Model/polygon.d.ts +0 -14
  2353. package/libs/PanoMeasurePlugin/Model/polygon.js +0 -47
  2354. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +0 -47
  2355. package/libs/PanoMeasurePlugin/Model/polyline.js +0 -131
  2356. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +0 -2
  2357. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +0 -14
  2358. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +0 -2
  2359. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +0 -4
  2360. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +0 -2
  2361. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_hover_bg.png.js +0 -4
  2362. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +0 -30
  2363. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +0 -81
  2364. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +0 -26
  2365. package/libs/PanoMeasurePlugin/Modules/GuideController.js +0 -55
  2366. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +0 -19
  2367. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +0 -71
  2368. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.d.ts +0 -2
  2369. package/libs/PanoMeasurePlugin/Modules/UIController/HTML.js +0 -129
  2370. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +0 -19
  2371. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +0 -75
  2372. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +0 -12
  2373. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +0 -35
  2374. package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +0 -34
  2375. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +0 -171
  2376. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +0 -4
  2377. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +0 -82
  2378. package/libs/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.d.ts +0 -15
  2379. package/libs/PanoMeasurePlugin/Modules/UIController/mobileMainBtnController.js +0 -53
  2380. package/libs/PanoMeasurePlugin/Modules/UIController/style.d.ts +0 -8
  2381. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +0 -62
  2382. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +0 -4
  2383. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +0 -67
  2384. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +0 -42
  2385. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +0 -135
  2386. package/libs/PanoMeasurePlugin/index.d.ts +0 -14
  2387. package/libs/PanoMeasurePlugin/index.js +0 -145
  2388. package/libs/PanoMeasurePlugin/typings/data.d.ts +0 -58
  2389. package/libs/PanoMeasurePlugin/typings/data.js +0 -1
  2390. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +0 -55
  2391. package/libs/PanoMeasurePlugin/typings/event.type.js +0 -1
  2392. package/libs/PanoMeasurePlugin/typings/index.d.ts +0 -15
  2393. package/libs/PanoMeasurePlugin/typings/index.js +0 -1
  2394. package/libs/PanoMeasurePlugin/typings/utils.type.js +0 -1
  2395. package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +0 -2
  2396. package/libs/PanoMeasurePlugin/utils/clearGroup.js +0 -6
  2397. package/libs/PanoMeasurePlugin/utils/constants.d.ts +0 -4
  2398. package/libs/PanoMeasurePlugin/utils/constants.js +0 -35
  2399. package/libs/PanoMeasurePlugin/utils/dom/areaDom.d.ts +0 -22
  2400. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +0 -117
  2401. package/libs/PanoMeasurePlugin/utils/dom/base.d.ts +0 -29
  2402. package/libs/PanoMeasurePlugin/utils/dom/base.js +0 -78
  2403. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.d.ts +0 -34
  2404. package/libs/PanoMeasurePlugin/utils/dom/distanceItem.js +0 -147
  2405. package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +0 -10
  2406. package/libs/PanoMeasurePlugin/utils/findClosestPoint.js +0 -16
  2407. package/libs/PanoMeasurePlugin/utils/ironbox.d.ts +0 -1
  2408. package/libs/PanoMeasurePlugin/utils/ironbox.js +0 -4
  2409. package/libs/PanoMeasurePlugin/utils/isIntersecting.d.ts +0 -15
  2410. package/libs/PanoMeasurePlugin/utils/isIntersecting.js +0 -52
  2411. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +0 -3
  2412. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.js +0 -12
  2413. package/libs/PanoMeasurePlugin/utils/line.d.ts +0 -18
  2414. package/libs/PanoMeasurePlugin/utils/line.js +0 -19
  2415. package/libs/PanoMeasurePlugin/utils/math.d.ts +0 -17
  2416. package/libs/PanoMeasurePlugin/utils/math.js +0 -13
  2417. package/libs/PanoMeasurePlugin/utils/mouseGroup.d.ts +0 -7
  2418. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +0 -46
  2419. package/libs/PanoMeasurePlugin/utils/ndc2Screen.d.ts +0 -6
  2420. package/libs/PanoMeasurePlugin/utils/ndc2Screen.js +0 -8
  2421. package/libs/PanoRulerPlugin/Plugin.d.ts +0 -34
  2422. package/libs/PanoRulerPlugin/Plugin.js +0 -277
  2423. package/libs/PanoRulerPlugin/index.d.ts +0 -5
  2424. package/libs/PanoRulerPlugin/index.js +0 -10
  2425. package/libs/PanoRulerPlugin/style.d.ts +0 -2
  2426. package/libs/PanoRulerPlugin/style.js +0 -90
  2427. package/libs/PanoRulerPlugin/typings.d.ts +0 -21
  2428. package/libs/PanoRulerPlugin/typings.js +0 -1
  2429. package/libs/PanoRulerProPlugin/Controller.d.ts +0 -15
  2430. package/libs/PanoRulerProPlugin/Controller.js +0 -168
  2431. package/libs/PanoRulerProPlugin/RulerItem.js +0 -207
  2432. package/libs/PanoRulerProPlugin/RulerItem.svelte.d.ts +0 -1
  2433. package/libs/PanoRulerProPlugin/RulerItems.js +0 -255
  2434. package/libs/PanoRulerProPlugin/RulerItems.svelte.d.ts +0 -1
  2435. package/libs/PanoRulerProPlugin/index.d.ts +0 -8
  2436. package/libs/PanoRulerProPlugin/index.js +0 -81
  2437. package/libs/PanoRulerProPlugin/typings.d.ts +0 -46
  2438. package/libs/PanoRulerProPlugin/typings.js +0 -1
  2439. package/libs/PanoSpatialTagPlugin/Components/origins.js +0 -121
  2440. package/libs/PanoSpatialTagPlugin/Components/origins.svelte.d.ts +0 -1
  2441. package/libs/PanoSpatialTagPlugin/Components/tag.js +0 -206
  2442. package/libs/PanoSpatialTagPlugin/Components/tag.svelte.d.ts +0 -1
  2443. package/libs/PanoSpatialTagPlugin/Plugin.d.ts +0 -35
  2444. package/libs/PanoSpatialTagPlugin/Plugin.js +0 -307
  2445. package/libs/PanoSpatialTagPlugin/index.d.ts +0 -5
  2446. package/libs/PanoSpatialTagPlugin/index.js +0 -83
  2447. package/libs/PanoSpatialTagPlugin/store.d.ts +0 -1
  2448. package/libs/PanoSpatialTagPlugin/store.js +0 -6
  2449. package/libs/PanoSpatialTagPlugin/style.js +0 -11
  2450. package/libs/PanoSpatialTagPlugin/typings.d.ts +0 -40
  2451. package/libs/PanoSpatialTagPlugin/typings.js +0 -1
  2452. package/libs/PanoTagPlugin/Archive/deprecated.d.ts +0 -73
  2453. package/libs/PanoTagPlugin/Archive/deprecated.js +0 -6
  2454. package/libs/PanoTagPlugin/Assets/Icon.d.ts +0 -4
  2455. package/libs/PanoTagPlugin/Assets/Icon.js +0 -7
  2456. package/libs/PanoTagPlugin/Components/Common/Arrow.js +0 -128
  2457. package/libs/PanoTagPlugin/Components/Common/Arrow.svelte.d.ts +0 -1
  2458. package/libs/PanoTagPlugin/Components/Common/Audio.js +0 -193
  2459. package/libs/PanoTagPlugin/Components/Common/Audio.svelte.d.ts +0 -1
  2460. package/libs/PanoTagPlugin/Components/Common/AudioPlayer.js +0 -93
  2461. package/libs/PanoTagPlugin/Components/Common/AudioPlayer.svelte.d.ts +0 -1
  2462. package/libs/PanoTagPlugin/Components/Common/Icon/Icon.js +0 -804
  2463. package/libs/PanoTagPlugin/Components/Common/Icon/Icon.svelte.d.ts +0 -1
  2464. package/libs/PanoTagPlugin/Components/Common/Icon/PanoramaIcon.js +0 -186
  2465. package/libs/PanoTagPlugin/Components/Common/Icon/PanoramaIcon.svelte.d.ts +0 -1
  2466. package/libs/PanoTagPlugin/Components/Common/Icon/animationUtils.d.ts +0 -9
  2467. package/libs/PanoTagPlugin/Components/Common/Icon/animationUtils.js +0 -128
  2468. package/libs/PanoTagPlugin/Components/Common/Icon/audioIcon.js +0 -175
  2469. package/libs/PanoTagPlugin/Components/Common/Icon/audioIcon.svelte.d.ts +0 -1
  2470. package/libs/PanoTagPlugin/Components/Common/Icon/tag-popover-arrow-base64.d.ts +0 -8
  2471. package/libs/PanoTagPlugin/Components/Common/Icon/tag-popover-arrow-base64.js +0 -11
  2472. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.js +0 -116
  2473. package/libs/PanoTagPlugin/Components/Common/Line/Polyline.svelte.d.ts +0 -1
  2474. package/libs/PanoTagPlugin/Components/Common/Line/Straight.js +0 -251
  2475. package/libs/PanoTagPlugin/Components/Common/Line/Straight.svelte.d.ts +0 -1
  2476. package/libs/PanoTagPlugin/Components/Common/Media.js +0 -519
  2477. package/libs/PanoTagPlugin/Components/Common/Media.svelte.d.ts +0 -1
  2478. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +0 -468
  2479. package/libs/PanoTagPlugin/Components/Common/MediaItem.svelte.d.ts +0 -1
  2480. package/libs/PanoTagPlugin/Components/Common/Shadow.js +0 -203
  2481. package/libs/PanoTagPlugin/Components/Common/Shadow.svelte.d.ts +0 -1
  2482. package/libs/PanoTagPlugin/Components/Common/TagPoint.js +0 -535
  2483. package/libs/PanoTagPlugin/Components/Common/TagPoint.svelte.d.ts +0 -1
  2484. package/libs/PanoTagPlugin/Components/Common/TagPopover/ArrowRightIcon.js +0 -123
  2485. package/libs/PanoTagPlugin/Components/Common/TagPopover/ArrowRightIcon.svelte.d.ts +0 -1
  2486. package/libs/PanoTagPlugin/Components/Common/TagPopover/PanoramaIcon.js +0 -70
  2487. package/libs/PanoTagPlugin/Components/Common/TagPopover/PanoramaIcon.svelte.d.ts +0 -1
  2488. package/libs/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.js +0 -312
  2489. package/libs/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.svelte.d.ts +0 -1
  2490. package/libs/PanoTagPlugin/Components/Common/TagPopover/ShareIcon.js +0 -123
  2491. package/libs/PanoTagPlugin/Components/Common/TagPopover/ShareIcon.svelte.d.ts +0 -1
  2492. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverArrow.js +0 -95
  2493. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverArrow.svelte.d.ts +0 -1
  2494. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.js +0 -291
  2495. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.svelte.d.ts +0 -1
  2496. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopup.js +0 -838
  2497. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopup.svelte.d.ts +0 -1
  2498. package/libs/PanoTagPlugin/Components/Common/TagPopover/index.js +0 -582
  2499. package/libs/PanoTagPlugin/Components/Common/TagPopover/index.svelte.d.ts +0 -1
  2500. package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.js +0 -198
  2501. package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.svelte.d.ts +0 -1
  2502. package/libs/PanoTagPlugin/Components/Common/Text/FlyText.js +0 -258
  2503. package/libs/PanoTagPlugin/Components/Common/Text/FlyText.svelte.d.ts +0 -1
  2504. package/libs/PanoTagPlugin/Components/Common/Text/MText.js +0 -238
  2505. package/libs/PanoTagPlugin/Components/Common/Text/MText.svelte.d.ts +0 -1
  2506. package/libs/PanoTagPlugin/Components/Common/TextItem.js +0 -129
  2507. package/libs/PanoTagPlugin/Components/Common/TextItem.svelte.d.ts +0 -1
  2508. package/libs/PanoTagPlugin/Components/Common/VideoIcon.js +0 -114
  2509. package/libs/PanoTagPlugin/Components/Common/VideoIcon.svelte.d.ts +0 -1
  2510. package/libs/PanoTagPlugin/Components/Tag/Assets/marketingIcon.d.ts +0 -2
  2511. package/libs/PanoTagPlugin/Components/Tag/Assets/marketingIcon.js +0 -5
  2512. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.js +0 -227
  2513. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.svelte.d.ts +0 -1
  2514. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPoint.js +0 -191
  2515. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPoint.svelte.d.ts +0 -1
  2516. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js +0 -358
  2517. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.svelte.d.ts +0 -1
  2518. package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.js +0 -150
  2519. package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.svelte.d.ts +0 -1
  2520. package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +0 -86
  2521. package/libs/PanoTagPlugin/Components/Tag/CustomTag.svelte.d.ts +0 -1
  2522. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +0 -259
  2523. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.svelte.d.ts +0 -1
  2524. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +0 -148
  2525. package/libs/PanoTagPlugin/Components/Tag/LinkTag.svelte.d.ts +0 -1
  2526. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +0 -719
  2527. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.svelte.d.ts +0 -1
  2528. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +0 -184
  2529. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.svelte.d.ts +0 -1
  2530. package/libs/PanoTagPlugin/Components/Tag/PanoramaTag.js +0 -57
  2531. package/libs/PanoTagPlugin/Components/Tag/PanoramaTag.svelte.d.ts +0 -1
  2532. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextPlaneTag.js +0 -216
  2533. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextPlaneTag.svelte.d.ts +0 -1
  2534. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.js +0 -219
  2535. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.svelte.d.ts +0 -1
  2536. package/libs/PanoTagPlugin/Components/Tag/TextTag/index.js +0 -134
  2537. package/libs/PanoTagPlugin/Components/Tag/TextTag/index.svelte.d.ts +0 -1
  2538. package/libs/PanoTagPlugin/Components/Tag/index.js +0 -834
  2539. package/libs/PanoTagPlugin/Components/Tag/index.svelte.d.ts +0 -1
  2540. package/libs/PanoTagPlugin/Components/TagContainer.js +0 -445
  2541. package/libs/PanoTagPlugin/Components/TagContainer.svelte.d.ts +0 -1
  2542. package/libs/PanoTagPlugin/Components/TagItem.js +0 -827
  2543. package/libs/PanoTagPlugin/Components/TagItem.svelte.d.ts +0 -1
  2544. package/libs/PanoTagPlugin/controller/Tag/BaseTag.d.ts +0 -282
  2545. package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +0 -861
  2546. package/libs/PanoTagPlugin/controller/Tag/BoxTag.d.ts +0 -119
  2547. package/libs/PanoTagPlugin/controller/Tag/BoxTag.js +0 -519
  2548. package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +0 -258
  2549. package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +0 -824
  2550. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +0 -10
  2551. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +0 -100
  2552. package/libs/PanoTagPlugin/controller/Tag/ModelTag.d.ts +0 -15
  2553. package/libs/PanoTagPlugin/controller/Tag/ModelTag.js +0 -303
  2554. package/libs/PanoTagPlugin/controller/Tag/PlaneTag.d.ts +0 -51
  2555. package/libs/PanoTagPlugin/controller/Tag/PlaneTag.js +0 -587
  2556. package/libs/PanoTagPlugin/controller/Tag/PointTag.d.ts +0 -46
  2557. package/libs/PanoTagPlugin/controller/Tag/PointTag.js +0 -304
  2558. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.d.ts +0 -112
  2559. package/libs/PanoTagPlugin/controller/Tag/PolygonTag.js +0 -483
  2560. package/libs/PanoTagPlugin/controller/TagRender.d.ts +0 -36
  2561. package/libs/PanoTagPlugin/controller/TagRender.js +0 -151
  2562. package/libs/PanoTagPlugin/controller/TagUtil.d.ts +0 -93
  2563. package/libs/PanoTagPlugin/controller/TagUtil.js +0 -317
  2564. package/libs/PanoTagPlugin/controller/index.d.ts +0 -227
  2565. package/libs/PanoTagPlugin/controller/index.js +0 -927
  2566. package/libs/PanoTagPlugin/index.d.ts +0 -8
  2567. package/libs/PanoTagPlugin/index.js +0 -325
  2568. package/libs/PanoTagPlugin/tag.config.d.ts +0 -7
  2569. package/libs/PanoTagPlugin/tag.config.js +0 -124
  2570. package/libs/PanoTagPlugin/typings/controller.d.ts +0 -112
  2571. package/libs/PanoTagPlugin/typings/controller.js +0 -1
  2572. package/libs/PanoTagPlugin/typings/index.d.ts +0 -8
  2573. package/libs/PanoTagPlugin/typings/index.js +0 -8
  2574. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +0 -64
  2575. package/libs/PanoTagPlugin/typings/tag/Tag.js +0 -1
  2576. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +0 -422
  2577. package/libs/PanoTagPlugin/typings/tag/TagConfig.js +0 -16
  2578. package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +0 -176
  2579. package/libs/PanoTagPlugin/typings/tag/TagData.js +0 -1
  2580. package/libs/PanoTagPlugin/typings/tag/TagInstance.d.ts +0 -8
  2581. package/libs/PanoTagPlugin/typings/tag/TagInstance.js +0 -1
  2582. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +0 -164
  2583. package/libs/PanoTagPlugin/typings/tag/Utils.js +0 -1
  2584. package/libs/PanoTagPlugin/utils/Cache.d.ts +0 -17
  2585. package/libs/PanoTagPlugin/utils/Cache.js +0 -49
  2586. package/libs/PanoTagPlugin/utils/DebugUtil.d.ts +0 -12
  2587. package/libs/PanoTagPlugin/utils/DebugUtil.js +0 -62
  2588. package/libs/PanoTagPlugin/utils/addDebugPoints.d.ts +0 -3
  2589. package/libs/PanoTagPlugin/utils/addDebugPoints.js +0 -45
  2590. package/libs/PanoTagPlugin/utils/audio/AudioDiagnostics.d.ts +0 -42
  2591. package/libs/PanoTagPlugin/utils/audio/AudioDiagnostics.js +0 -165
  2592. package/libs/PanoTagPlugin/utils/audio/SharedAudio.d.ts +0 -31
  2593. package/libs/PanoTagPlugin/utils/audio/SharedAudio.js +0 -188
  2594. package/libs/PanoTagPlugin/utils/checkRange.d.ts +0 -4
  2595. package/libs/PanoTagPlugin/utils/checkRange.js +0 -10
  2596. package/libs/PanoTagPlugin/utils/color.js +0 -17
  2597. package/libs/PanoTagPlugin/utils/constants.d.ts +0 -3
  2598. package/libs/PanoTagPlugin/utils/constants.js +0 -8
  2599. package/libs/PanoTagPlugin/utils/debounce.d.ts +0 -8
  2600. package/libs/PanoTagPlugin/utils/debounce.js +0 -21
  2601. package/libs/PanoTagPlugin/utils/doUtil.d.ts +0 -1
  2602. package/libs/PanoTagPlugin/utils/doUtil.js +0 -12
  2603. package/libs/PanoTagPlugin/utils/getImageInfo.d.ts +0 -14
  2604. package/libs/PanoTagPlugin/utils/getImageInfo.js +0 -73
  2605. package/libs/PanoTagPlugin/utils/index.d.ts +0 -10
  2606. package/libs/PanoTagPlugin/utils/index.js +0 -37
  2607. package/libs/PanoTagPlugin/utils/model/mediaPlane.d.ts +0 -118
  2608. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +0 -428
  2609. package/libs/PanoTagPlugin/utils/noTypecheck.d.ts +0 -1
  2610. package/libs/PanoTagPlugin/utils/noTypecheck.js +0 -4
  2611. package/libs/PanoTagPlugin/utils/normalPositionToPositions.d.ts +0 -2
  2612. package/libs/PanoTagPlugin/utils/normalPositionToPositions.js +0 -17
  2613. package/libs/PanoTagPlugin/utils/planeNormal.d.ts +0 -4
  2614. package/libs/PanoTagPlugin/utils/planeNormal.js +0 -11
  2615. package/libs/PanoTagPlugin/utils/popoverContainer.d.ts +0 -1
  2616. package/libs/PanoTagPlugin/utils/popoverContainer.js +0 -16
  2617. package/libs/PanoTagPlugin/utils/px2rem.d.ts +0 -3
  2618. package/libs/PanoTagPlugin/utils/px2rem.js +0 -6
  2619. package/libs/PanoTagPlugin/utils/requestIdleCallback.js +0 -14
  2620. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.d.ts +0 -6
  2621. package/libs/PanoTagPlugin/utils/sculptDataToBoxPosition.js +0 -18
  2622. package/libs/PanoTagPlugin/utils/search.d.ts +0 -11
  2623. package/libs/PanoTagPlugin/utils/search.js +0 -33
  2624. package/libs/PanoTagPlugin/utils/tag/adaptConfig.d.ts +0 -2
  2625. package/libs/PanoTagPlugin/utils/tag/adaptConfig.js +0 -9
  2626. package/libs/PanoTagPlugin/utils/tag/calculateTagConfig.d.ts +0 -7
  2627. package/libs/PanoTagPlugin/utils/tag/calculateTagConfig.js +0 -133
  2628. package/libs/PanoTagPlugin/utils/tag/canAutoPlayByOcclusion.d.ts +0 -17
  2629. package/libs/PanoTagPlugin/utils/tag/canAutoPlayByOcclusion.js +0 -14
  2630. package/libs/PanoTagPlugin/utils/tag/format.d.ts +0 -5
  2631. package/libs/PanoTagPlugin/utils/tag/format.js +0 -89
  2632. package/libs/PanoTagPlugin/utils/tag/getRaycasterStartPosition.d.ts +0 -12
  2633. package/libs/PanoTagPlugin/utils/tag/getRaycasterStartPosition.js +0 -7
  2634. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +0 -19
  2635. package/libs/PanoTagPlugin/utils/tag/tagCheck.js +0 -46
  2636. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +0 -13
  2637. package/libs/PanoTagPlugin/utils/tagPosition.js +0 -55
  2638. package/libs/PanoTagPlugin/utils/throttle.d.ts +0 -7
  2639. package/libs/PanoTagPlugin/utils/throttle.js +0 -11
  2640. package/libs/PanoTagPlugin/utils/timeToString.js +0 -7
  2641. package/libs/PanoTagPlugin/utils/videoHelper.d.ts +0 -45
  2642. package/libs/PanoTagPlugin/utils/videoHelper.js +0 -88
  2643. package/libs/PanoVideoPlugin/Controller.d.ts +0 -59
  2644. package/libs/PanoVideoPlugin/Controller.js +0 -241
  2645. package/libs/PanoVideoPlugin/VideoMeshController.d.ts +0 -129
  2646. package/libs/PanoVideoPlugin/VideoMeshController.js +0 -412
  2647. package/libs/PanoVideoPlugin/index.d.ts +0 -21
  2648. package/libs/PanoVideoPlugin/index.js +0 -82
  2649. package/libs/PanoVideoPlugin/typings/index.js +0 -6
  2650. package/libs/PanoVideoPlugin/typings.d.ts +0 -70
  2651. package/libs/PanoVideoPlugin/typings.js +0 -1
  2652. package/libs/PanoVideoPlugin/utils/index.d.ts +0 -9
  2653. package/libs/PanoVideoPlugin/utils/index.js +0 -10
  2654. package/libs/PanoVideoPlugin/utils/shader.d.ts +0 -2
  2655. package/libs/PanoVideoPlugin/utils/shader.js +0 -33
  2656. package/libs/PipelinePlugin/Controller.d.ts +0 -108
  2657. package/libs/PipelinePlugin/Controller.js +0 -393
  2658. package/libs/PipelinePlugin/index.d.ts +0 -6
  2659. package/libs/PipelinePlugin/index.js +0 -88
  2660. package/libs/PipelinePlugin/typing/PluginData/index.js +0 -6
  2661. package/libs/PipelinePlugin/typing/PluginData.d.ts +0 -20
  2662. package/libs/PipelinePlugin/typing/PluginData.js +0 -1
  2663. package/libs/PipelinePlugin/typing/ServerData/index.js +0 -6
  2664. package/libs/PipelinePlugin/typing/ServerData.d.ts +0 -28
  2665. package/libs/PipelinePlugin/typing/ServerData.js +0 -1
  2666. package/libs/PipelinePlugin/typing/index.d.ts +0 -79
  2667. package/libs/PipelinePlugin/typing/index.js +0 -6
  2668. package/libs/PipelinePlugin/utils/Objects/FlowPipe.d.ts +0 -34
  2669. package/libs/PipelinePlugin/utils/Objects/FlowPipe.js +0 -156
  2670. package/libs/PipelinePlugin/utils/Objects/HighlightPipe.d.ts +0 -11
  2671. package/libs/PipelinePlugin/utils/Objects/HighlightPipe.js +0 -102
  2672. package/libs/PipelinePlugin/utils/Objects/Pipe.d.ts +0 -49
  2673. package/libs/PipelinePlugin/utils/Objects/Pipe.js +0 -229
  2674. package/libs/PipelinePlugin/utils/formatData.d.ts +0 -12
  2675. package/libs/PipelinePlugin/utils/formatData.js +0 -46
  2676. package/libs/Sculpt/Editors/BoxMeshEditor.d.ts +0 -5
  2677. package/libs/Sculpt/Editors/BoxMeshEditor.js +0 -98
  2678. package/libs/Sculpt/Editors/CircleMeshEditor.d.ts +0 -5
  2679. package/libs/Sculpt/Editors/CircleMeshEditor.js +0 -9
  2680. package/libs/Sculpt/Editors/CylinderMeshEditor.d.ts +0 -5
  2681. package/libs/Sculpt/Editors/CylinderMeshEditor.js +0 -41
  2682. package/libs/Sculpt/Editors/PrismMeshEditor.d.ts +0 -5
  2683. package/libs/Sculpt/Editors/PrismMeshEditor.js +0 -43
  2684. package/libs/Sculpt/Editors/RectangleMeshEditor.d.ts +0 -5
  2685. package/libs/Sculpt/Editors/RectangleMeshEditor.js +0 -101
  2686. package/libs/Sculpt/Meshes/Area.d.ts +0 -9
  2687. package/libs/Sculpt/Meshes/Area.js +0 -13
  2688. package/libs/Sculpt/Meshes/Box.d.ts +0 -18
  2689. package/libs/Sculpt/Meshes/Box.js +0 -27
  2690. package/libs/Sculpt/Meshes/Circle.d.ts +0 -24
  2691. package/libs/Sculpt/Meshes/Circle.js +0 -54
  2692. package/libs/Sculpt/Meshes/CircleWithEdge.d.ts +0 -11
  2693. package/libs/Sculpt/Meshes/CircleWithEdge.js +0 -41
  2694. package/libs/Sculpt/Meshes/Cylinder.d.ts +0 -36
  2695. package/libs/Sculpt/Meshes/Cylinder.js +0 -101
  2696. package/libs/Sculpt/Meshes/Line.d.ts +0 -59
  2697. package/libs/Sculpt/Meshes/Line.js +0 -272
  2698. package/libs/Sculpt/Meshes/LineWithDots.d.ts +0 -52
  2699. package/libs/Sculpt/Meshes/LineWithDots.js +0 -84
  2700. package/libs/Sculpt/Meshes/Point.d.ts +0 -41
  2701. package/libs/Sculpt/Meshes/Point.js +0 -147
  2702. package/libs/Sculpt/Meshes/Polygon.d.ts +0 -53
  2703. package/libs/Sculpt/Meshes/Polygon.js +0 -127
  2704. package/libs/Sculpt/Meshes/PolygonWithEdge.d.ts +0 -33
  2705. package/libs/Sculpt/Meshes/PolygonWithEdge.js +0 -69
  2706. package/libs/Sculpt/Meshes/Polyline.d.ts +0 -47
  2707. package/libs/Sculpt/Meshes/Polyline.js +0 -119
  2708. package/libs/Sculpt/Meshes/Prism.d.ts +0 -98
  2709. package/libs/Sculpt/Meshes/Prism.js +0 -305
  2710. package/libs/Sculpt/Meshes/Rectangle.d.ts +0 -19
  2711. package/libs/Sculpt/Meshes/Rectangle.js +0 -45
  2712. package/libs/Sculpt/Meshes/RectangleWithEdge.d.ts +0 -29
  2713. package/libs/Sculpt/Meshes/RectangleWithEdge.js +0 -56
  2714. package/libs/Sculpt/Objects/Base/Editor.d.ts +0 -54
  2715. package/libs/Sculpt/Objects/Base/Editor.js +0 -133
  2716. package/libs/Sculpt/Objects/Base/index.d.ts +0 -125
  2717. package/libs/Sculpt/Objects/Base/index.js +0 -164
  2718. package/libs/Sculpt/Objects/Box/index.d.ts +0 -48
  2719. package/libs/Sculpt/Objects/Box/index.js +0 -149
  2720. package/libs/Sculpt/Objects/Circle/index.d.ts +0 -32
  2721. package/libs/Sculpt/Objects/Circle/index.js +0 -123
  2722. package/libs/Sculpt/Objects/Cylinder/index.d.ts +0 -34
  2723. package/libs/Sculpt/Objects/Cylinder/index.js +0 -110
  2724. package/libs/Sculpt/Objects/Line/Editor.d.ts +0 -22
  2725. package/libs/Sculpt/Objects/Line/Editor.js +0 -68
  2726. package/libs/Sculpt/Objects/Line/index.d.ts +0 -48
  2727. package/libs/Sculpt/Objects/Line/index.js +0 -145
  2728. package/libs/Sculpt/Objects/Point/Editor.d.ts +0 -8
  2729. package/libs/Sculpt/Objects/Point/Editor.js +0 -25
  2730. package/libs/Sculpt/Objects/Point/index.d.ts +0 -39
  2731. package/libs/Sculpt/Objects/Point/index.js +0 -101
  2732. package/libs/Sculpt/Objects/Polygon/Editor.d.ts +0 -20
  2733. package/libs/Sculpt/Objects/Polygon/Editor.js +0 -83
  2734. package/libs/Sculpt/Objects/Polygon/index.d.ts +0 -80
  2735. package/libs/Sculpt/Objects/Polygon/index.js +0 -254
  2736. package/libs/Sculpt/Objects/Polyline/Editor.d.ts +0 -8
  2737. package/libs/Sculpt/Objects/Polyline/Editor.js +0 -23
  2738. package/libs/Sculpt/Objects/Polyline/index.d.ts +0 -47
  2739. package/libs/Sculpt/Objects/Polyline/index.js +0 -137
  2740. package/libs/Sculpt/Objects/Prism/index.d.ts +0 -57
  2741. package/libs/Sculpt/Objects/Prism/index.js +0 -114
  2742. package/libs/Sculpt/Objects/Rectangle/index.d.ts +0 -48
  2743. package/libs/Sculpt/Objects/Rectangle/index.js +0 -205
  2744. package/libs/Sculpt/index.d.ts +0 -266
  2745. package/libs/Sculpt/index.js +0 -297
  2746. package/libs/Sculpt/typings/index.d.ts +0 -72
  2747. package/libs/Sculpt/typings/style.d.ts +0 -108
  2748. package/libs/Sculpt/typings/style.js +0 -8
  2749. package/libs/Sculpt/typings/utils.type.d.ts +0 -16
  2750. package/libs/Sculpt/utils/Meshes/getLengthHTML.d.ts +0 -4
  2751. package/libs/Sculpt/utils/Meshes/getLengthHTML.js +0 -72
  2752. package/libs/Sculpt/utils/Modules/Cursor.d.ts +0 -21
  2753. package/libs/Sculpt/utils/Modules/Cursor.js +0 -70
  2754. package/libs/Sculpt/utils/Modules/DeleteButtonBgBorder.d.ts +0 -6
  2755. package/libs/Sculpt/utils/Modules/DeleteButtonBgBorder.js +0 -4
  2756. package/libs/Sculpt/utils/Modules/DeleteIconSVG.d.ts +0 -1
  2757. package/libs/Sculpt/utils/Modules/DeleteIconSVG.js +0 -15
  2758. package/libs/Sculpt/utils/Modules/Global.d.ts +0 -22
  2759. package/libs/Sculpt/utils/Modules/Global.js +0 -65
  2760. package/libs/Sculpt/utils/data.d.ts +0 -7
  2761. package/libs/Sculpt/utils/export.d.ts +0 -25
  2762. package/libs/Sculpt/utils/export.js +0 -57
  2763. package/libs/Sculpt/utils/isIntersecting.d.ts +0 -17
  2764. package/libs/Sculpt/utils/isIntersecting.js +0 -68
  2765. package/libs/Sculpt/utils/radiusToSegments.d.ts +0 -1
  2766. package/libs/Sculpt/utils/radiusToSegments.js +0 -6
  2767. package/libs/Sculpt/utils/removeAllTag.d.ts +0 -2
  2768. package/libs/Sculpt/utils/renderDom.d.ts +0 -19
  2769. package/libs/Sculpt/utils/renderDom.js +0 -22
  2770. package/libs/Sculpt/utils/sortPositionsByCameraPosition.d.ts +0 -5
  2771. package/libs/Sculpt/utils/sortPositionsByCameraPosition.js +0 -9
  2772. package/libs/Sculpt/utils/three/ColoredMesh.d.ts +0 -33
  2773. package/libs/Sculpt/utils/three/ColoredMesh.js +0 -105
  2774. package/libs/Sculpt/utils/three/RectangleGeometry.d.ts +0 -6
  2775. package/libs/Sculpt/utils/three/RectangleGeometry.js +0 -19
  2776. package/libs/Sculpt/utils/three/rayOnLine.d.ts +0 -12
  2777. package/libs/Sculpt/utils/three/rayOnLine.js +0 -15
  2778. package/libs/Sculpt/utils/unit.d.ts +0 -7
  2779. package/libs/Sculpt/utils/unit.js +0 -41
  2780. package/libs/_commonjsHelpers.js +0 -4
  2781. package/libs/base/BasePlugin.d.ts +0 -124
  2782. package/libs/base/BasePlugin.js +0 -58
  2783. package/libs/base/BasePluginWithData.d.ts +0 -21
  2784. package/libs/base/BasePluginWithData.js +0 -6
  2785. package/libs/components/AreaLabel/Assets/fontSize.d.ts +0 -62
  2786. package/libs/components/AreaLabel/Assets/fontSize.js +0 -65
  2787. package/libs/components/AreaLabel/Assets/roomLabelBg.d.ts +0 -3
  2788. package/libs/components/AreaLabel/Assets/roomLabelBg.js +0 -5
  2789. package/libs/components/AreaLabel/LabelItem.js +0 -283
  2790. package/libs/components/AreaLabel/LabelItem.svelte.d.ts +0 -1
  2791. package/libs/components/PaintBrush/Controller.d.ts +0 -43
  2792. package/libs/components/PaintBrush/Controller.js +0 -319
  2793. package/libs/components/PaintBrush/Subscribe.d.ts +0 -76
  2794. package/libs/components/PaintBrush/Subscribe.js +0 -84
  2795. package/libs/components/PaintBrush/index.d.ts +0 -27
  2796. package/libs/components/PaintBrush/index.js +0 -58
  2797. package/libs/components/PaintBrush/style.d.ts +0 -2
  2798. package/libs/components/PaintBrush/style.js +0 -104
  2799. package/libs/components/PaintBrush/tween.d.ts +0 -7
  2800. package/libs/components/PaintBrush/tween.js +0 -11
  2801. package/libs/components/PaintBrush/typings.d.ts +0 -58
  2802. package/libs/components/PaintBrush/typings.js +0 -4
  2803. package/libs/components/PaintBrush/utils.d.ts +0 -26
  2804. package/libs/components/PaintBrush/utils.js +0 -45
  2805. package/libs/components/index.d.ts +0 -2
  2806. package/libs/components/index.js +0 -2
  2807. package/libs/floorplan/Assets/camera.d.ts +0 -2
  2808. package/libs/floorplan/Assets/camera.js +0 -5
  2809. package/libs/floorplan/Assets/compass.d.ts +0 -1
  2810. package/libs/floorplan/Assets/compass.js +0 -4
  2811. package/libs/floorplan/Assets/floorplanExtraObject.d.ts +0 -1
  2812. package/libs/floorplan/Assets/floorplanExtraObject.js +0 -4
  2813. package/libs/floorplan/Components/BaseImage.js +0 -121
  2814. package/libs/floorplan/Components/BaseImage.svelte.d.ts +0 -1
  2815. package/libs/floorplan/Components/Camera.js +0 -108
  2816. package/libs/floorplan/Components/Camera.svelte.d.ts +0 -1
  2817. package/libs/floorplan/Components/Compass.js +0 -75
  2818. package/libs/floorplan/Components/Compass.svelte.d.ts +0 -1
  2819. package/libs/floorplan/Components/CurrentFloor.js +0 -689
  2820. package/libs/floorplan/Components/CurrentFloor.svelte.d.ts +0 -1
  2821. package/libs/floorplan/Components/Items/Item.js +0 -69
  2822. package/libs/floorplan/Components/Items/Item.svelte.d.ts +0 -1
  2823. package/libs/floorplan/Components/Items/Items.js +0 -161
  2824. package/libs/floorplan/Components/Items/Items.svelte.d.ts +0 -1
  2825. package/libs/floorplan/Components/Main.js +0 -437
  2826. package/libs/floorplan/Components/Main.svelte.d.ts +0 -1
  2827. package/libs/floorplan/Components/MissingFloor.js +0 -99
  2828. package/libs/floorplan/Components/MissingFloor.svelte.d.ts +0 -1
  2829. package/libs/floorplan/Components/Normalmage.js +0 -40
  2830. package/libs/floorplan/Components/Normalmage.svelte.d.ts +0 -1
  2831. package/libs/floorplan/Components/RoomHighlight/Room.js +0 -111
  2832. package/libs/floorplan/Components/RoomHighlight/Room.svelte.d.ts +0 -1
  2833. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +0 -180
  2834. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.svelte.d.ts +0 -1
  2835. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +0 -451
  2836. package/libs/floorplan/Components/RoomLabels/RoomLabel.svelte.d.ts +0 -1
  2837. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +0 -300
  2838. package/libs/floorplan/Components/RoomLabels/RoomLabels.svelte.d.ts +0 -1
  2839. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +0 -309
  2840. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.svelte.d.ts +0 -1
  2841. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +0 -49
  2842. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte.d.ts +0 -1
  2843. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +0 -76
  2844. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte.d.ts +0 -1
  2845. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +0 -71
  2846. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte.d.ts +0 -1
  2847. package/libs/floorplan/Components/RoomMaterials/RoomTriangle.js +0 -103
  2848. package/libs/floorplan/Components/RoomMaterials/RoomTriangle.svelte.d.ts +0 -1
  2849. package/libs/floorplan/Components/RuleLabels/RuleItem.js +0 -208
  2850. package/libs/floorplan/Components/RuleLabels/RuleItem.svelte.d.ts +0 -1
  2851. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +0 -204
  2852. package/libs/floorplan/Components/RuleLabels/RuleLabels.svelte.d.ts +0 -1
  2853. package/libs/floorplan/Components/StyledImage.js +0 -90
  2854. package/libs/floorplan/Components/StyledImage.svelte.d.ts +0 -1
  2855. package/libs/floorplan/Components/SvgImage.js +0 -59
  2856. package/libs/floorplan/Components/SvgImage.svelte.d.ts +0 -1
  2857. package/libs/floorplan/FloorplanGuidePlugin/Components/Camera.js +0 -171
  2858. package/libs/floorplan/FloorplanGuidePlugin/Components/Camera.svelte.d.ts +0 -1
  2859. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.js +0 -357
  2860. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +0 -1
  2861. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.js +0 -94
  2862. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +0 -1
  2863. package/libs/floorplan/FloorplanGuidePlugin/Components/FloorplanCompass.js +0 -110
  2864. package/libs/floorplan/FloorplanGuidePlugin/Components/FloorplanCompass.svelte.d.ts +0 -1
  2865. package/libs/floorplan/FloorplanGuidePlugin/Components/Main.js +0 -751
  2866. package/libs/floorplan/FloorplanGuidePlugin/Components/Main.svelte.d.ts +0 -1
  2867. package/libs/floorplan/FloorplanGuidePlugin/Components/ObserverDots.js +0 -153
  2868. package/libs/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte.d.ts +0 -1
  2869. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.js +0 -268
  2870. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte.d.ts +0 -1
  2871. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabels.js +0 -329
  2872. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte.d.ts +0 -1
  2873. package/libs/floorplan/FloorplanGuidePlugin/Controller.d.ts +0 -53
  2874. package/libs/floorplan/FloorplanGuidePlugin/Controller.js +0 -355
  2875. package/libs/floorplan/FloorplanGuidePlugin/index.d.ts +0 -7
  2876. package/libs/floorplan/FloorplanGuidePlugin/index.js +0 -106
  2877. package/libs/floorplan/FloorplanGuidePlugin/typing.d.ts +0 -196
  2878. package/libs/floorplan/FloorplanGuidePlugin/typing.js +0 -1
  2879. package/libs/floorplan/MapviewFloorplanPlugin/Controller.d.ts +0 -128
  2880. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +0 -564
  2881. package/libs/floorplan/MapviewFloorplanPlugin/index.d.ts +0 -7
  2882. package/libs/floorplan/MapviewFloorplanPlugin/index.js +0 -128
  2883. package/libs/floorplan/MapviewFloorplanPlugin/items.d.ts +0 -30
  2884. package/libs/floorplan/MapviewFloorplanPlugin/items.js +0 -2672
  2885. package/libs/floorplan/MapviewFloorplanPlugin/typing.d.ts +0 -1
  2886. package/libs/floorplan/MapviewFloorplanPlugin/typing.js +0 -1
  2887. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +0 -121
  2888. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +0 -522
  2889. package/libs/floorplan/ModelFloorplanPlugin/index.d.ts +0 -7
  2890. package/libs/floorplan/ModelFloorplanPlugin/index.js +0 -127
  2891. package/libs/floorplan/ModelFloorplanPlugin/typing.d.ts +0 -1
  2892. package/libs/floorplan/ModelFloorplanPlugin/typing.js +0 -1
  2893. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +0 -132
  2894. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte.d.ts +0 -1
  2895. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +0 -355
  2896. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +0 -1
  2897. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +0 -94
  2898. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +0 -1
  2899. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +0 -328
  2900. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte.d.ts +0 -1
  2901. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +0 -40
  2902. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +0 -268
  2903. package/libs/floorplan/PanoFloorplanRadarPlugin/index.d.ts +0 -7
  2904. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +0 -99
  2905. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +0 -70
  2906. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +0 -1
  2907. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +0 -74
  2908. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +0 -423
  2909. package/libs/floorplan/TopviewFloorplanPlugin/index.d.ts +0 -7
  2910. package/libs/floorplan/TopviewFloorplanPlugin/index.js +0 -124
  2911. package/libs/floorplan/TopviewFloorplanPlugin/style.d.ts +0 -1
  2912. package/libs/floorplan/TopviewFloorplanPlugin/style.js +0 -11
  2913. package/libs/floorplan/TopviewFloorplanPlugin/typing.d.ts +0 -11
  2914. package/libs/floorplan/TopviewFloorplanPlugin/typing.js +0 -1
  2915. package/libs/floorplan/constant.d.ts +0 -5
  2916. package/libs/floorplan/constant.js +0 -4
  2917. package/libs/floorplan/index.d.ts +0 -8
  2918. package/libs/floorplan/index.js +0 -16
  2919. package/libs/floorplan/typings/floorplanData.d.ts +0 -176
  2920. package/libs/floorplan/typings/floorplanData.js +0 -1
  2921. package/libs/floorplan/typings/floorplanServerData.d.ts +0 -186
  2922. package/libs/floorplan/typings/floorplanServerData.js +0 -101
  2923. package/libs/floorplan/typings/index.d.ts +0 -164
  2924. package/libs/floorplan/typings/index.js +0 -1
  2925. package/libs/floorplan/typings/utility.d.ts +0 -2
  2926. package/libs/floorplan/utils/constant.d.ts +0 -24
  2927. package/libs/floorplan/utils/constant.js +0 -7
  2928. package/libs/floorplan/utils/correctFiveState.d.ts +0 -18
  2929. package/libs/floorplan/utils/correctFiveState.js +0 -57
  2930. package/libs/floorplan/utils/formatData.d.ts +0 -5
  2931. package/libs/floorplan/utils/formatData.js +0 -149
  2932. package/libs/floorplan/utils/formatPosition.d.ts +0 -36
  2933. package/libs/floorplan/utils/formatPosition.js +0 -35
  2934. package/libs/floorplan/utils/styledFloorplan.d.ts +0 -2
  2935. package/libs/floorplan/utils/styledFloorplan.js +0 -24
  2936. package/libs/index.d.ts +0 -34
  2937. package/libs/index.js +0 -738
  2938. package/libs/shared-utils/CSS3DRender/CSS3DObject.d.ts +0 -37
  2939. package/libs/shared-utils/CSS3DRender/CSS3DObject.js +0 -94
  2940. package/libs/shared-utils/CSS3DRender/CSS3DRenderer.d.ts +0 -16
  2941. package/libs/shared-utils/CSS3DRender/CSS3DRenderer.js +0 -61
  2942. package/libs/shared-utils/CSS3DRender/OpacityMesh.d.ts +0 -6
  2943. package/libs/shared-utils/CSS3DRender/OpacityMesh.js +0 -18
  2944. package/libs/shared-utils/CSS3DRender/index.d.ts +0 -41
  2945. package/libs/shared-utils/CSS3DRender/index.js +0 -76
  2946. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +0 -142
  2947. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +0 -234
  2948. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +0 -105
  2949. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +0 -103
  2950. package/libs/shared-utils/Object3DHelper/Constants/RenderOrder.d.ts +0 -15
  2951. package/libs/shared-utils/Object3DHelper/Constants/RenderOrder.js +0 -23
  2952. package/libs/shared-utils/Object3DHelper/Constants/color.d.ts +0 -12
  2953. package/libs/shared-utils/Object3DHelper/Constants/color.js +0 -20
  2954. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +0 -7
  2955. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.js +0 -13
  2956. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +0 -7
  2957. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +0 -22
  2958. package/libs/shared-utils/Object3DHelper/Controller/MoveController.d.ts +0 -60
  2959. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +0 -204
  2960. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +0 -45
  2961. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +0 -116
  2962. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +0 -46
  2963. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +0 -219
  2964. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +0 -66
  2965. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.js +0 -307
  2966. package/libs/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.d.ts +0 -16
  2967. package/libs/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.js +0 -98
  2968. package/libs/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts +0 -43
  2969. package/libs/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.js +0 -150
  2970. package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.d.ts +0 -11
  2971. package/libs/shared-utils/Object3DHelper/Helper/HTML/rectangleScaleDom.js +0 -81
  2972. package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.d.ts +0 -6
  2973. package/libs/shared-utils/Object3DHelper/Helper/HTML/tipsDom.js +0 -41
  2974. package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.d.ts +0 -2
  2975. package/libs/shared-utils/Object3DHelper/Helper/HTML/utils/createElement.js +0 -13
  2976. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.d.ts +0 -24
  2977. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +0 -51
  2978. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.d.ts +0 -18
  2979. package/libs/shared-utils/Object3DHelper/Helper/Objects/ArrowGroup.js +0 -40
  2980. package/libs/shared-utils/Object3DHelper/Helper/Objects/CenterHandle.d.ts +0 -23
  2981. package/libs/shared-utils/Object3DHelper/Helper/Objects/CenterHandle.js +0 -73
  2982. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +0 -93
  2983. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +0 -182
  2984. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +0 -65
  2985. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.js +0 -220
  2986. package/libs/shared-utils/Object3DHelper/Helper/index.d.ts +0 -5
  2987. package/libs/shared-utils/Object3DHelper/Helper/index.js +0 -4
  2988. package/libs/shared-utils/Object3DHelper/index.d.ts +0 -52
  2989. package/libs/shared-utils/Object3DHelper/index.js +0 -144
  2990. package/libs/shared-utils/Object3DHelper/typings/Direction.d.ts +0 -2
  2991. package/libs/shared-utils/Object3DHelper/typings/Direction.js +0 -1
  2992. package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +0 -63
  2993. package/libs/shared-utils/Object3DHelper/typings/Hooks.js +0 -1
  2994. package/libs/shared-utils/Object3DHelper/typings/Scissor.d.ts +0 -17
  2995. package/libs/shared-utils/Object3DHelper/typings/Scissor.js +0 -1
  2996. package/libs/shared-utils/Object3DHelper/typings/index.d.ts +0 -45
  2997. package/libs/shared-utils/Object3DHelper/typings/index.js +0 -1
  2998. package/libs/shared-utils/Object3DHelper/utils/calculateScaleByCamera.d.ts +0 -5
  2999. package/libs/shared-utils/Object3DHelper/utils/calculateScaleByCamera.js +0 -7
  3000. package/libs/shared-utils/Object3DHelper/utils/calculateThreeMouse.d.ts +0 -14
  3001. package/libs/shared-utils/Object3DHelper/utils/calculateThreeMouse.js +0 -11
  3002. package/libs/shared-utils/Object3DHelper/utils/cameraHooks.d.ts +0 -2
  3003. package/libs/shared-utils/Object3DHelper/utils/cameraHooks.js +0 -24
  3004. package/libs/shared-utils/Object3DHelper/utils/direction.d.ts +0 -14
  3005. package/libs/shared-utils/Object3DHelper/utils/direction.js +0 -22
  3006. package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.d.ts +0 -2
  3007. package/libs/shared-utils/Object3DHelper/utils/filterNotColinearPoints.js +0 -1
  3008. package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.d.ts +0 -5
  3009. package/libs/shared-utils/Object3DHelper/utils/getMouseRaycaster.js +0 -14
  3010. package/libs/shared-utils/Object3DHelper/utils/getOrthographicCameraDirection.d.ts +0 -8
  3011. package/libs/shared-utils/Object3DHelper/utils/getOrthographicCameraDirection.js +0 -12
  3012. package/libs/shared-utils/Object3DHelper/utils/getPoseFromCamera.d.ts +0 -8
  3013. package/libs/shared-utils/Object3DHelper/utils/getPoseFromCamera.js +0 -14
  3014. package/libs/shared-utils/Object3DHelper/utils/index.d.ts +0 -8
  3015. package/libs/shared-utils/Object3DHelper/utils/index.js +0 -1
  3016. package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.d.ts +0 -5
  3017. package/libs/shared-utils/Object3DHelper/utils/normalPositionToPositions.js +0 -1
  3018. package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.d.ts +0 -1
  3019. package/libs/shared-utils/Object3DHelper/utils/object3DBoundingPosition.js +0 -1
  3020. package/libs/shared-utils/Object3DHelper/utils/setObjectQuaternion.d.ts +0 -8
  3021. package/libs/shared-utils/Object3DHelper/utils/setObjectQuaternion.js +0 -11
  3022. package/libs/shared-utils/Object3DHelper/utils/solidGuide.d.ts +0 -27
  3023. package/libs/shared-utils/Object3DHelper/utils/solidGuide.js +0 -72
  3024. package/libs/shared-utils/Subscribe.d.ts +0 -68
  3025. package/libs/shared-utils/Subscribe.js +0 -103
  3026. package/libs/shared-utils/Utils/BaseUtil.d.ts +0 -6
  3027. package/libs/shared-utils/Utils/BaseUtil.js +0 -14
  3028. package/libs/shared-utils/Utils/FiveUtil.d.ts +0 -11
  3029. package/libs/shared-utils/Utils/FiveUtil.js +0 -31
  3030. package/libs/shared-utils/Utils/WorkUtil.d.ts +0 -36
  3031. package/libs/shared-utils/Utils/WorkUtil.js +0 -81
  3032. package/libs/shared-utils/animationFrame/BetterTween.d.ts +0 -12
  3033. package/libs/shared-utils/animationFrame/BetterTween.js +0 -33
  3034. package/libs/shared-utils/animationFrame/calculateProgress.d.ts +0 -8
  3035. package/libs/shared-utils/animationFrame/calculateProgress.js +0 -6
  3036. package/libs/shared-utils/animationFrame/formatRad.d.ts +0 -15
  3037. package/libs/shared-utils/animationFrame/formatRad.js +0 -11
  3038. package/libs/shared-utils/animationFrame/index.d.ts +0 -17
  3039. package/libs/shared-utils/animationFrame/index.js +0 -52
  3040. package/libs/shared-utils/animationFrame/tween.d.ts +0 -84
  3041. package/libs/shared-utils/animationFrame/tween.js +0 -28
  3042. package/libs/shared-utils/audio.d.ts +0 -36
  3043. package/libs/shared-utils/audio.js +0 -61
  3044. package/libs/shared-utils/changeModelCanvasOpacity.d.ts +0 -2
  3045. package/libs/shared-utils/changeModelCanvasOpacity.js +0 -20
  3046. package/libs/shared-utils/clamp.d.ts +0 -2
  3047. package/libs/shared-utils/clamp.js +0 -6
  3048. package/libs/shared-utils/constants.d.ts +0 -3
  3049. package/libs/shared-utils/constants.js +0 -4
  3050. package/libs/shared-utils/createCanvasTextTexture.d.ts +0 -8
  3051. package/libs/shared-utils/createCanvasTextTexture.js +0 -11
  3052. package/libs/shared-utils/createLine/index.d.ts +0 -3
  3053. package/libs/shared-utils/createLine/index.js +0 -9
  3054. package/libs/shared-utils/createResizeObserver.d.ts +0 -4
  3055. package/libs/shared-utils/createResizeObserver.js +0 -22
  3056. package/libs/shared-utils/debounce.d.ts +0 -6
  3057. package/libs/shared-utils/debounce.js +0 -11
  3058. package/libs/shared-utils/device.d.ts +0 -6
  3059. package/libs/shared-utils/device.js +0 -7
  3060. package/libs/shared-utils/dom/resizeObserver.d.ts +0 -4
  3061. package/libs/shared-utils/dom/resizeObserver.js +0 -17
  3062. package/libs/shared-utils/equal.d.ts +0 -11
  3063. package/libs/shared-utils/equal.js +0 -54
  3064. package/libs/shared-utils/even.d.ts +0 -9
  3065. package/libs/shared-utils/even.js +0 -7
  3066. package/libs/shared-utils/exports.d.ts +0 -2
  3067. package/libs/shared-utils/exports.js +0 -115
  3068. package/libs/shared-utils/filter.d.ts +0 -27
  3069. package/libs/shared-utils/filter.js +0 -10
  3070. package/libs/shared-utils/five/FiveDomEvents.d.ts +0 -138
  3071. package/libs/shared-utils/five/FiveDomEvents.js +0 -312
  3072. package/libs/shared-utils/five/FiveLine.d.ts +0 -10
  3073. package/libs/shared-utils/five/FiveLine.js +0 -15
  3074. package/libs/shared-utils/five/FivePuppet.d.ts +0 -64
  3075. package/libs/shared-utils/five/FivePuppet.js +0 -45
  3076. package/libs/shared-utils/five/calculateThreeMouse.d.ts +0 -11
  3077. package/libs/shared-utils/five/calculateThreeMouse.js +0 -8
  3078. package/libs/shared-utils/five/changeMode.d.ts +0 -3
  3079. package/libs/shared-utils/five/changeMode.js +0 -51
  3080. package/libs/shared-utils/five/fiveEveryReadyListener.d.ts +0 -2
  3081. package/libs/shared-utils/five/fiveEveryReadyListener.js +0 -15
  3082. package/libs/shared-utils/five/fiveLoaded.d.ts +0 -2
  3083. package/libs/shared-utils/five/fiveLoaded.js +0 -30
  3084. package/libs/shared-utils/five/fiveModelLoad.d.ts +0 -9
  3085. package/libs/shared-utils/five/fiveModelLoad.js +0 -40
  3086. package/libs/shared-utils/five/getFiveFromParentChain.d.ts +0 -8
  3087. package/libs/shared-utils/five/getFiveFromParentChain.js +0 -20
  3088. package/libs/shared-utils/five/getFiveModel.d.ts +0 -2
  3089. package/libs/shared-utils/five/getFiveModel.js +0 -7
  3090. package/libs/shared-utils/five/getFloorIndex.d.ts +0 -4
  3091. package/libs/shared-utils/five/getFloorIndex.js +0 -22
  3092. package/libs/shared-utils/five/getFloorMesh.d.ts +0 -3
  3093. package/libs/shared-utils/five/getFloorMesh.js +0 -11
  3094. package/libs/shared-utils/five/getPosition.d.ts +0 -24
  3095. package/libs/shared-utils/five/getPosition.js +0 -41
  3096. package/libs/shared-utils/five/getRaycasterByNdcPosition.d.ts +0 -6
  3097. package/libs/shared-utils/five/getRaycasterByNdcPosition.js +0 -8
  3098. package/libs/shared-utils/five/index.d.ts +0 -12
  3099. package/libs/shared-utils/five/index.js +0 -20
  3100. package/libs/shared-utils/five/initialCSS3DRender.d.ts +0 -1
  3101. package/libs/shared-utils/five/initialCSS3DRender.js +0 -2
  3102. package/libs/shared-utils/five/lookObject.d.ts +0 -15
  3103. package/libs/shared-utils/five/lookObject.js +0 -98
  3104. package/libs/shared-utils/five/lookPoint.d.ts +0 -11
  3105. package/libs/shared-utils/five/lookPoint.js +0 -71
  3106. package/libs/shared-utils/five/mode.d.ts +0 -3
  3107. package/libs/shared-utils/five/mode.js +0 -10
  3108. package/libs/shared-utils/five/transformPosition.d.ts +0 -2
  3109. package/libs/shared-utils/five/transformPosition.js +0 -10
  3110. package/libs/shared-utils/five/vector3ToScreen.d.ts +0 -5
  3111. package/libs/shared-utils/five/vector3ToScreen.js +0 -10
  3112. package/libs/shared-utils/fontSize.d.ts +0 -185
  3113. package/libs/shared-utils/fontSize.js +0 -105
  3114. package/libs/shared-utils/forReverseEach.d.ts +0 -1
  3115. package/libs/shared-utils/forReverseEach.js +0 -7
  3116. package/libs/shared-utils/formatRad.d.ts +0 -7
  3117. package/libs/shared-utils/formatRad.js +0 -7
  3118. package/libs/shared-utils/getPointFromHammerEvent.d.ts +0 -10
  3119. package/libs/shared-utils/getPointFromHammerEvent.js +0 -8
  3120. package/libs/shared-utils/getPxmm.d.ts +0 -19
  3121. package/libs/shared-utils/getPxmm.js +0 -18
  3122. package/libs/shared-utils/index.d.ts +0 -11
  3123. package/libs/shared-utils/index.js +0 -14
  3124. package/libs/shared-utils/isNil.d.ts +0 -10
  3125. package/libs/shared-utils/isNil.js +0 -10
  3126. package/libs/shared-utils/isTouchDevice.d.ts +0 -1
  3127. package/libs/shared-utils/isTouchDevice.js +0 -4
  3128. package/libs/shared-utils/isTruelyObject.d.ts +0 -18
  3129. package/libs/shared-utils/isTruelyObject.js +0 -6
  3130. package/libs/shared-utils/log.d.ts +0 -2
  3131. package/libs/shared-utils/log.js +0 -6
  3132. package/libs/shared-utils/logger.d.ts +0 -17
  3133. package/libs/shared-utils/logger.js +0 -16
  3134. package/libs/shared-utils/math/Interval.d.ts +0 -13
  3135. package/libs/shared-utils/math/Interval.js +0 -25
  3136. package/libs/shared-utils/math/Rectangle.d.ts +0 -27
  3137. package/libs/shared-utils/math/Rectangle.js +0 -25
  3138. package/libs/shared-utils/math/convexHull.d.ts +0 -5
  3139. package/libs/shared-utils/math/convexHull.js +0 -20
  3140. package/libs/shared-utils/math/deg2Rad.d.ts +0 -1
  3141. package/libs/shared-utils/math/deg2Rad.js +0 -6
  3142. package/libs/shared-utils/math/index.d.ts +0 -4
  3143. package/libs/shared-utils/math/index.js +0 -1
  3144. package/libs/shared-utils/math/inside.d.ts +0 -2
  3145. package/libs/shared-utils/math/inside.js +0 -12
  3146. package/libs/shared-utils/math/intersecting.d.ts +0 -25
  3147. package/libs/shared-utils/math/intersecting.js +0 -25
  3148. package/libs/shared-utils/math/planimetry.d.ts +0 -116
  3149. package/libs/shared-utils/math/planimetry.js +0 -50
  3150. package/libs/shared-utils/math/pointsIsRectangle.d.ts +0 -2
  3151. package/libs/shared-utils/math/pointsIsRectangle.js +0 -9
  3152. package/libs/shared-utils/math/rad2Deg.d.ts +0 -1
  3153. package/libs/shared-utils/math/rad2Deg.js +0 -6
  3154. package/libs/shared-utils/nearlyEqual.d.ts +0 -14
  3155. package/libs/shared-utils/nearlyEqual.js +0 -12
  3156. package/libs/shared-utils/nextFrame.d.ts +0 -1
  3157. package/libs/shared-utils/nextFrame.js +0 -6
  3158. package/libs/shared-utils/noop.d.ts +0 -5
  3159. package/libs/shared-utils/noop.js +0 -5
  3160. package/libs/shared-utils/object3d2LocalMatrix.d.ts +0 -12
  3161. package/libs/shared-utils/object3d2LocalMatrix.js +0 -18
  3162. package/libs/shared-utils/offscreenCanvas.d.ts +0 -2
  3163. package/libs/shared-utils/offscreenCanvas.js +0 -12
  3164. package/libs/shared-utils/playback.d.ts +0 -21
  3165. package/libs/shared-utils/positionToVector3.d.ts +0 -17
  3166. package/libs/shared-utils/positionToVector3.js +0 -15
  3167. package/libs/shared-utils/promise/withResolvers.d.ts +0 -10
  3168. package/libs/shared-utils/promise/withResolvers.js +0 -13
  3169. package/libs/shared-utils/px2rem.d.ts +0 -1
  3170. package/libs/shared-utils/px2rem.js +0 -6
  3171. package/libs/shared-utils/safeObj.d.ts +0 -1
  3172. package/libs/shared-utils/safeObj.js +0 -6
  3173. package/libs/shared-utils/svelte/resizeObserver.d.ts +0 -2
  3174. package/libs/shared-utils/svelte/resizeObserver.js +0 -13
  3175. package/libs/shared-utils/tag.d.ts +0 -99
  3176. package/libs/shared-utils/tag.js +0 -258
  3177. package/libs/shared-utils/tap.d.ts +0 -8
  3178. package/libs/shared-utils/tap.js +0 -6
  3179. package/libs/shared-utils/three/Assets/index.d.ts +0 -3
  3180. package/libs/shared-utils/three/Assets/index.js +0 -4
  3181. package/libs/shared-utils/three/CSS3DRenderer/index.d.ts +0 -23
  3182. package/libs/shared-utils/three/CSS3DRenderer/index.js +0 -107
  3183. package/libs/shared-utils/three/Extras/Core/Interpolations.d.ts +0 -11
  3184. package/libs/shared-utils/three/Extras/Core/Interpolations.js +0 -28
  3185. package/libs/shared-utils/three/Extras/Core/Interpolations2.js +0 -34
  3186. package/libs/shared-utils/three/Extras/Curves/BezierCurve3.d.ts +0 -13
  3187. package/libs/shared-utils/three/Extras/Curves/BezierCurve3.js +0 -30
  3188. package/libs/shared-utils/three/FBXLoader/index.d.ts +0 -6
  3189. package/libs/shared-utils/three/FBXLoader/index.js +0 -1493
  3190. package/libs/shared-utils/three/FragmentTransparencyMaterial.d.ts +0 -18
  3191. package/libs/shared-utils/three/FragmentTransparencyMaterial.js +0 -47
  3192. package/libs/shared-utils/three/GLTFLoader.d.ts +0 -9
  3193. package/libs/shared-utils/three/GLTFLoader.js +0 -23
  3194. package/libs/shared-utils/three/IObject3D.d.ts +0 -11
  3195. package/libs/shared-utils/three/IObject3D.js +0 -38
  3196. package/libs/shared-utils/three/LegacyPointHelper.d.ts +0 -22
  3197. package/libs/shared-utils/three/LegacyPointHelper.js +0 -73
  3198. package/libs/shared-utils/three/Magnifier.d.ts +0 -79
  3199. package/libs/shared-utils/three/Magnifier.js +0 -244
  3200. package/libs/shared-utils/three/PointDomHelper.d.ts +0 -18
  3201. package/libs/shared-utils/three/PointDomHelper.js +0 -70
  3202. package/libs/shared-utils/three/PointSelector/index.d.ts +0 -182
  3203. package/libs/shared-utils/three/PointSelector/index.js +0 -404
  3204. package/libs/shared-utils/three/PointSelector/utils/PointHelper.d.ts +0 -31
  3205. package/libs/shared-utils/three/PointSelector/utils/PointHelper.js +0 -99
  3206. package/libs/shared-utils/three/PointSelector/utils/PointHelper2.d.ts +0 -31
  3207. package/libs/shared-utils/three/PointSelector/utils/PointHelper2.js +0 -157
  3208. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +0 -73
  3209. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.js +0 -78
  3210. package/libs/shared-utils/three/PointSelector/utils/contents.d.ts +0 -1
  3211. package/libs/shared-utils/three/PointSelector/utils/contents.js +0 -4
  3212. package/libs/shared-utils/three/PointSelector/utils/html.d.ts +0 -4
  3213. package/libs/shared-utils/three/PointSelector/utils/html.js +0 -66
  3214. package/libs/shared-utils/three/PointSelector/utils/typing.d.ts +0 -8
  3215. package/libs/shared-utils/three/Quadrangle.d.ts +0 -20
  3216. package/libs/shared-utils/three/Quadrangle.js +0 -65
  3217. package/libs/shared-utils/three/addIfNotExists.d.ts +0 -2
  3218. package/libs/shared-utils/three/addIfNotExists.js +0 -8
  3219. package/libs/shared-utils/three/applyObjectMatrixWorld.d.ts +0 -3
  3220. package/libs/shared-utils/three/applyObjectMatrixWorld.js +0 -13
  3221. package/libs/shared-utils/three/blink.d.ts +0 -278
  3222. package/libs/shared-utils/three/blink.js +0 -345
  3223. package/libs/shared-utils/three/boundingBox.d.ts +0 -25
  3224. package/libs/shared-utils/three/boundingBox.js +0 -90
  3225. package/libs/shared-utils/three/centerPoint.d.ts +0 -2
  3226. package/libs/shared-utils/three/centerPoint.js +0 -8
  3227. package/libs/shared-utils/three/closeVectors.d.ts +0 -2
  3228. package/libs/shared-utils/three/closeVectors.js +0 -10
  3229. package/libs/shared-utils/three/core/Five_LineMaterial2.d.ts +0 -20
  3230. package/libs/shared-utils/three/core/Five_LineMaterial2.js +0 -307
  3231. package/libs/shared-utils/three/core/Line2.d.ts +0 -13
  3232. package/libs/shared-utils/three/core/Line2.js +0 -15
  3233. package/libs/shared-utils/three/core/LineGeometry.d.ts +0 -13
  3234. package/libs/shared-utils/three/core/LineGeometry.js +0 -26
  3235. package/libs/shared-utils/three/core/LineMaterial.d.ts +0 -15
  3236. package/libs/shared-utils/three/core/LineMaterial.js +0 -40
  3237. package/libs/shared-utils/three/core/LineMaterial2.d.ts +0 -15
  3238. package/libs/shared-utils/three/core/LineMaterial2.js +0 -40
  3239. package/libs/shared-utils/three/core/LineSegments.d.ts +0 -9
  3240. package/libs/shared-utils/three/core/LineSegments.js +0 -9
  3241. package/libs/shared-utils/three/core/Object3D.d.ts +0 -8
  3242. package/libs/shared-utils/three/core/Object3D.js +0 -22
  3243. package/libs/shared-utils/three/core/PrismAnimationGeometry.d.ts +0 -25
  3244. package/libs/shared-utils/three/core/PrismAnimationGeometry.js +0 -146
  3245. package/libs/shared-utils/three/core/PrismGeometry.d.ts +0 -22
  3246. package/libs/shared-utils/three/core/PrismGeometry.js +0 -44
  3247. package/libs/shared-utils/three/core/Raycaster.d.ts +0 -6
  3248. package/libs/shared-utils/three/core/Raycaster.js +0 -34
  3249. package/libs/shared-utils/three/core/Sphere.d.ts +0 -4
  3250. package/libs/shared-utils/three/core/Sphere.js +0 -18
  3251. package/libs/shared-utils/three/core/polygonVertex.d.ts +0 -8
  3252. package/libs/shared-utils/three/core/polygonVertex.js +0 -16
  3253. package/libs/shared-utils/three/earcut3D.d.ts +0 -2
  3254. package/libs/shared-utils/three/earcut3D.js +0 -12
  3255. package/libs/shared-utils/three/filterVisibleIntersections.d.ts +0 -3
  3256. package/libs/shared-utils/three/filterVisibleIntersections.js +0 -7
  3257. package/libs/shared-utils/three/generatePolygonGeometry.d.ts +0 -9
  3258. package/libs/shared-utils/three/generatePolygonGeometry.js +0 -19
  3259. package/libs/shared-utils/three/geometryUtil.d.ts +0 -15
  3260. package/libs/shared-utils/three/geometryUtil.js +0 -43
  3261. package/libs/shared-utils/three/getCoords.d.ts +0 -9
  3262. package/libs/shared-utils/three/getCoords.js +0 -13
  3263. package/libs/shared-utils/three/getIntersect.d.ts +0 -22
  3264. package/libs/shared-utils/three/getIntersect.js +0 -24
  3265. package/libs/shared-utils/three/getNormal.d.ts +0 -5
  3266. package/libs/shared-utils/three/getNormal.js +0 -12
  3267. package/libs/shared-utils/three/getObjectVisible.d.ts +0 -5
  3268. package/libs/shared-utils/three/getObjectVisible.js +0 -4
  3269. package/libs/shared-utils/three/getPositionsByObjectFit.d.ts +0 -3
  3270. package/libs/shared-utils/three/getPositionsByObjectFit.js +0 -20
  3271. package/libs/shared-utils/three/getRaycaster.d.ts +0 -6
  3272. package/libs/shared-utils/three/getRaycaster.js +0 -12
  3273. package/libs/shared-utils/three/getTextureLoader.d.ts +0 -6
  3274. package/libs/shared-utils/three/getTextureLoader.js +0 -15
  3275. package/libs/shared-utils/three/index.d.ts +0 -15
  3276. package/libs/shared-utils/three/index.js +0 -14
  3277. package/libs/shared-utils/three/libs/NURBSCurve.js +0 -22
  3278. package/libs/shared-utils/three/libs/NURBSUtils.js +0 -212
  3279. package/libs/shared-utils/three/libs/inflate.js +0 -282
  3280. package/libs/shared-utils/three/loadTexture.d.ts +0 -6
  3281. package/libs/shared-utils/three/loadTexture.js +0 -37
  3282. package/libs/shared-utils/three/loadVideoTexture.d.ts +0 -9
  3283. package/libs/shared-utils/three/loadVideoTexture.js +0 -34
  3284. package/libs/shared-utils/three/recurveFindObject.d.ts +0 -2
  3285. package/libs/shared-utils/three/recurveFindObject.js +0 -6
  3286. package/libs/shared-utils/three/temp.d.ts +0 -2
  3287. package/libs/shared-utils/three/temp.js +0 -6
  3288. package/libs/shared-utils/three/transformPositionToVector3.d.ts +0 -7
  3289. package/libs/shared-utils/three/transformPositionToVector3.js +0 -5
  3290. package/libs/shared-utils/three/transformToMeshBasicMaterial.d.ts +0 -2
  3291. package/libs/shared-utils/three/transformToMeshBasicMaterial.js +0 -24
  3292. package/libs/shared-utils/three/vector3ToArray.d.ts +0 -3
  3293. package/libs/shared-utils/three/vector3ToArray.js +0 -6
  3294. package/libs/shared-utils/three/vectorIsEqual.d.ts +0 -2
  3295. package/libs/shared-utils/three/vectorIsEqual.js +0 -6
  3296. package/libs/shared-utils/threex/domevents/index.js +0 -222
  3297. package/libs/shared-utils/throttle.d.ts +0 -7
  3298. package/libs/shared-utils/throttle.js +0 -11
  3299. package/libs/shared-utils/tinyEJSrender.d.ts +0 -5
  3300. package/libs/shared-utils/tinyEJSrender.js +0 -140
  3301. package/libs/shared-utils/to.d.ts +0 -8
  3302. package/libs/shared-utils/to.js +0 -28
  3303. package/libs/shared-utils/translateMode/getDistanceFromModel.d.ts +0 -2
  3304. package/libs/shared-utils/translateMode/getDistanceFromModel.js +0 -11
  3305. package/libs/shared-utils/typescript/entries.d.ts +0 -2
  3306. package/libs/shared-utils/typescript/entries.js +0 -6
  3307. package/libs/shared-utils/url/absoluteUrl.d.ts +0 -5
  3308. package/libs/shared-utils/url/absoluteUrl.js +0 -6
  3309. package/libs/shared-utils/url/defaultUrls.d.ts +0 -30
  3310. package/libs/shared-utils/url/defaultUrls.js +0 -26
  3311. package/libs/shared-utils/url/getUrl.d.ts +0 -4
  3312. package/libs/shared-utils/url/getUrl.js +0 -7
  3313. package/libs/shared-utils/url/replace-static-prefix.d.ts +0 -11
  3314. package/libs/shared-utils/url/replace-static-prefix.js +0 -28
  3315. package/libs/shared-utils/util.d.ts +0 -1
  3316. package/libs/shared-utils/util.js +0 -6
  3317. package/libs/shared-utils/uuid.d.ts +0 -5
  3318. package/libs/shared-utils/uuid.js +0 -9
  3319. package/libs/shared-utils/vectorToCoordinate.d.ts +0 -7
  3320. package/libs/shared-utils/vectorToCoordinate.js +0 -10
  3321. package/libs/typings/math.type.d.ts +0 -44
  3322. package/libs/typings/typings.d.ts +0 -15
  3323. package/libs/typings/utils.type.d.ts +0 -4
  3324. package/libs/vendor/@realsee/five/vfx/index.js +0 -977
  3325. package/libs/vendor/@tweenjs/tween/dist/tween.esm.js.js +0 -412
  3326. package/libs/vendor/animejs/lib/anime.es.js +0 -863
  3327. package/libs/vendor/classnames/index.js +0 -47
  3328. package/libs/vendor/earcut/src/earcut.js +0 -280
  3329. package/libs/vendor/easy-reactive/main.js +0 -3
  3330. package/libs/vendor/easy-reactive/src/simply-reactive.js +0 -44
  3331. package/libs/vendor/easy-reactive/src/utils/object.js +0 -12
  3332. package/libs/vendor/easy-reactive/src/utils/subscription.js +0 -28
  3333. package/libs/vendor/easy-reactive/src/utils/watcher.js +0 -17
  3334. package/libs/vendor/gl-vec2/add.js +0 -7
  3335. package/libs/vendor/gl-vec2/dot.js +0 -7
  3336. package/libs/vendor/gl-vec2/normalize.js +0 -8
  3337. package/libs/vendor/gl-vec2/set.js +0 -7
  3338. package/libs/vendor/gl-vec2/subtract.js +0 -7
  3339. package/libs/vendor/hammerjs/hammer.js +0 -1189
  3340. package/libs/vendor/hotkeys-js/dist/hotkeys.esm.js +0 -384
  3341. package/libs/vendor/lodash.clonedeep/index.js +0 -457
  3342. package/libs/vendor/lodash.get/index.js +0 -236
  3343. package/libs/vendor/lodash.isequal/index.js +0 -489
  3344. package/libs/vendor/object-assign-deep/objectAssignDeep.js +0 -62
  3345. package/libs/vendor/polyline-miter-util/index.js +0 -18
  3346. package/libs/vendor/polyline-normals/index.js +0 -28
  3347. package/libs/vendor/resize-observer-polyfill/dist/ResizeObserver.es.js +0 -290
  3348. package/libs/vendor/svelte/easing/index.js +0 -11
  3349. package/libs/vendor/svelte/index.js +0 -1
  3350. package/libs/vendor/svelte/internal/index.js +0 -750
  3351. package/libs/vendor/svelte/store/index.js +0 -31
  3352. package/libs/vendor/svelte/transition/index.js +0 -40
  3353. package/libs/vendor/svelte-carousel/src/actions/hoverable/event.js +0 -18
  3354. package/libs/vendor/svelte-carousel/src/actions/hoverable/hoverable.js +0 -19
  3355. package/libs/vendor/svelte-carousel/src/actions/hoverable/index.js +0 -1
  3356. package/libs/vendor/svelte-carousel/src/actions/swipeable/event.js +0 -26
  3357. package/libs/vendor/svelte-carousel/src/actions/swipeable/index.js +0 -1
  3358. package/libs/vendor/svelte-carousel/src/actions/swipeable/swipeable.js +0 -51
  3359. package/libs/vendor/svelte-carousel/src/actions/tappable/event.js +0 -18
  3360. package/libs/vendor/svelte-carousel/src/actions/tappable/index.js +0 -1
  3361. package/libs/vendor/svelte-carousel/src/actions/tappable/tappable.js +0 -36
  3362. package/libs/vendor/svelte-carousel/src/components/Arrow/Arrow.js +0 -79
  3363. package/libs/vendor/svelte-carousel/src/components/Carousel/Carousel.js +0 -789
  3364. package/libs/vendor/svelte-carousel/src/components/Carousel/createCarousel.js +0 -261
  3365. package/libs/vendor/svelte-carousel/src/components/Dot/Dot.js +0 -58
  3366. package/libs/vendor/svelte-carousel/src/components/Dots/Dots.js +0 -127
  3367. package/libs/vendor/svelte-carousel/src/components/Progress/Progress.js +0 -52
  3368. package/libs/vendor/svelte-carousel/src/direction.js +0 -5
  3369. package/libs/vendor/svelte-carousel/src/main.js +0 -1
  3370. package/libs/vendor/svelte-carousel/src/units.js +0 -7
  3371. package/libs/vendor/svelte-carousel/src/utils/ProgressManager.js +0 -52
  3372. package/libs/vendor/svelte-carousel/src/utils/clones.js +0 -60
  3373. package/libs/vendor/svelte-carousel/src/utils/event.js +0 -12
  3374. package/libs/vendor/svelte-carousel/src/utils/interval.js +0 -4
  3375. package/libs/vendor/svelte-carousel/src/utils/lazy.js +0 -48
  3376. package/libs/vendor/svelte-carousel/src/utils/math.js +0 -11
  3377. package/libs/vendor/svelte-carousel/src/utils/object.js +0 -13
  3378. package/libs/vendor/svelte-carousel/src/utils/page.js +0 -154
  3379. /package/dist/{CSS3DRenderPlugin → types/CSS3DRenderPlugin}/utils/random.d.ts +0 -0
  3380. /package/dist/{CruisePlugin → types/CruisePlugin}/utils/coordinatesAngle.d.ts +0 -0
  3381. /package/dist/{shared-utils → types/CruisePlugin/utils}/formatRad.d.ts +0 -0
  3382. /package/{libs → dist/types}/CruisePlugin/utils/linerValue.d.ts +0 -0
  3383. /package/dist/{CruisePlugin → types/CruisePlugin}/utils/safeCall.d.ts +0 -0
  3384. /package/dist/{CruisePlugin → types/CruisePlugin}/utils/sleep.d.ts +0 -0
  3385. /package/dist/{DigitalPerformancePlugin → types/DigitalPerformancePlugin}/animation-script-adapter.d.ts +0 -0
  3386. /package/dist/{DigitalPerformancePlugin → types/DigitalPerformancePlugin}/mock.d.ts +0 -0
  3387. /package/dist/{DigitalPerformancePlugin → types/DigitalPerformancePlugin}/movement-track-classifier.d.ts +0 -0
  3388. /package/dist/{DigitalPerformancePlugin → types/DigitalPerformancePlugin}/transform-script-data.d.ts +0 -0
  3389. /package/dist/{FireScenePlugin → types/FireScenePlugin}/typing.d.ts +0 -0
  3390. /package/dist/{GuideLinePlugin → types/GuideLinePlugin}/utils/index.d.ts +0 -0
  3391. /package/dist/{ItemLabelPlugin → types/ItemLabelPlugin}/utils/getLabelTransform.d.ts +0 -0
  3392. /package/dist/{ModelMakerPlugin → types/ModelMakerPlugin}/typings/data.d.ts +0 -0
  3393. /package/dist/{ModelRoomLabelPlugin → types/ModelRoomLabelPlugin}/Assets/roomLabelBg.d.ts +0 -0
  3394. /package/dist/{ModelRoomLabelPlugin → types/ModelRoomLabelPlugin}/typings.d.ts +0 -0
  3395. /package/dist/{Object3DHelperPlugin → types/Object3DHelperPlugin}/typings.d.ts +0 -0
  3396. /package/dist/{PanoCompassPlugin → types/PanoCompassPlugin}/Assets/roomInfoIcon.d.ts +0 -0
  3397. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/Components/Common/icons/index.d.ts +0 -0
  3398. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/Modules/DeleteDom/_Assets/delete.svg.d.ts +0 -0
  3399. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +0 -0
  3400. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/Modules/DeleteDom/_Assets/delete_hover_bg.png.d.ts +0 -0
  3401. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/Modules/UIController/style.d.ts +0 -0
  3402. /package/{libs → dist/types}/PanoMeasurePlugin/typings/utils.type.d.ts +0 -0
  3403. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/utils/ironbox.d.ts +0 -0
  3404. /package/dist/{PanoMeasurePlugin → types/PanoMeasurePlugin}/utils/isIntersecting.d.ts +0 -0
  3405. /package/dist/{PanoRulerPlugin → types/PanoRulerPlugin}/style.d.ts +0 -0
  3406. /package/dist/{PanoRulerPlugin → types/PanoRulerPlugin}/typings.d.ts +0 -0
  3407. /package/dist/{PanoRulerProPlugin → types/PanoRulerProPlugin}/typings.d.ts +0 -0
  3408. /package/dist/{PanoSpatialTagPlugin → types/PanoSpatialTagPlugin}/style.d.ts +0 -0
  3409. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/Assets/Icon.d.ts +0 -0
  3410. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/Components/Common/Icon/tag-popover-arrow-base64.d.ts +0 -0
  3411. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/Components/Tag/Assets/marketingIcon.d.ts +0 -0
  3412. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/audio/AudioDiagnostics.d.ts +0 -0
  3413. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/checkRange.d.ts +0 -0
  3414. /package/{libs → dist/types}/PanoTagPlugin/utils/color.d.ts +0 -0
  3415. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/constants.d.ts +0 -0
  3416. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/doUtil.d.ts +0 -0
  3417. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/noTypecheck.d.ts +0 -0
  3418. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/popoverContainer.d.ts +0 -0
  3419. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/px2rem.d.ts +0 -0
  3420. /package/{libs → dist/types}/PanoTagPlugin/utils/requestIdleCallback.d.ts +0 -0
  3421. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/search.d.ts +0 -0
  3422. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/throttle.d.ts +0 -0
  3423. /package/{libs → dist/types}/PanoTagPlugin/utils/timeToString.d.ts +0 -0
  3424. /package/dist/{PanoTagPlugin → types/PanoTagPlugin}/utils/videoHelper.d.ts +0 -0
  3425. /package/dist/{PipelinePlugin → types/PipelinePlugin}/typing/PluginData.d.ts +0 -0
  3426. /package/dist/{PipelinePlugin → types/PipelinePlugin}/typing/ServerData.d.ts +0 -0
  3427. /package/dist/{Sculpt → types/Sculpt}/utils/Meshes/getLengthHTML.d.ts +0 -0
  3428. /package/dist/{Sculpt → types/Sculpt}/utils/Modules/Cursor.d.ts +0 -0
  3429. /package/dist/{Sculpt → types/Sculpt}/utils/Modules/DeleteButtonBgBorder.d.ts +0 -0
  3430. /package/dist/{Sculpt → types/Sculpt}/utils/Modules/DeleteIconSVG.d.ts +0 -0
  3431. /package/dist/{Sculpt → types/Sculpt}/utils/isIntersecting.d.ts +0 -0
  3432. /package/dist/{Sculpt → types/Sculpt}/utils/radiusToSegments.d.ts +0 -0
  3433. /package/dist/{Sculpt → types/Sculpt}/utils/unit.d.ts +0 -0
  3434. /package/dist/{components → types/components}/AreaLabel/Assets/fontSize.d.ts +0 -0
  3435. /package/dist/{components → types/components}/AreaLabel/Assets/roomLabelBg.d.ts +0 -0
  3436. /package/dist/{components → types/components}/PaintBrush/Subscribe.d.ts +0 -0
  3437. /package/dist/{components → types/components}/PaintBrush/tween.d.ts +0 -0
  3438. /package/dist/{components → types/components}/PaintBrush/utils.d.ts +0 -0
  3439. /package/dist/{floorplan → types/floorplan}/Assets/camera.d.ts +0 -0
  3440. /package/dist/{floorplan → types/floorplan}/Assets/compass.d.ts +0 -0
  3441. /package/dist/{floorplan → types/floorplan}/Assets/floorplanExtraObject.d.ts +0 -0
  3442. /package/dist/{floorplan → types/floorplan}/MapviewFloorplanPlugin/items.d.ts +0 -0
  3443. /package/{libs/PanoSpatialTagPlugin → dist/types/floorplan/TopviewFloorplanPlugin}/style.d.ts +0 -0
  3444. /package/dist/{floorplan → types/floorplan}/constant.d.ts +0 -0
  3445. /package/dist/{floorplan → types/floorplan}/typings/floorplanServerData.d.ts +0 -0
  3446. /package/dist/{floorplan → types/floorplan}/typings/utility.d.ts +0 -0
  3447. /package/dist/{floorplan → types/floorplan}/utils/constant.d.ts +0 -0
  3448. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/Constants/RenderOrder.d.ts +0 -0
  3449. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/Helper/HTML/tipsDom.d.ts +0 -0
  3450. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/Helper/HTML/utils/createElement.d.ts +0 -0
  3451. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/typings/Direction.d.ts +0 -0
  3452. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/typings/Scissor.d.ts +0 -0
  3453. /package/dist/{shared-utils → types/shared-utils}/Object3DHelper/utils/object3DBoundingPosition.d.ts +0 -0
  3454. /package/dist/{shared-utils → types/shared-utils}/animationFrame/calculateProgress.d.ts +0 -0
  3455. /package/dist/{shared-utils → types/shared-utils}/animationFrame/formatRad.d.ts +0 -0
  3456. /package/dist/{shared-utils → types/shared-utils}/animationFrame/tween.d.ts +0 -0
  3457. /package/dist/{shared-utils → types/shared-utils}/audio.d.ts +0 -0
  3458. /package/dist/{shared-utils → types/shared-utils}/clamp.d.ts +0 -0
  3459. /package/dist/{shared-utils → types/shared-utils}/constants.d.ts +0 -0
  3460. /package/dist/{shared-utils → types/shared-utils}/createResizeObserver.d.ts +0 -0
  3461. /package/dist/{shared-utils → types/shared-utils}/debounce.d.ts +0 -0
  3462. /package/dist/{shared-utils → types/shared-utils}/device.d.ts +0 -0
  3463. /package/dist/{shared-utils → types/shared-utils}/dom/resizeObserver.d.ts +0 -0
  3464. /package/dist/{shared-utils → types/shared-utils}/equal.d.ts +0 -0
  3465. /package/dist/{shared-utils → types/shared-utils}/even.d.ts +0 -0
  3466. /package/dist/{shared-utils → types/shared-utils}/filter.d.ts +0 -0
  3467. /package/dist/{shared-utils → types/shared-utils}/forReverseEach.d.ts +0 -0
  3468. /package/{libs/CruisePlugin/utils → dist/types/shared-utils}/formatRad.d.ts +0 -0
  3469. /package/dist/{shared-utils → types/shared-utils}/isNil.d.ts +0 -0
  3470. /package/dist/{shared-utils → types/shared-utils}/isTouchDevice.d.ts +0 -0
  3471. /package/dist/{shared-utils → types/shared-utils}/isTruelyObject.d.ts +0 -0
  3472. /package/dist/{shared-utils → types/shared-utils}/log.d.ts +0 -0
  3473. /package/dist/{shared-utils → types/shared-utils}/logger.d.ts +0 -0
  3474. /package/dist/{shared-utils → types/shared-utils}/math/Interval.d.ts +0 -0
  3475. /package/dist/{shared-utils → types/shared-utils}/math/deg2Rad.d.ts +0 -0
  3476. /package/dist/{shared-utils → types/shared-utils}/math/inside.d.ts +0 -0
  3477. /package/dist/{shared-utils → types/shared-utils}/math/intersecting.d.ts +0 -0
  3478. /package/dist/{shared-utils → types/shared-utils}/math/rad2Deg.d.ts +0 -0
  3479. /package/dist/{shared-utils → types/shared-utils}/nearlyEqual.d.ts +0 -0
  3480. /package/dist/{shared-utils → types/shared-utils}/nextFrame.d.ts +0 -0
  3481. /package/dist/{shared-utils → types/shared-utils}/noop.d.ts +0 -0
  3482. /package/dist/{shared-utils → types/shared-utils}/playback.d.ts +0 -0
  3483. /package/dist/{shared-utils → types/shared-utils}/promise/withResolvers.d.ts +0 -0
  3484. /package/dist/{shared-utils → types/shared-utils}/px2rem.d.ts +0 -0
  3485. /package/dist/{shared-utils → types/shared-utils}/safeObj.d.ts +0 -0
  3486. /package/dist/{shared-utils → types/shared-utils}/tap.d.ts +0 -0
  3487. /package/dist/{shared-utils → types/shared-utils}/three/Assets/index.d.ts +0 -0
  3488. /package/dist/{shared-utils → types/shared-utils}/three/PointSelector/utils/contents.d.ts +0 -0
  3489. /package/dist/{shared-utils → types/shared-utils}/three/core/polygonVertex.d.ts +0 -0
  3490. /package/dist/{shared-utils → types/shared-utils}/throttle.d.ts +0 -0
  3491. /package/dist/{shared-utils → types/shared-utils}/tinyEJSrender.d.ts +0 -0
  3492. /package/dist/{shared-utils → types/shared-utils}/to.d.ts +0 -0
  3493. /package/dist/{shared-utils → types/shared-utils}/url/absoluteUrl.d.ts +0 -0
  3494. /package/dist/{shared-utils → types/shared-utils}/url/defaultUrls.d.ts +0 -0
  3495. /package/dist/{shared-utils → types/shared-utils}/url/getUrl.d.ts +0 -0
  3496. /package/dist/{shared-utils → types/shared-utils}/url/replace-static-prefix.d.ts +0 -0
  3497. /package/dist/{shared-utils → types/shared-utils}/util.d.ts +0 -0
  3498. /package/dist/{shared-utils → types/shared-utils}/uuid.d.ts +0 -0
  3499. /package/dist/{typings → types/typings}/math.type.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floorplan-KWlIsTvO.js","names":["root","$.from_html","$.prop","$.set_attribute","root","$.from_html","$.prop","$.child","$.sibling","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.child","$.get","$.untrack","root","$.from_html","$.prop","$.child","$.sibling","$.only_child","$.deep_read_state","$.untrack","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.comment","$.first_child","$.spread_props","$.event","root","$.from_html","root_1","root_2","root_3","$.mutable_source","$.prop","$.deep_read_state","$.get","$.child","$.first_child","$.only_child","$.set_style","$.untrack","$.sibling","$.event","$.comment","root","$.from_html","RoomLabels","$.mutable_source","$.prop","$.deep_read_state","$.get","$.comment","$.first_child","$.spread_props","$.event","root","$.from_html","root_1","root_2","$.prop","$.sibling","$.child","$.index","$.set_style","$.get","$.untrack","$.only_child","$.set_class","$.deep_read_state","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.derived","$.to_array","$.spread_props","$.set_style","root","$.from_svg","$.mutable_source","$.prop","$.deep_read_state","$.set_attribute","$.get","root","$.from_svg","$.mutable_source","$.prop","$.deep_read_state","$.first_child","$.child","$.sibling","$.set_attribute","$.get","root","$.from_svg","$.mutable_source","$.prop","$.deep_read_state","$.sibling","$.first_child","$.get","root","$.from_svg","$.prop","$.set_attribute","root","$.from_svg","root_1","root_2","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.index","$.first_child","$.child","$.untrack","$.sibling","$.set_attribute","$.derived","root","$.from_svg","$.mutable_source","$.prop","$.deep_read_state","$.get","$.untrack","root","$.from_html","$.prop","$.child","$.deep_read_state","$.untrack","$.spread_props","$.get","$.set_attribute","root","$.from_html","root_1","$.prop","$.child","$.sibling","$.only_child","$.set_style","$.deep_read_state","$.untrack","root","$.from_html","Camera","$.prop","$.child","$.set_style","root","$.from_html","$.prop","$.comment","$.first_child","$.child","$.sibling","$.only_child","$.set_style","root","$.from_html","root_1","CurrentFloor","$.mutable_source","$.prop","$.deep_read_state","$.get","$.child","$.first_child","$.spread_props","$.sibling","$.set_class","root","$.from_html","Main","$.prop","$.comment","$.first_child","$.deep_read_state","$.untrack","$.index","$.derived_safe_equal","$.get","$.spread_props","shouldFloorplanHideWithPose","shouldFloorplanShowWithPose","Controller","BasePlugin.Controller","Main","Controller","Controller","BasePlugin.Controller","itemTypes","Main","Controller","Controller","BasePlugin.Controller","Main","Controller","root","$.from_html","Camera","$.mutable_source","$.prop","$.deep_read_state","$.get","$.child","$.set_style","root","$.from_html","root_1","ExtraObjects","$.prop","$.child","$.set_style","$.get","$.untrack","root","$.from_html","$.prop","$.child","$.set_style","$.deep_read_state","$.untrack","root","$.from_html","root_1","CurrentFloor","$.mutable_source","$.prop","$.deep_read_state","$.get","$.comment","$.first_child","$.only_child","$.set_attribute","$.untrack","$.spread_props","$.sibling","root","$.from_html","root_1","Main","$.mutable_source","$.prop","$.deep_read_state","$.get","$.comment","$.first_child","$.child","$.spread_props","$.sibling","$.set_class","$.set_style","$.event","Controller","BasePlugin.Controller","Main","Controller","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.child","$.set_style","$.set_class","root","$.from_html","root_1","$.prop","$.child","$.set_style","$.get","$.untrack","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.comment","$.first_child","$.untrack","$.spread_props","$.sibling","root","$.from_html","root_1","$.mutable_source","$.prop","$.deep_read_state","$.get","$.set_style","$.untrack","root","$.from_html","root_1","root_2","$.mutable_source","$.prop","$.get","$.deep_read_state","$.child","$.comment","$.first_child","$.untrack","$.only_child","$.set_text","$.sibling","$.event","$.set_class","$.set_style","root","$.from_html","$.mutable_source","$.prop","$.deep_read_state","$.get","$.derived_safe_equal","$.untrack","$.event","root","$.from_html","$.prop","$.comment","$.first_child","$.child","$.sibling","$.only_child","$.set_style","$.from_html","$.mutable_source","$.prop","$.get","$.deep_read_state","$.comment","$.first_child","$.child","$.spread_props","$.sibling","$.derived_safe_equal","$.set_class","$.set_style","$.event","BasePlugin.Controller","waitFiveModelLoaded","FLOORPLAN_DEFAULT_IMAGE","replaceStaticPrefix","nearlyEqual","to","changeMode","equal","Controller$5","if_block","createEventDispatcher","from_svg","template_effect","effect","only_child","child","event","append","comment","from_html","set","deep_read_state","legacy_pre_effect","untrack","legacy_pre_effect_reset","mutable_source","sibling","transition","each","to_array","derived_safe_equal","set_attribute","action","writable","push","set_text","onMount","set_class","prop","init","set_style","first_child","spread_props","pop","reset","mountComponent","user_derived","index","html","get","rad2Deg","px2rem","getCurrentFontSize","getGlobalResponsiveFontSize","FONT_SIZE_MAP","linear","fade","svelteResizeObserver","omit","THREE","FLOOR_PLAN_ATTACHED_TO","\"FLOOR\"","\"CEILING\"","\"BOUNDING_CENTER\"","root$33","Normalmage","url","$$props","img","$$anchor","root$32","SvgImage","content","div","node","node_1","root$31","BaseImage","imageData","svgContent","floorIndex","floorplanData","outline","consequent","consequent_1","$$render","root$30","Item","item","left","top","width","height","transform","src","span","text","root$29","Items","items","clientWidth","pxmm","floor","boundingWidth","max","min","fragment","$$node","root$28","root_1$11","root_2$4","root_3$1","root_4","RoomLabel","fontConfig","userConfigElement","roomAreaSize","roomDimension","labelElementSize","isLabelInRoom","mainLabelVisible","wrapperLabelElementSize","isAllLabelInRoom","wrapperLabelVisible","level0_labelVisible","level1_labelVisible","level2_labelVisible","transformInner","nameSize","areaSize","roomAreaEnable","roomNameEnable","roomNameOtherTypeEnable","roomDimensionEnable","room","hoveredRoom","getRoomAreaText","getRoomDimensionText","getLabelElement","adaptiveRoomLabelVisibleEnable","fontSize","isPointInPolygon","x","point","y","inside","i","j","polygon","xi","yi","xj","yj","isLabelInRoomCurry","halfWidth","halfHeight","clientX","clientY","clientPolygon","roomLabel","wrapperClientWidth","wrapperClientHeight","clientHeight","isHovered","_room","styles","consequent_3","div_1","styles_1","styles_2","node_2","span_1","styles_3","text_1","node_3","consequent_2","span_2","styles_4","text_2","consequent_4","fragment_1","node_4","root$27","RoomLabels$1","rooms","fontSizeManager","newFontSize","root$26","root_1$10","root_2$3","RuleItem","type","data","bounding","getRuleDistanceText","isRow","padding","contentWidth","contentHeight","rulerPoints","start","end","arr","rulerLabels","num","length","rulerTexts","distance","positionNum","classes","classes_1","div_2","rulerLabel","div_3","div_4","div_5","classes_2","textItem","$0","root$25","RuleLabels","ruleLabelData","ruleLabelDataKeys","ruleLabelArray","boundingHeight","key","$$array","$$item","pathD","d","options","needZ","points","_point","needA","formatFloorplanPoint","modelPosition2FloorplanPosition","position","floorplanPosition2ImagePosition","getFloorIndexFromModelPosition","five","observer","root$24","RoomMaterial_0","path","path_1","root$23","RoomMaterial_1","defs","pattern","rect","path_2","root$22","RoomMaterial_2","path_3","root$21","RoomTriangle","dimension","mergedPath","root$20","root_1$9","root_2$2","RoomMaterial","roomLabelsEnable","allowShowArrow","p","svg","alternate","svg_1","root$19","Room","highlight","style","highlightData","onMouseEnter","onMouseLeave","_pathD","vector","root$18","RoomHighlight","root$17","root_1$8","MissingFloor","missingFloorConfig","CAMERA_IMAGE","CAMERA_IMAGE_BIG_DOT","root$16","Camera$2","panoIndex","lastPanoramaLongitude","cameraImageUrl","observers","leftRatio","topRatio","positionLeft","positionTop","rotate","bodyWidth","bodyHeight","domSizeStyle","COMPASS_IMAGE","root$15","Compass","northDesc","northRad","canCompassShow","compassTransformStyle","root$14","root_1$7","CurrentFloor$2","floorData","hasCurrentFloorData","isCurrent","highlightEnable","cameraEnable","hoverEnable","ruleLabelsEnable","compassEnable","store","value","node_5","node_6","node_7","node_8","consequent_5","root$13","Main$2","duration","visible","FLOORPLAN_EXTRA_OBJECT_IMAGE","formatOutlines","headers","outlines","outlineItem","res","formatRoom","floorplanRoomItem","formatFloorData","_data","formateFloorplanObserver","floorplanObserver","formatFloorplanEntrance","formatData","floorDatas","label","formatExtraObjects","object","icon","floorplanPosition","floorplanImagePosition","getFloorY","ob","getAttachedY","currentFloorY","nextFloorY","attachedTo","getPxmm","originPosition","originPositionXUnit","mouse","xUnitMouse","container","FloorplanErrorType","\"UnknownError\"","\"DataNotLoaded\"","\"UpdateSizeError\"","\"BreakOffByHide\"","\"BreakOffByDisable\"","\"ModelNotLoaded\"","\"ChangeModeError\"","\"UpdateCameraError\"","getDistanceFromModel","model","radius","fov","aspect","checkShowState","showState","_latitude","_longitude","_offset","_fov","latitude","longitude","offset","correctFiveState","currentFiveState","innerModel","m","effectiveFov","changeModeError","userAction","time","updateCameraError","changeModelCanvasOpacity","fiveEle","opacity","shouldFloorplanHideWithPose$1","pose","shouldFloorplanShowWithPose$1","Controller$4","params","baseConfig","size","paramsConfig","config","generation","_serverData","serverData","prevData","state","wrapper","prevState","_width","_height","normalizedAngle","originPositionZUnit","zUnitMouse","mergedOptions","getShowPromise","hasRejected","externalErrorMsg","errorMsg","correctError","modelOpacity","renderDuration","error","mode","isFinal","fiveCurrentState","pointers","prevMode","shownFloor","props","ModelFloorplanPlugin","items_default","HOST","shouldFloorplanHideWithPose","shouldFloorplanShowWithPose","Controller$3","notes","modelPosition","ndcPosition","boundingCenter","baseLongitude","normalizedLongitude","MapviewFloorplanPlugin","Controller$2","TopviewFloorplanPlugin","root$12","Camera$1","positionTransform","rotateTransform","getCameraPositionTransform","getCameraRotateTransform","onFivePanoWillArrive","_panoIndex","onFivePanoArrived","onFiveCameraDirectionUpdate","throttle","root$11","root_1$6","ExtraObjects$1","extraObjects","extraObject","root$10","StyledImage","image","zIndex","multiply","a1","b1","c1","d1","e1","f1","a2","b2","c2","d2","e2","f2","right","invert","a","b","c","e","f","determinant","imageToBoundingTransform","floorplanToImage","root$9","root_1$5","CurrentFloor$1","currentFloorExtraObjects","styledFloor","styledTransform","missingFloorImageUrl","styledFloorplanEnable","alternate_1","root$8","root_1$4","Main$1","handlePanoArrived","contentSize","Controller$1","isPluginServerData","copyData","PanoFloorplanRadarPlugin","root$7","Camera","cameraSize","cameraOffset","root$6","root_1$3","ExtraObjects","root$5","CurrentFloor","fragment_2","root$4","root_1$2","ObserverDots","currentFloorObservers","observerDotSize","root$3","root_1$1","root_2$1","root_3","RoomLabelItem","isLabelInRoomChecker","labelVisible","roomName","createLabelInRoomChecker","dispatch","labelWidth","labelHeight","root$2","RoomLabels","allRooms","styledRoomLabelsByRoomId","labels","locale","styledRoomLabels","hoveredRoomId","labelPosition","handleMouseEnter","handleMouseLeave","styledLabel","$1","$2","$3","$4","root$1","FloorplanCompass","containerWidth","containerHeight","transformOriginX","transformOriginY","root","root_1","root_2","Main","clickEnable","compassHeight","displayedFloorIndex","shouldShowRadar","onFloorplanClick","handleFloorplanClick","clickX","clickY","clickData","Controller","clickImageX","clickImageY","clickFloorIndex","closestObserver","minDistance","imagePosition","observerImageX","observerImageY","currentFiveFloorIndex","FloorplanGuidePlugin","ROOM_FETILE_TYPE_MAP","FLOOR_TYPE_MAP","ROOM_TYPE_MAP"],"sources":["../../src/floorplan/constant.ts","../../src/floorplan/Components/Normalmage.svelte","../../src/floorplan/Components/SvgImage.svelte","../../src/floorplan/Components/BaseImage.svelte","../../src/floorplan/Components/Items/Item.svelte","../../src/floorplan/Components/Items/Items.svelte","../../src/floorplan/Components/RoomLabels/RoomLabel.svelte","../../src/floorplan/Components/RoomLabels/RoomLabels.svelte","../../src/floorplan/Components/RuleLabels/RuleItem.svelte","../../src/floorplan/Components/RuleLabels/RuleLabels.svelte","../../src/floorplan/utils/formatPosition.ts","../../src/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte","../../src/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte","../../src/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte","../../src/floorplan/Components/RoomMaterials/RoomTriangle.svelte","../../src/floorplan/Components/RoomMaterials/RoomMaterial.svelte","../../src/floorplan/Components/RoomHighlight/Room.svelte","../../src/floorplan/Components/RoomHighlight/RoomHighlight.svelte","../../src/floorplan/Components/MissingFloor.svelte","../../src/floorplan/Assets/camera.ts","../../src/floorplan/Components/Camera.svelte","../../src/floorplan/Assets/compass.ts","../../src/floorplan/Components/Compass.svelte","../../src/floorplan/Components/CurrentFloor.svelte","../../src/floorplan/Components/Main.svelte","../../src/floorplan/Assets/floorplanExtraObject.ts","../../src/floorplan/utils/formatData.ts","../../src/shared-utils/getPxmm.ts","../../src/floorplan/utils/constant.ts","../../src/shared-utils/translateMode/getDistanceFromModel.ts","../../src/floorplan/utils/correctFiveState.ts","../../src/shared-utils/changeModelCanvasOpacity.ts","../../src/floorplan/ModelFloorplanPlugin/Controller.ts","../../src/floorplan/ModelFloorplanPlugin/index.ts","../../src/floorplan/MapviewFloorplanPlugin/items.ts","../../src/floorplan/MapviewFloorplanPlugin/Controller.ts","../../src/floorplan/MapviewFloorplanPlugin/index.ts","../../src/floorplan/TopviewFloorplanPlugin/Controller.ts","../../src/floorplan/TopviewFloorplanPlugin/index.ts","../../src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte","../../src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte","../../src/floorplan/Components/StyledImage.svelte","../../src/floorplan/utils/styledFloorplan.ts","../../src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte","../../src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte","../../src/floorplan/PanoFloorplanRadarPlugin/Controller.ts","../../src/floorplan/PanoFloorplanRadarPlugin/index.ts","../../src/floorplan/FloorplanGuidePlugin/Components/Camera.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/FloorplanCompass.svelte","../../src/floorplan/FloorplanGuidePlugin/Components/Main.svelte","../../src/floorplan/FloorplanGuidePlugin/Controller.ts","../../src/floorplan/FloorplanGuidePlugin/index.ts","../../src/floorplan/typings/floorplanServerData.ts"],"sourcesContent":["export enum FLOOR_PLAN_ATTACHED_TO {\n FLOOR = 1,\n CEILING = 2,\n BOUNDING_CENTER = 3,\n}\n","<script lang=\"ts\">\n export let url: string\n</script>\n\n<img src={url} alt=\"floorplan iamge\" />\n\n<style>\n img {\n width: 100%;\n height: 100%;\n }\n</style>\n","<script lang=\"ts\">\n export let content: string\n\n const svgStyle = `\n <style>\n svg [type='lineGroup'] path {\n fill: #ffffff;\n stroke: #ffffff;\n }\n svg [type='lineItemGroup'] g g g g {\n stroke: #ffffff;\n }\n </style>\n `\n</script>\n\n<div class=\"floorplan-plugin__base-image\">\n <!-- TODO: @html 是一个很不好的语法,但是目前没有好的方式去配置 User DOM -->\n <!-- TODO: 看一下能不能改成在 reactive segment 里动态插入 DOM -->\n <!-- eslint-disable svelte/no-at-html-tags -->\n {@html svgStyle}\n {@html content}\n</div>\n\n<style>\n .floorplan-plugin__base-image {\n width: 100%;\n height: 100%;\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanData } from '../typings/floorplanData'\n import NormalImage from './Normalmage.svelte'\n import SvgImage from './SvgImage.svelte'\n\n export let floorIndex: number\n export let floorplanData: FloorplanData\n $: imageData = floorplanData.outlines.find(outline => outline.index === floorIndex)\n $: svgContent = floorplanData.outlines?.find(outline => outline.index === floorIndex)?.svgContent\n</script>\n\n<div class=\"floorplan-plugin__base-image\">\n {#if svgContent}\n <SvgImage content={svgContent} />\n {:else if imageData}\n <NormalImage url={imageData.url} />\n {/if}\n</div>\n\n<style>\n .floorplan-plugin__base-image {\n position: absolute;\n z-index: 10;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n</style>\n","<script lang=\"ts\">\n export let item: any\n\n // ====================================\n const left = item.positionInImage.x * 100 + '%'\n const top = item.positionInImage.y * 100 + '%'\n const width = item.width * 100 + '%'\n const height = item.height * 100 + '%'\n const transform = `rotate(${item.rotateZ}deg) scaleX(${item.rotateX ? -1 : 1}) scaleY(${item.rotateY ? -1 : 1})`\n const src = item.src\n</script>\n\n<div\n class=\"floorplan-plugin__item\"\n style:left\n style:top\n style:width\n style:height\n>\n <img \n class=\"floorplan-plugin__img\"\n src={src}\n alt=\"\"\n style:transform\n />\n <span class=\"floorplan-plugin__notes\">\n {item.notes}\n </span>\n</div>\n\n<style>\n .floorplan-plugin__item {\n position: absolute;\n display: flex;\n flex-flow: column;\n align-items: center;\n line-height: 1;\n color: #fff;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n will-change: opacity;\n transition: opacity 300ms;\n }\n .floorplan-plugin__img {\n width: 100%;\n height: 100%;\n }\n .floorplan-plugin__notes {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 4px;\n line-height: 1;\n border-radius: 4px;\n color: #fff;\n background: rgba(0,0,0,.6);\n font-size: 12px;\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanData, FloorplanRoomItem } from '../../typings/floorplanData'\n import Item from './Item.svelte'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n\n export let floorIndex: number\n export let floorplanData: FloorplanData\n $: items = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.items ?? []\n let clientWidth = 0\n let pxmm = 0\n\n $: {\n const { max, min } = floorplanData.bounding\n const boundingWidth = max.x - min.x\n pxmm = clientWidth / boundingWidth\n }\n</script>\n\n{#if items}\n <div\n class=\"floorplan-plugin__room-items\"\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n >\n {#each items as item (item.id)}\n <Item\n {...{\n item,\n }}\n />\n {/each}\n </div>\n{/if}\n\n<style>\n .floorplan-plugin__room-items {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 20;\n pointer-events: none;\n }\n</style>\n","<script lang=\"ts\">\n import type { Writable } from 'svelte/store'\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n import { FONT_SIZE_MAP, type FontSizeType } from '../../../shared-utils/fontSize'\n import px2rem from '../../../shared-utils/px2rem'\n\n export let pxmm: number\n export let roomAreaEnable: boolean\n export let roomNameEnable: boolean\n export let roomNameOtherTypeEnable: boolean\n export let roomDimensionEnable: boolean\n export let room: FloorplanRoomItem\n export let hoveredRoom: Writable<FloorplanRoomItem | undefined>\n export let getRoomAreaText: (areaSize: number) => string\n export let getRoomDimensionText: (areaWidth: number, areaHeight: number) => string\n export let getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null)\n export let adaptiveRoomLabelVisibleEnable: boolean\n export let fontSize: FontSizeType\n\n // https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html\n // https://github.com/substack/point-in-polygon\n function isPointInPolygon(point: number[], polygon: number[][]) {\n const x = point[0]\n const y = point[1]\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0]\n const yi = polygon[i][1]\n const xj = polygon[j][0]\n const yj = polygon[j][1]\n\n const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi\n if (intersect) inside = !inside\n }\n return inside\n }\n\n function isLabelInRoomCurry(room: FloorplanRoomItem, labelElementSize: { width: number; height: number }) {\n if (labelElementSize.width === 0 || labelElementSize.height === 0) return () => false\n const polygon = room.path.map(({ x, y }) => [x, y])\n const labelPosition = room.roomLabel.position\n const { x, y } = labelPosition\n const { width, height } = labelElementSize\n const halfWidth = width / 2\n const halfHeight = height / 2\n\n /** 计算当前 Room Label Dom 是否在房间内。\n * @description\n * 1. 根据 position & pxmm 计算中心点位置。\n * 2. 根据 labelElement width & height 计算 Room Label Dom 的四个点位置。\n * 3. 判断四个点是否都在房间内。\n */\n return function isLabelInRoom(pxmm: number) {\n const clientX = x * pxmm\n const clientY = y * pxmm\n const clientPolygon = polygon.map(([x, y]) => [x * pxmm, y * pxmm])\n /** 围成 labelRect 的四个点\n * 1----0\n * | |\n * 2----3\n */\n const labelRectClientPoints = [\n [clientX + halfWidth, clientY - halfHeight],\n [clientX - halfWidth, clientY - halfHeight],\n [clientX - halfWidth, clientY + halfHeight],\n [clientX + halfWidth, clientY + halfHeight],\n ]\n return labelRectClientPoints.every((point) => isPointInPolygon(point, clientPolygon))\n }\n }\n\n // ========== 获取设备宽高像素 ==========\n // TODO: 统一这里的判断条件,目前写了多处。\n // ====================================\n const roomLabel = room.roomLabel\n const left = roomLabel.positionInImage.x * 100 + '%'\n const top = roomLabel.positionInImage.y * 100 + '%'\n \n // 使用传入的 fontSize 和 FONT_SIZE_MAP 来动态计算字号\n $: fontConfig = FONT_SIZE_MAP[fontSize]\n\n let wrapperClientWidth = 0\n let wrapperClientHeight = 0\n let clientWidth = 0\n let clientHeight = 0\n let isHovered = false\n\n $: userConfigElement = getLabelElement?.(room)\n $: roomAreaSize = room.size ? getRoomAreaText(room.size) : ''\n $: roomDimension = room?.dimension ? getRoomDimensionText(room.dimension?.width, room.dimension?.height) : ''\n\n $: labelElementSize = { width: clientWidth, height: clientHeight }\n $: isLabelInRoom = labelElementSize ? isLabelInRoomCurry(room, labelElementSize) : undefined\n $: mainLabelVisible = adaptiveRoomLabelVisibleEnable ? !!isLabelInRoom?.(pxmm) : true\n\n $: wrapperLabelElementSize = { width: wrapperClientWidth, height: wrapperClientHeight }\n $: isAllLabelInRoom = wrapperLabelElementSize ? isLabelInRoomCurry(room, wrapperLabelElementSize) : undefined\n $: wrapperLabelVisible = adaptiveRoomLabelVisibleEnable ? !!isAllLabelInRoom?.(pxmm) : true\n\n // label分间内容展示策略:level2: 展示名称+面积+长宽 level1: 展示名称+面积\n $: level0_labelVisible = wrapperLabelVisible || mainLabelVisible || isHovered\n $: level1_labelVisible = mainLabelVisible || isHovered\n $: level2_labelVisible = wrapperLabelVisible || isHovered\n $: transformInner = mainLabelVisible && !wrapperLabelVisible\n\n hoveredRoom.subscribe(function onHoveredRoomUpdate(_room) {\n isHovered = !!_room && _room.id === room.id\n })\n\n // 使用响应式的 fontConfig 来计算字号\n $: nameSize = px2rem(fontConfig?.name || 12)\n $: areaSize = px2rem(fontConfig?.area || 10)\n\n</script>\n\n<div\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n wrapperClientWidth = e.detail\n }}\n on:clientHeight={(e) => {\n wrapperClientHeight = e.detail\n }}\n class=\"floorplan-plugin__room-label-item\"\n style:left\n style:top\n style:font-size={nameSize}\n style:opacity={level0_labelVisible ? '1' : '0'}\n style:transform={transformInner ? 'translate(-50%, calc(-50% + 6px))' : 'translate(-50%, -50%)'}\n>\n <!-- 用户没有配置自定义 DOM 时,使用默认 DOM -->\n {#if getLabelElement === undefined}\n <div\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n on:clientHeight={(e) => {\n clientHeight = e.detail\n }}\n class=\"floorplan-plugin__room-part1\"\n style:opacity={level1_labelVisible ? '1' : '0'}\n >\n {#if roomNameEnable}\n <span class=\"floorplan-plugin__room-name\" style:font-size={nameSize}>\n {roomNameOtherTypeEnable ? room.name : room.roomType === '100900000012' ? room.customizedName : room.name}\n </span>\n {/if}\n {#if roomAreaEnable}\n <span class=\"floorplan-plugin__room-area\" style:font-size={areaSize}>{roomAreaSize}</span>\n {/if}\n </div>\n {#if roomDimensionEnable}\n <span class=\"floorplan-plugin__room-size\" style:font-size={areaSize} style:opacity={level2_labelVisible ? '0.6' : '0'}\n >{roomDimension}</span\n >\n {/if}\n <!-- 用户配置自定义 DOM 时,使用用户 DOM -->\n {:else if userConfigElement}\n <!-- @html 是一个很不好的语法,但是目前没有好的方式去配置 User DOM -->\n <!-- 看一下能不能改成在 reactive segment 里动态插入 DOM -->\n <!-- eslint-disable-next-line svelte/no-at-html-tags -->\n {@html userConfigElement.outerHTML}\n {/if}\n</div>\n\n<style>\n .floorplan-plugin__room-label-item {\n position: absolute;\n display: flex;\n flex-flow: column;\n align-items: center;\n line-height: 1;\n color: #fff;\n transform: translate(-50%, -50%);\n white-space: nowrap;\n will-change: opacity;\n transition: opacity 300ms;\n }\n .floorplan-plugin__room-part1 {\n display: flex;\n flex-flow: column;\n align-items: center;\n color: #fff;\n white-space: nowrap;\n }\n .floorplan-plugin__room-area {\n opacity: 0.6;\n line-height: 1.25;\n margin-top: 2px;\n }\n</style>\n","<script lang=\"ts\">\n import type { Writable } from 'svelte/store'\n import type { FloorplanData, FloorplanRoomItem } from '../../typings/floorplanData'\n import RoomLabel from './RoomLabel.svelte'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n import { getCurrentFontSize, getGlobalResponsiveFontSize } from '../../../shared-utils/fontSize'\n\n export let floorIndex: number\n export let roomAreaEnable: boolean\n export let roomNameEnable: boolean\n export let roomNameOtherTypeEnable: boolean\n export let roomDimensionEnable: boolean\n export let floorplanData: FloorplanData\n export let hoveredRoom: Writable<FloorplanRoomItem | undefined>\n export let getRoomAreaText: (areaSize: number) => string\n export let getRoomDimensionText: (areaWidth: number, areaHeight: number) => string\n export let getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null)\n export let adaptiveRoomLabelVisibleEnable: boolean\n\n $: rooms = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.rooms ?? []\n let clientWidth = 0\n let pxmm = 0\n\n // 根据屏幕宽度确定字号 - 使用全局单例版本\n const fontSizeManager = getGlobalResponsiveFontSize()\n \n // 处理服务端渲染的情况\n let fontSize: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' = getCurrentFontSize()\n \n // 只在浏览器环境中设置响应式\n if (typeof fontSizeManager === 'object' && 'subscribe' in fontSizeManager) {\n fontSizeManager.subscribe((newFontSize) => {\n fontSize = newFontSize\n })\n }\n\n $: {\n const { max, min } = floorplanData.bounding\n const boundingWidth = max.x - min.x\n pxmm = clientWidth / boundingWidth\n }\n</script>\n\n{#if rooms}\n <div\n class=\"floorplan-plugin__room-labels\"\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n >\n {#each rooms as room (room.id)}\n <RoomLabel\n {...{\n pxmm,\n room,\n hoveredRoom,\n roomAreaEnable,\n roomNameEnable,\n roomNameOtherTypeEnable,\n roomDimensionEnable,\n getLabelElement,\n getRoomAreaText,\n getRoomDimensionText,\n adaptiveRoomLabelVisibleEnable,\n fontSize,\n }}\n />\n {/each}\n </div>\n{/if}\n\n<style>\n .floorplan-plugin__room-labels {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n z-index: 20;\n pointer-events: none;\n }\n</style>\n","<script lang=\"ts\">\n import type { RuleLabelsKey, RuleLabelsValue, FloorplanBounding } from '../../typings/floorplanData'\n\n export let type: RuleLabelsKey\n export let data: RuleLabelsValue\n export let bounding: FloorplanBounding\n export let getRuleDistanceText: (distance: number) => string\n\n const isRow = type === 'top' || type === 'bottom'\n const padding = 1000\n const exteriorWallOffset = 180\n\n const contentWidth = bounding.max.x - bounding.min.x - (padding - exteriorWallOffset) * 2\n const contentHeight = bounding.max.y - bounding.min.y - (padding - exteriorWallOffset) * 2\n\n // 计算每一段墙的长度,以及墙两侧点距离标尺初始点的像素值\n const rulerPoints = data\n .map(([start, end]) => (isRow ? [start.x, end.x] : [start.y, end.y]))\n .flat()\n .sort()\n .filter((x, index, arr) => {\n // 筛除重复数据\n if (index === 0) return true\n return x !== arr[index - 1]\n })\n const rulerLabels = rulerPoints.map((num) => {\n const left = isRow ? (num - bounding.min.x - padding + exteriorWallOffset) / contentWidth : 0\n const bottom = !isRow ? (num - bounding.min.y - padding + exteriorWallOffset) / contentHeight : 0\n return { left, bottom }\n })\n rulerLabels.unshift({ left: 0, bottom: 0 })\n rulerLabels.push(isRow ? { left: 1, bottom: 0 } : { left: 0, bottom: 1 })\n const length = rulerPoints[rulerPoints.length - 1] - rulerPoints[0]\n const rulerTexts = rulerPoints\n .map((num, index, arr) => {\n const distance = index === 0 ? 0 : num - arr[index - 1]\n const positionNum = index === 0 ? 0 : (num + arr[index - 1]) / 2\n const left = isRow ? (positionNum - bounding.min.x - padding + exteriorWallOffset) / contentWidth : 0\n const bottom = !isRow ? (positionNum - bounding.min.y - padding + exteriorWallOffset) / contentHeight : 0\n return { left, bottom, distance }\n })\n .filter(({ distance }) => distance / length > 0.1)\n\n</script>\n\n<div\n class=\"floorplan-plugin__rule-labels floorplan-plugin__rule-labels--{type}\"\n class:is-row={isRow}\n style:width={isRow ? '100%' : 1 / 16 + 'rem'}\n style:height={!isRow ? '100%' : 1 / 16 + 'rem'}\n>\n <div class=\"floorplan-plugin__rule-line\" />\n <div class=\"floorplan-plugin__rule-scale-wrapper\" class:is-row={isRow}>\n {#each rulerLabels as rulerLabel}\n <div class=\"floorplan-plugin__rule-scale\" style:left={rulerLabel.left * 100 + '%'} style:bottom={rulerLabel.bottom * 100 + '%'} />\n {/each}\n </div>\n <div class=\"floorplan-plugin__rule-text-wrapper\">\n {#each rulerTexts as textItem, textItemIndex (textItemIndex)}\n <div class=\"floorplan-plugin__rule-text-item\" style:left={textItem.left * 100 + '%'} style:bottom={textItem.bottom * 100 + '%'}>\n <div class=\"floorplan-plugin__rule-text\" class:is-row={isRow}>\n {getRuleDistanceText(textItem.distance)}\n </div>\n </div>\n {/each}\n </div>\n</div>\n\n<style>\n .floorplan-plugin__rule-labels {\n position: absolute;\n display: flex;\n }\n .floorplan-plugin__rule-labels--top {\n left: 0;\n top: -1.25rem;\n }\n .floorplan-plugin__rule-labels--bottom {\n left: 0;\n bottom: -1.25rem;\n }\n .floorplan-plugin__rule-labels--left {\n top: 0;\n left: -1.25rem;\n }\n .floorplan-plugin__rule-labels--right {\n top: 0;\n right: -1.25rem;\n }\n\n .floorplan-plugin__rule-line {\n background: #fff;\n opacity: 0.2;\n width: 100%;\n height: 100%;\n }\n\n .floorplan-plugin__rule-scale-wrapper {\n position: absolute;\n /* 5px */\n width: 0.3125rem;\n height: 100%;\n left: 50%;\n top: 0;\n transform: translateX(-50%);\n }\n .floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-scale-wrapper {\n width: 100%;\n /* 5px */\n height: 0.3125rem;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n }\n .floorplan-plugin__rule-scale {\n position: absolute;\n background: #fff;\n opacity: 0.2;\n width: 100%;\n /* 1px */\n height: 0.0625rem;\n }\n .floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-scale {\n /* 1px */\n width: 0.0625rem;\n height: 100%;\n }\n\n .floorplan-plugin__rule-text-wrapper {\n position: absolute;\n }\n .floorplan-plugin__rule-labels--top .floorplan-plugin__rule-text-wrapper {\n width: 100%;\n height: 0;\n /* 10px */\n top: 0.625rem;\n }\n .floorplan-plugin__rule-labels--bottom .floorplan-plugin__rule-text-wrapper {\n width: 100%;\n height: 0;\n /* 10px */\n bottom: 0.625rem;\n }\n .floorplan-plugin__rule-labels--left .floorplan-plugin__rule-text-wrapper {\n width: 0;\n height: 100%;\n /* 10px */\n left: 0.625rem;\n }\n .floorplan-plugin__rule-labels--right .floorplan-plugin__rule-text-wrapper {\n width: 0;\n height: 100%;\n /* 10px */\n right: 0.625rem;\n }\n .floorplan-plugin__rule-text-item {\n width: 0;\n height: 0;\n position: absolute;\n transform: rotate(90deg);\n }\n .floorplan-plugin__rule-labels.is-row .floorplan-plugin__rule-text-item {\n transform: rotate(0);\n }\n .floorplan-plugin__rule-text {\n width: max-content;\n transform: translate(-50%, -50%);\n /* 10px */\n font-size: 0.625rem;\n color: #fff;\n opacity: 0.35;\n }\n\n</style>\n","<script lang=\"ts\">\n import RuleItem from './RuleItem.svelte'\n import type { FloorplanData, RuleLabelsKey, RuleLabelsValue } from '../../typings/floorplanData'\n\n export let floorIndex: number\n export let floorplanData: FloorplanData\n export let getRuleDistanceText: (distance: number) => string\n\n const padding = 1000\n const exteriorWallOffset = 180\n\n $: bounding = floorplanData.bounding\n $: ruleLabelData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.rules ?? []\n $: ruleLabelDataKeys = Object.keys(ruleLabelData) as RuleLabelsKey[]\n $: ruleLabelArray = ruleLabelDataKeys.map((key) => [key, ruleLabelData[key]] as [RuleLabelsKey, RuleLabelsValue])\n $: boundingWidth = bounding.max.x - bounding.min.x\n $: boundingHeight = bounding.max.y - bounding.min.y\n $: contentWidth = bounding.max.x - bounding.min.x - (padding - exteriorWallOffset) * 2\n $: contentHeight = bounding.max.y - bounding.min.y - (padding - exteriorWallOffset) * 2\n $: width = (contentWidth / boundingWidth) * 100 + '%'\n $: height = (contentHeight / boundingHeight) * 100 + '%'\n</script>\n\n<div class=\"floorplan-plugin__rule-labels-wrapper\" style:width style:height>\n {#each ruleLabelArray as [type, data] (type)}\n <RuleItem {...{ type, data, bounding, getRuleDistanceText }} />\n {/each}\n</div>\n\n<style>\n .floorplan-plugin__rule-labels-wrapper {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n pointer-events: none;\n }\n</style>\n","import type { Five } from '@realsee/five-webgpu'\nimport type { Vector2Position } from '../../typings/math.type'\nimport type { FloorplanData, FloorplanBounding } from '../typings/floorplanData'\n\nexport function pathD(\n points: Vector2Position[],\n options: {\n needZ?: boolean\n needA?: Record<number, string>\n format?: (vector: Vector2Position) => Vector2Position\n } = {},\n) {\n let d = ''\n const { needZ, needA } = options\n const _points = needZ ? points.slice().concat(points[0]) : points.slice()\n\n _points.forEach((_point, index) => {\n const { x, y } = options.format ? options.format(_point) : _point\n const point = x + ',' + y\n if (index === 0) {\n d += 'M' + point\n return d\n }\n if (needA?.[index]) {\n d += 'A' + needA[index] + ',' + point\n return d\n }\n d += 'L' + point\n return d\n })\n return d + (needZ ? 'Z' : '')\n}\n\n/** 把户型图上点点位转换到 SVG 上的点位 */\nexport default function formatFloorplanPoint({ x, y }: Vector2Position, bounding: FloorplanBounding) {\n const { max, min } = bounding\n return { x: x - min.x, y: max.y - y }\n}\n\n/** 模型坐标转户型图坐标 */\nexport function modelPosition2FloorplanPosition(\n position: { x: number; y: number; z: number },\n floorplanData: FloorplanData,\n) {\n const x = position.x * 1000 + floorplanData.bounding.origin.x\n const y = -position.z * 1000 + floorplanData.bounding.origin.y\n return { x, y }\n}\n\n/** 户型图点位转在图片上的相对坐标 */\nexport function floorplanPosition2ImagePosition(position: { x: number; y: number }, floorplanData: FloorplanData) {\n const bounding = floorplanData.bounding\n const boundingWidth = bounding.max.x - bounding.min.x\n const boundingHeight = bounding.max.y - bounding.min.y\n return {\n x: (position.x - bounding.min.x) / boundingWidth,\n y: (bounding.max.y - position.y) / boundingHeight,\n }\n}\n\n/** 求三维坐标点所在的楼层 */\nexport function getFloorIndexFromModelPosition(position: { x: number; y: number; z: number }, five: Five) {\n const floorIndex = Math.max(\n ...five.work.observers.map((observer) => {\n if (position.z >= observer.standingPosition.z) return observer.floorIndex\n return 0\n }),\n )\n return floorIndex\n}\n","<script lang=\"ts\">\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { pathD } from '../../utils/formatPosition'\n\n export let path: FloorplanRoomItem['path']\n\n $: d = pathD(path, { needZ: true })\n</script>\n\n<!-- 纯色背景 -->\n<path {d} fill=\"#2F313A\" />\n","<script lang=\"ts\">\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { pathD } from '../../utils/formatPosition'\n export let path: FloorplanRoomItem['path']\n $: d = pathD(path, { needZ: true })\n const halfWidth = 6\n const width = halfWidth * 2\n const patternPathD = `M0 ${halfWidth} h ${width} M${halfWidth} 0 v ${width}`\n</script>\n\n<!-- 瓷砖地板, 偏蓝的格格 -->\n<defs>\n <pattern\n id=\"fpm-room-pattern-0\"\n x=\"0\"\n y=\"0\"\n {width}\n height={width}\n patternUnits=\"userSpaceOnUse\"\n patternTransform=\"scale(50 50)\"\n >\n <rect x=\"0\" y=\"0\" {width} height={width} fill=\"#323747\" />\n <path d={patternPathD} stroke=\"#ffffff\" stroke-opacity=\"0.06\" stroke-width=\"0.5\" fill=\"none\" />\n </pattern>\n</defs>\n<path {d} fill=\"url(#fpm-room-pattern-0)\" />\n","<script lang=\"ts\">\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { pathD } from '../../utils/formatPosition'\n\n export let path: FloorplanRoomItem['path']\n\n $: d = pathD(path, { needZ: true })\n</script>\n\n<!-- 木地板,偏灰的格格 -->\n<defs>\n <pattern\n id=\"room-material-pattern-1\"\n x=\"0\"\n y=\"0\"\n width=\"12\"\n height=\"50\"\n patternUnits=\"userSpaceOnUse\"\n patternTransform=\"scale(50 50)\"\n >\n <rect x=\"0\" y=\"0\" width=\"6\" height=\"50\" fill=\"none\" stroke=\"#4B4B57\" stroke-width=\"0.5\" />\n </pattern>\n <pattern\n id=\"room-material-pattern-2\"\n x=\"6\"\n y=\"25\"\n width=\"12\"\n height=\"50\"\n patternUnits=\"userSpaceOnUse\"\n patternTransform=\"scale(50 50)\"\n >\n <rect x=\"0\" y=\"0\" width=\"6\" height=\"50\" fill=\"none\" stroke=\"#4B4B57\" stroke-width=\"0.5\" />\n </pattern>\n</defs>\n<path {d} fill=\"#43434D\" />\n<path {d} fill=\"url(#room-material-pattern-1)\" />\n<path {d} fill=\"url(#room-material-pattern-2)\" />\n","<script lang=\"ts\">\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { pathD } from '../../utils/formatPosition'\n\n export let dimension: FloorplanRoomItem['dimension']\n\n // 生成三角形路径\n const topTriangle = pathD([\n { x: dimension.vertical[1].x, y: dimension.vertical[1].y + 53 },\n { x: dimension.vertical[1].x - 60, y: dimension.vertical[1].y + 124 },\n { x: dimension.vertical[1].x + 60, y: dimension.vertical[1].y + 124 }\n ], { needZ: true })\n const bottomTriangle = pathD([\n { x: dimension.vertical[0].x, y: dimension.vertical[0].y - 53 },\n { x: dimension.vertical[0].x - 60, y: dimension.vertical[0].y - 124 },\n { x: dimension.vertical[0].x + 60, y: dimension.vertical[0].y - 124 }\n ], { needZ: true })\n const leftTriangle = pathD([\n { x: dimension.horizontal[0].x + 53, y: dimension.horizontal[0].y},\n { x: dimension.horizontal[0].x + 124, y: dimension.horizontal[0].y + 60 },\n { x: dimension.horizontal[0].x + 124, y: dimension.horizontal[0].y - 60 }\n ], { needZ: true })\n const rightTriangle = pathD([\n { x: dimension.horizontal[1].x - 53, y: dimension.horizontal[1].y},\n { x: dimension.horizontal[1].x - 124, y: dimension.horizontal[1].y + 60 },\n { x: dimension.horizontal[1].x - 124, y: dimension.horizontal[1].y - 60 }\n ], { needZ: true })\n\n // 合并路径\n const mergedPath = `${topTriangle} ${bottomTriangle} ${leftTriangle} ${rightTriangle}`\n\n</script>\n\n<path d={mergedPath} fill=\"#969696\" stroke=\"#969696\" stroke-width=\"1\" fill-rule=\"evenodd\"/>\n","<script lang=\"ts\">\n import type { FloorplanData } from '../../typings/floorplanData'\n import formatFloorplanPoint from '../../utils/formatPosition'\n import RoomMaterial_0 from './RoomMaterial_0.svelte'\n import RoomMaterial_1 from './RoomMaterial_1.svelte'\n import RoomMaterial_2 from './RoomMaterial_2.svelte'\n import RoomTriangle from \"./RoomTriangle.svelte\"\n\n export let roomLabelsEnable: boolean\n export let roomDimensionEnable: boolean\n export let floorIndex: number\n export let floorplanData: FloorplanData\n const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x\n const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y\n\n const allowShowArrow = roomLabelsEnable && roomDimensionEnable\n\n $: rooms = (floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.rooms ?? []).map((room) => ({\n ...room,\n path: room.path.map((p) => formatFloorplanPoint(p, floorplanData.bounding)),\n }))\n</script>\n\n<div class=\"floorplan-plugin__room-material\">\n {#each rooms as room}\n <svg width=\"100%\" height=\"100%\" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>\n {#if room.floorType === 1}\n <RoomMaterial_0 path={room.path} />\n {:else if room.floorType === 0}\n <RoomMaterial_2 path={room.path} />\n {:else}\n <RoomMaterial_1 path={room.path} />\n {/if}\n </svg>\n {#if allowShowArrow && room.dimension && Array.isArray(room.dimension.vertical) && room.dimension.vertical.length > 0 && Array.isArray(room.dimension.horizontal) && room.dimension.horizontal.length > 0}\n<!-- <svg width=\"100%\" height=\"100%\" viewBox={`${floorplanData.bounding.min.x} ${floorplanData.bounding.min.y} ${boundingWidth} ${boundingHeight}`}>-->\n <svg width=\"100%\" height=\"100%\" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>\n <RoomTriangle dimension={room.dimension} />\n </svg>\n {/if}\n {/each}\n</div>\n\n<style>\n .floorplan-plugin__room-material {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n }\n svg {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n overflow: visible;\n }\n</style>\n","<script lang=\"ts\">\n import type { Writable } from 'svelte/store'\n import type { HighlightData } from '../../typings'\n import type { FloorplanData, FloorplanRoomItem } from '../../typings/floorplanData'\n import formatFloorplanPoint, { pathD } from '../../utils/formatPosition'\n\n export let room: FloorplanRoomItem\n export let floorIndex: number\n export let floorplanData: FloorplanData\n export let highlightData: HighlightData\n export let hoveredRoom: Writable<FloorplanRoomItem | undefined> | undefined\n\n function onMouseEnter() {\n hoveredRoom?.set(room)\n }\n\n function onMouseLeave() {\n hoveredRoom?.set(undefined)\n }\n\n const { bounding } = floorplanData\n const _pathD = pathD(room.path, {\n needZ: true,\n format: (vector) => formatFloorplanPoint(vector, bounding),\n })\n $: highlight = highlightData[`${floorIndex}_${room.id}`]\n $: style = highlight\n ? `fill: ${highlight.color}; --opacity: ${highlight.opacity}; pointer-events: ${highlight.disabled ? 'none' : 'auto'}`\n : null\n</script>\n\n<path d={_pathD} fill={`#fff`} on:mouseenter={onMouseEnter} on:mouseleave={onMouseLeave} {style} id={`${floorIndex}_${room.id}`} />\n\n<style>\n path {\n --opacity: 0;\n opacity: var(--opacity);\n }\n path:hover {\n opacity: calc(var(--opacity) + 0.1);\n }\n</style>\n","<script lang=\"ts\">\n import Room from './Room.svelte'\n import type { Writable } from 'svelte/store'\n import type { FloorplanData, FloorplanRoomItem } from '../../typings/floorplanData'\n import type { HighlightData } from '../../typings'\n\n export let floorIndex: number\n export let floorplanData: FloorplanData\n export let highlightData: HighlightData\n export let hoveredRoom: Writable<FloorplanRoomItem | undefined> | undefined\n\n const boundingWidth = floorplanData.bounding.max.x - floorplanData.bounding.min.x\n const boundingHeight = floorplanData.bounding.max.y - floorplanData.bounding.min.y\n</script>\n\n<div class=\"floorplan-plugin__room-highlight\">\n <svg width=\"100%\" height=\"100%\" viewBox={`0 0 ${boundingWidth} ${boundingHeight}`}>\n {#each floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.rooms ?? [] as room (room.id)}\n <Room {...{ room, floorplanData, hoveredRoom, floorIndex, highlightData }} />\n {/each}\n </svg>\n</div>\n\n<style>\n .floorplan-plugin__room-highlight {\n position: absolute;\n width: 100%;\n height: 100%;\n }\n\n svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n }\n</style>\n","<script lang=\"ts\">\n import type { MissingFloorConfig } from '../typings'\n\n export let missingFloorConfig: MissingFloorConfig\n</script>\n\n<div class=\"missing-floor\">\n <img\n class=\"image\"\n alt=\"缺省楼层展位图\"\n src={missingFloorConfig.imageURL}\n style:width={missingFloorConfig.imageWidth + 'px'}\n style:height={missingFloorConfig.imageHeight + 'px'}\n style:max-width='none'\n />\n {#if missingFloorConfig.text}\n <span class=\"text\" style:font-size={missingFloorConfig.textFontSize + 'px'}>{missingFloorConfig.text}</span>\n {/if}\n</div>\n\n<style>\n .missing-floor {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n .text {\n margin-top: 12px;\n color: #fff;\n opacity: 0.3;\n white-space: nowrap;\n }\n</style>\n","export const CAMERA_IMAGE =\n 'data:image/png;base64,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'\nexport const CAMERA_IMAGE_BIG_DOT =\n 'data:image/png;base64,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'","<script lang=\"ts\">\n import type { FloorplanData } from '../typings/floorplanData'\n import { CAMERA_IMAGE } from '../Assets/camera'\n import { rad2Deg } from '../../shared-utils/math/rad2Deg'\n\n export let panoIndex: number\n export let floorplanData: FloorplanData\n export let lastPanoramaLongitude: number\n export let cameraImageUrl: undefined | string\n\n const { observers } = floorplanData\n const observer = observers[panoIndex]\n const leftRatio = observer.positionInImage.x\n const topRatio = observer.positionInImage.y\n const positionLeft = leftRatio * 100 + '%'\n const positionTop = topRatio * 100 + '%'\n\n const rotate = -rad2Deg(lastPanoramaLongitude) + 45\n // TODO: 统一这里的判断条件,目前写了多处\n const bodyWidth = document.body.clientWidth\n const bodyHeight = document.body.clientHeight\n const size = bodyWidth < 500 || bodyHeight < 500 ? 17 : 37\n const domSizeStyle = `${size / 16}rem`\n\n</script>\n\n<div class=\"floorplan__camera-position\" style:left={positionLeft} style:top={positionTop}>\n <div\n class=\"floorplan__camera-rotate\"\n style:width={domSizeStyle}\n style:height={domSizeStyle}\n style:left={'-' + domSizeStyle}\n style:top={'-' + domSizeStyle}\n style:transform={`rotate(${rotate}deg)`}\n style:transform-origin={`${domSizeStyle} ${domSizeStyle}`}\n style=\"background-image: {`url(${cameraImageUrl || CAMERA_IMAGE})`}\"\n />\n</div>\n\n<style lang=\"postcss\">\n .floorplan__camera-position {\n pointer-events: none;\n position: absolute;\n width: 0;\n height: 0;\n }\n\n .floorplan__camera-rotate {\n position: absolute;\n background-repeat: no-repeat;\n background-size: 100%;\n }\n\n</style>\n","export const COMPASS_IMAGE =\n 'data:image/png;base64,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'\n","<script lang=\"ts\">\n import { COMPASS_IMAGE } from '../Assets/compass'\n import type { FloorplanData } from '../typings/floorplanData'\n import { rad2Deg } from '../../shared-utils/math/rad2Deg'\n\n export let floorplanData: FloorplanData\n export let northDesc: string\n\n const northRad = floorplanData.entrance?.northRad\n const canCompassShow = typeof northRad === 'number'\n const rotate = !northRad ? 0 : rad2Deg(northRad)\n const compassTransformStyle = `translateX(-50%) translateZ(10px) rotate(${-rotate + 90}deg)`\n</script>\n\n{#if canCompassShow}\n <div class=\"floorplan-plugin__compass\" style:transform={compassTransformStyle}>\n <div class=\"floorplan-plugin__compass-image\" style=\"background-image: {`url(${COMPASS_IMAGE})`}\" />\n <span class=\"floorplan-plugin__compass-text\"> {northDesc} </span>\n </div>\n{/if}\n\n<style>\n .floorplan-plugin__compass {\n position: absolute;\n left: 50%;\n top: -46px;\n width: 231px;\n height: 41px;\n will-change: opacity;\n transform-origin: center 184px;\n }\n .floorplan-plugin__compass-image {\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0.1;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n }\n .floorplan-plugin__compass-text {\n position: absolute;\n left: 50%;\n top: 15px;\n transform: translateX(-50%);\n opacity: 0.2;\n font-weight: bold;\n font-size: 10px;\n color: #fff;\n }\n</style>\n","<script lang=\"ts\">\n import type { HighlightData, MissingFloorConfig } from '../typings'\n import type { FloorplanData, FloorplanRoomItem } from '../typings/floorplanData'\n import { writable } from 'svelte/store'\n import BaseImage from './BaseImage.svelte'\n import Items from './Items/Items.svelte'\n import RoomLabels from './RoomLabels/RoomLabels.svelte'\n import RuleLabels from './RuleLabels/RuleLabels.svelte'\n import RoomMaterial from './RoomMaterials/RoomMaterial.svelte'\n import RoomHighlight from './RoomHighlight/RoomHighlight.svelte'\n import MissingFloor from './MissingFloor.svelte'\n import Camera from './Camera.svelte'\n import Compass from './Compass.svelte'\n import RoomTriangle from \"./RoomMaterials/RoomTriangle.svelte\";\n\n export let panoIndex: number\n export let isCurrent: boolean\n export let floorIndex: number\n export let highlightEnable: boolean\n export let cameraEnable: boolean\n export let hoverEnable: boolean\n export let roomLabelsEnable: boolean\n export let roomAreaEnable: boolean\n export let roomNameEnable: boolean\n export let roomNameOtherTypeEnable: boolean\n export let roomDimensionEnable: boolean\n export let ruleLabelsEnable: boolean\n export let floorplanData: FloorplanData\n export let getRoomAreaText: (areaSize: number) => string\n export let getRoomDimensionText: (areaWidth: number, areaHeight: number) => string\n export let getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null)\n export let getRuleDistanceText: (distance: number) => string\n export let adaptiveRoomLabelVisibleEnable: boolean\n export let highlightData: HighlightData\n export let missingFloorConfig: MissingFloorConfig\n export let lastPanoramaLongitude: number\n export let cameraImageUrl: undefined | string\n export let northDesc: string\n export let compassEnable: boolean\n export let store: { roomOnMouse?: FloorplanRoomItem } | undefined = undefined\n\n $: floorData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)\n $: hasCurrentFloorData = Boolean(floorData && (Boolean(floorData?.rooms.length) || floorData.is_has_wall))\n\n const hoveredRoom = writable<undefined | FloorplanRoomItem>(undefined)\n\n hoveredRoom.subscribe((value) => {\n if (store) store.roomOnMouse = value\n })\n\n</script>\n\n<div class={`floorplan-plugin__floor${isCurrent ? ' floorplan-plugin__floor--is-current' : ''}`}>\n {#if !hasCurrentFloorData}\n <MissingFloor {missingFloorConfig} />\n {:else}\n <RoomMaterial {...{ floorIndex, floorplanData, roomLabelsEnable, roomDimensionEnable }} />\n {#if highlightEnable || hoverEnable}\n <RoomHighlight {...{ floorIndex, floorplanData, hoveredRoom, highlightData }} />\n {/if}\n <BaseImage {...{ floorplanData, floorIndex }} />\n <Items {...{floorplanData, floorIndex }}/>\n {#if roomLabelsEnable}\n <RoomLabels\n {...{\n floorplanData,\n roomAreaEnable,\n roomNameEnable,\n roomNameOtherTypeEnable,\n roomDimensionEnable,\n floorIndex,\n getRoomAreaText,\n getRoomDimensionText,\n getLabelElement,\n hoveredRoom,\n adaptiveRoomLabelVisibleEnable,\n }}\n />\n {/if}\n {#if ruleLabelsEnable}\n <RuleLabels {...{ floorplanData, floorIndex, getRuleDistanceText }} />\n {/if}\n {#if cameraEnable}\n <Camera {...{ panoIndex, floorplanData, lastPanoramaLongitude, cameraImageUrl }} />\n {/if}\n {#if compassEnable}\n <Compass {floorplanData} {northDesc} />\n {/if}\n {/if}\n</div>\n\n<style>\n .floorplan-plugin__floor {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n pointer-events: none;\n }\n .floorplan-plugin__floor--is-current {\n opacity: 1;\n pointer-events: auto;\n }\n\n</style>\n","<script lang=\"ts\">\n import type { HighlightData, MissingFloorConfig } from '../typings'\n import type { FloorplanData, FloorplanRoomItem } from '../typings/floorplanData'\n import { linear } from 'svelte/easing'\n import { fade } from 'svelte/transition'\n import CurrentFloor from './CurrentFloor.svelte'\n\n export let duration = 0\n export let visible: boolean\n export let northDesc: string\n export let panoIndex: number\n export let floorIndex: number\n export let cameraEnable: boolean\n export let hoverEnable: boolean\n export let highlightEnable: boolean\n export let compassEnable: boolean\n export let roomLabelsEnable: boolean\n export let roomAreaEnable: boolean\n export let roomNameEnable: boolean\n export let roomNameOtherTypeEnable: boolean\n export let roomDimensionEnable: boolean\n export let ruleLabelsEnable: boolean\n export let floorplanData: FloorplanData\n export let lastPanoramaLongitude: number\n export let cameraImageUrl: undefined | string\n export let getRoomAreaText: (areaSize: number) => string\n export let getRoomDimensionText: (areaWidth: number, areaHeight: number) => string\n export let getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null)\n export let getRuleDistanceText: (distance: number) => string\n export let adaptiveRoomLabelVisibleEnable: boolean\n export let highlightData: HighlightData\n export let missingFloorConfig: MissingFloorConfig\n export let store: { roomOnMouse?: FloorplanRoomItem } | undefined = undefined\n\n</script>\n\n{#if visible}\n <div class=\"floorplan-main\" in:fade={{ duration, easing: linear }}>\n {#each floorplanData.floorDatas as floorData}\n <CurrentFloor\n {...{\n hoverEnable,\n highlightEnable,\n floorplanData,\n getRoomAreaText,\n getRoomDimensionText,\n getLabelElement,\n getRuleDistanceText,\n roomLabelsEnable,\n roomAreaEnable,\n roomNameEnable,\n roomNameOtherTypeEnable,\n roomDimensionEnable,\n ruleLabelsEnable,\n adaptiveRoomLabelVisibleEnable,\n highlightData,\n missingFloorConfig,\n panoIndex,\n cameraEnable,\n cameraImageUrl,\n lastPanoramaLongitude,\n compassEnable,\n northDesc,\n store,\n }}\n floorIndex={floorData.floorIndex}\n isCurrent={floorData.floorIndex === floorIndex}\n />\n {/each}\n </div>\n{/if}\n\n<style>\n .floorplan-main {\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n\n</style>\n","export const FLOORPLAN_EXTRA_OBJECT_IMAGE =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAALaADAAQAAAABAAAAMAAAAADe2FZjAAAEF0lEQVRoBe2WzWskRRiHf13V092TxI2oEzYeVDwITtyDuCiihwiCePGgxIM3vYgHL4J4UIhBRA8i/gPqyUvWg7AiIuIeloDiYUHJLOK6BPwIk9nNODM9Xf1RVe1b3elJRjCZmQ6euqGmuqer33rq4e23GqiOykBloDJQGagMVAYqA5WBykBlYFYD1qwP/tdzaZqOx9zYOLxeX0+L5yzLGp0X/03a25MOnGRcBtx+6Rlo9SL08G4EooFnxa8Yiivox5/h5Ys/4cl7NVorNDRnngX+0MIkVMeMSf23zyKML8J7/Dy8hwF2Buh9CnS+AEQIdLspBuGb+M7/qLW4qJrNpsLapjYhpwVnx3BMfCtNNx3Etc9xywvnMf80wG8HmQainw0RxSGrnmeBp+8k5/j9S0HbvXb5io0Lz880/0wPHV1NlhLd316He+4xOCv5ragF7L9PrH1qBJyB0626x/lC+qrSvH5r/W+n1WpxUM5nMY4GPeH8lHJaPgfeAFQHCL+ntkXT+vnUc3W6pvTIwC0wy3rA4dwLmK2avZ7Eo9uKBuYJfgJscbs8dLCxDMt+EOEPBEZNEWyBYHqTz6bPXrzUnNrSShxHIsYiOL69zrCGLLcLqJP68tB+9w5wj+YhWDafQ2s61wNqxjZhmrQ2pvMFCEvXuCUZ7wqH794ZWs28LJqlTXSUyuksF2M/yOwqgkx2c1ADa4wLAQRk2sAGQQakhN6yFC2hltfz5kSY44NKQeeh+vtI/SSzWhg2CzCgmWISmKUGmaYFBDfCSymnfxJ6/+ospVcWOLLp5DGP/y0P/Rp66O99DQNq7Po3Ds0a0wY+My2QSv2N2mO/OyxR2o6UQk+Lv7yJ06JYSnnolZVU9cUn2O9SmaMWGFBqYXRwbqAJWIi94TX5biotpcGl1DXZ6LnqIbNDTnmUgi52Mv5l5ysMxIcZcGjy2DTK4ZHlcBC14zeSge4qphICjj3bS0A7o9nSp2TOkm7aZ8bGZy/jxhO87V91G0+dfY/Z7BWIIK9KYUi5qy/Hf8YfBG3sqJTHiQWhmTVkbip+wX3x6volVSx+LPAxF+VLXhZ8VQ+iP2Rta/iWe5v42Fngj0BbdnRTXh12ZIcKhTaGbcYjybRwXBU1lu9KlndXp04NM52poKWO0RZsviNaP9a6grkO972+st05pXhE5c1hTEluJy7XUejGUQNLMbAmTdWY1rKBLW3aTJqBZ7nZkb36DhYCreeYHbMUXHvaYi5XDK70EcgulmRjm77wNtenzuXCbmnTRaAx493rbGf3Jr/njMzj920CnKdUaFCjlDioy7NYNvOdGrQJNgI32/L2tkXfFPlxgToqjWVhD6KdLnQRdARf/HHQz2r2X2Gqy8pAZaAyUBmoDFQGKgP/q4F/AJYg9/s0ZoABAAAAAElFTkSuQmCC'\n","import type { Five } from '@realsee/five-webgpu'\nimport { FLOORPLAN_EXTRA_OBJECT_IMAGE } from '../Assets/floorplanExtraObject'\nimport type {\n FloorplanData,\n FloorplanEntrance,\n FloorplanExtraObject,\n FloorplanExtraObject3D,\n FloorplanFloorData,\n FloorplanObserver,\n FloorplanOutlineItem,\n FloorplanRoomItem,\n} from '../typings/floorplanData'\nimport type {\n FloorplanServerData,\n FloorplanServerEntrance,\n FloorplanServerFloorData,\n FloorplanServerObserver,\n FloorplanServerRoomItem,\n FloorplanServerOutlineItem,\n} from '../typings/floorplanServerData'\nimport {\n floorplanPosition2ImagePosition,\n getFloorIndexFromModelPosition,\n modelPosition2FloorplanPosition,\n} from './formatPosition'\n\nasync function formatOutlines(outlines: FloorplanServerOutlineItem[]): Promise<FloorplanOutlineItem[]> {\n const headers = new Headers({ 'Content-Type': 'text/plain' })\n const getOutlineItem = async function (item: FloorplanServerOutlineItem) {\n const outlineItem: FloorplanOutlineItem = {\n index: item.index,\n url: item.url,\n svgUrl: item.svg_url,\n }\n if (item.svg_url) {\n const svgContent = await fetch(item.svg_url, { headers }).then((res) => res.text())\n outlineItem.svgContent = svgContent\n }\n return outlineItem\n }\n const svgOutlineItems = await Promise.all(outlines.map(getOutlineItem))\n return svgOutlineItems\n}\n\nfunction formatRoom(data: FloorplanServerRoomItem): FloorplanRoomItem {\n const floorplanRoomItem: FloorplanRoomItem = {\n id: data.id,\n size: data.size,\n name: data.name,\n customizedName: data.customizedName || '',\n path: data.path,\n roomType: data.room_type,\n floorType: data.floor_type,\n roomLabel: {\n position: data.room_label.position,\n positionInImage: data.room_label.position_in_image,\n },\n observerIndexs: data.observer_indexs,\n }\n data.dimension && Object.assign(floorplanRoomItem, { dimension: data.dimension })\n return floorplanRoomItem\n}\n\nfunction formatFloorData(_data: FloorplanServerFloorData): FloorplanFloorData {\n return {\n floorName: _data.floor_name,\n floorIndex: _data.floor_index,\n rooms: _data.rooms.map(formatRoom),\n rules: _data.rules,\n is_has_wall: _data.is_has_wall,\n }\n}\n\nfunction formateFloorplanObserver(data: FloorplanServerObserver): FloorplanObserver {\n const floorplanObserver: FloorplanObserver = {\n index: data.index,\n floorIndex: data.floor_index,\n position: data.position,\n positionInImage: data.position_in_image,\n }\n if (data.styled_floorplan_position_in_image) {\n floorplanObserver.styledFloorplanPositionInImage = {\n guide: data.styled_floorplan_position_in_image.guide,\n miniMapFill: data.styled_floorplan_position_in_image.mini_map_fill,\n }\n }\n return floorplanObserver\n}\n\nfunction formatFloorplanEntrance(data: FloorplanServerEntrance): FloorplanEntrance {\n const floorplanEntrance: FloorplanEntrance = {\n rad: data.rad,\n position: data.position,\n positionInImage: data.position_in_image,\n northRad: data.north_rad,\n roomId: data.room_id,\n floorIndex: data.floor_index,\n }\n return floorplanEntrance\n}\n\nexport default async function formatData(data: FloorplanServerData): Promise<FloorplanData> {\n const outlines = await formatOutlines(data.outlines)\n const bounding = data.computed_data.bounding\n const floorDatas = data.computed_data.floor_datas.map(formatFloorData)\n const entrance = data.computed_data.entrance ? formatFloorplanEntrance(data.computed_data.entrance) : null\n const floorplanData: FloorplanData = {\n outlines,\n entrance,\n bounding,\n floorDatas,\n observers: data.computed_data.observers.map(formateFloorplanObserver),\n }\n if (data.styled_floorplan?.version === 1) {\n floorplanData.styledFloorplan = {\n version: 1,\n floors: data.styled_floorplan.floors.map((floor) => ({\n floorIndex: floor.floor_index,\n guide: {\n url: floor.guide.url,\n checksum: floor.guide.checksum,\n width: floor.guide.width,\n height: floor.guide.height,\n floorplanToImage: floor.guide.floorplan_to_image,\n },\n miniMapFill: {\n url: floor.mini_map_fill.url,\n checksum: floor.mini_map_fill.checksum,\n width: floor.mini_map_fill.width,\n height: floor.mini_map_fill.height,\n floorplanToImage: floor.mini_map_fill.floorplan_to_image,\n },\n roomLabels: floor.room_labels.map((label) => ({\n roomId: label.room_id,\n ...(label.names ? { names: label.names } : {}),\n position: label.position,\n positionInImage: label.position_in_image,\n })),\n })),\n }\n }\n return floorplanData\n}\n\nexport function formatExtraObjects(\n data: FloorplanExtraObject3D[],\n five: Five,\n floorplanData: FloorplanData,\n): FloorplanExtraObject[] {\n const extraObjects: FloorplanExtraObject[] = data.map((object) => {\n const position = object.position\n const icon: NonNullable<FloorplanExtraObject['icon']> = object.icon\n ? object.icon\n : {\n url: FLOORPLAN_EXTRA_OBJECT_IMAGE,\n width: 45,\n height: 48,\n }\n const floorIndex = getFloorIndexFromModelPosition(position, five)\n const floorplanPosition = modelPosition2FloorplanPosition(position, floorplanData)\n const floorplanImagePosition = floorplanPosition2ImagePosition(floorplanPosition, floorplanData)\n return { floorIndex, icon, id: object.id, position: floorplanPosition, positionInImage: floorplanImagePosition }\n })\n return extraObjects\n}\n","import type { Five } from '@realsee/five-webgpu'\nimport { FLOOR_PLAN_ATTACHED_TO } from '../floorplan/constant'\n\nimport * as THREE from 'three/webgpu'\n\ninterface GetPxmmOption {\n attachedTo: FLOOR_PLAN_ATTACHED_TO\n}\n\n/** 获取当前楼层地面的 Y 值 */\nexport function getFloorY(five: Five, floorIndex: number) {\n const maxFloorIndex = Math.max(...five.work.observers.map((ob) => ob.floorIndex))\n return floorIndex > maxFloorIndex\n ? five.model.bounding.max.y\n : Math.max(...five.work.observers.filter((ob) => ob.floorIndex === floorIndex).map((ob) => ob.standingPosition.y))\n}\n\n/** 获取当前吸附类型的 Y 值\n * * FLOOR_PLAN_ATTACHED_TO.FLOOR:当前楼层地板的 Y\n * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前模型中心的 Y\n * * FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER:当前楼层天花板的 Y\n */\nexport function getAttachedY(five: Five, floorIndex: number, attachedTo: FLOOR_PLAN_ATTACHED_TO = FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER) {\n const currentFloorY = getFloorY(five, floorIndex)\n const nextFloorY = getFloorY(five, floorIndex + 1)\n if (attachedTo === FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER) return (five.model.bounding.max.y + five.model.bounding.min.y) / 2\n else if (attachedTo === FLOOR_PLAN_ATTACHED_TO.CEILING) return nextFloorY\n else return currentFloorY\n}\n\n/**\n * 获取「在俯视图」状态下,模型 mm 与屏幕像素 px 的对应关系,即每 mm 对应多少 px\n * @param five five\n */\n\nexport default function getPxmm(five: Five, container: Element, floorIndex: number, options?: GetPxmmOption): number {\n const y = getAttachedY(five, floorIndex, options?.attachedTo)\n const originPosition = new THREE.Vector3(0, y, 0)\n const originPositionXUnit = new THREE.Vector3(1, y, 0)\n const mouse = originPosition.clone().project(five.camera)\n const xUnitMouse = originPositionXUnit.clone().project(five.camera)\n const pxmm = Math.abs((xUnitMouse.x - mouse.x) / 1000) * (container.getBoundingClientRect().width / 2)\n return pxmm\n}\n","export const enum FloorplanErrorType {\n /** 意料之外的错误 */\n UnknownError = 'UnknownError',\n /** 数据未加载 */\n DataNotLoaded = 'DataNotLoaded',\n /** 更新户型图大小失败 */\n UpdateSizeError = 'UpdateSizeError',\n /** 展示过程被隐藏打断 */\n BreakOffByHide = 'BreakOffByHide',\n /** 展示过程中插件被禁用 */\n BreakOffByDisable = 'BreakOffByDisable',\n /** 模型未加载完成 */\n ModelNotLoaded = 'ModelNotLoaded',\n /** Five changeMode 行为不符合预期 */\n ChangeModeError = 'ChangeModeError',\n /** Five updateCamera 行为不符合预期 */\n UpdateCameraError = 'UpdateCameraError',\n}\n\n/** 户型图展示 & 模型消失的默认时间 */\nexport const SHOW_ANIME_DURATION = 500\n/** Five camera 默认 fov */\nexport const FIVE_CAMERA_DEFAULT_FOV = 80\n/** 展示户型图时,默认模型的透明度 */\nexport const DEFAULT_SHOW_MODEL_OPACITY = 0.01\n","import type { Model } from \"@realsee/five-webgpu\"\n\nexport function getDistanceFromModel(model: Model, fov: number, aspect: number): number {\n const bounding = model.bounding\n \n const radius = Math.pow(\n Math.pow(bounding.max.x - bounding.min.x + 1, 2) +\n Math.pow(bounding.max.y - bounding.min.y + 1, 2) +\n Math.pow(bounding.max.z - bounding.min.z + 1, 2),\n 1 / 2,\n )\n \n // fit screen\n let distance = radius / 2 / Math.tan((Math.PI * fov) / 360)\n if (aspect < 1) distance = distance / aspect\n \n return isNaN(distance) ? radius : distance\n }","import type * as THREE from 'three/webgpu'\nimport type { Five, Mode } from '@realsee/five-webgpu'\nimport to from '../../shared-utils/to'\nimport { FloorplanErrorType, FIVE_CAMERA_DEFAULT_FOV } from '../utils/constant'\nimport nearlyEqual from '../../shared-utils/nearlyEqual'\nimport changeMode from '../../shared-utils/five/changeMode'\nimport { omit } from '../../shared-utils/filter'\nimport { getDistanceFromModel } from '../../shared-utils/translateMode/getDistanceFromModel'\n\nexport interface ShowState {\n latitude: number\n longitude: number\n fov?: number\n mode: Mode\n offset?: THREE.Vector3\n distance?: number\n}\n\n/** 判断当前状态是否可以展示户型图 */\nexport function checkShowState(five: Five, showState: ShowState) {\n if (five.currentMode !== showState.mode) return false\n const { latitude, longitude, fov, offset } = showState\n const { latitude: _latitude, longitude: _longitude, offset: _offset } = five.getCurrentState()\n const _fov = five.camera.fov\n\n if (!nearlyEqual(latitude, _latitude, 2)) return false\n if (!nearlyEqual(longitude, _longitude, 2)) return false\n // 指定了 offset 时,需要判断 offset 是否一致\n if (offset !== undefined && offset.distanceTo(_offset) > 0.01) return false\n if (!nearlyEqual(fov, _fov, 2)) return false\n\n return true\n}\n\n/** 更改 Five 状态到展示户型图的状态\n * 1. 判断状态不符合时,会纠正到正确的状态\n * 2. 内置了相应的动画时间计算\n * 3. 纠正成功会返回 true,失败「可能会被用户行为中断」会返回 false\n */\nexport default async function correctFiveState(five: Five, showState: ShowState, userAction = true) {\n // 当前已满足状态,不需要变更\n const result = checkShowState(five, showState)\n if (result === true) return\n\n const currentFiveState = five.getCurrentState()\n\n // 纠正 mode\n if (currentFiveState.mode !== showState.mode) {\n const innerModel = five.models.find((m) => m.name === five.state.workCode)\n // showState.fov 可能为 undefined(例如 MapviewFloorplanPlugin 历史上未初始化 fov)。\n // 注意:此刻 five 仍处于切换前的模态(如 Panorama),five.camera.fov 是切换前的值,\n // 并非目标模态取景所用的 fov;用它会算出错误的 distance。这里退化到 FIVE_CAMERA_DEFAULT_FOV,\n // 与 changeMode 进入目标模态时实际取景所用的默认 fov 保持一致,避免 \"pose 与预期不符\"。\n const effectiveFov = typeof showState.fov === 'number' ? showState.fov : FIVE_CAMERA_DEFAULT_FOV\n // innerModel 在 VR 切换瞬间可能尚未就绪,避免 getDistanceFromModel 读取 undefined.bounding 抛错\n if (innerModel) {\n showState.distance = getDistanceFromModel(innerModel, effectiveFov, five.camera.aspect)\n }\n const [changeModeError] = await to(changeMode(five, [showState.mode, showState, undefined, userAction]))\n if (changeModeError) throw changeModeError\n return\n }\n\n // 纠正相机状态\n // 根据 latitude、longitude、fov 计算动画时间,最多 1s\n const { latitude, longitude, fov } = currentFiveState\n const time = Math.min(\n 1000,\n Math.max(\n 200,\n Math.abs(latitude - Math.PI / 2) * 1000,\n (longitude > Math.PI ? 2 * Math.PI - longitude : longitude) * 500,\n typeof showState.fov === 'number' ? Math.abs(fov - showState.fov) * 10 : Infinity,\n ),\n )\n const [updateCameraError] = await to(five.updateCamera(omit(showState, ['mode']), time, userAction))\n if (updateCameraError) throw new Error(FloorplanErrorType.UpdateCameraError)\n\n return\n}\n","import type { Five } from '@realsee/five-webgpu'\n\nexport default function changeModelCanvasOpacity(five: Five, opacity: number, duration = 300) {\n const fiveEle = five.getElement()\n if (!fiveEle) return\n fiveEle.style.opacity = opacity + ''\n // 同步设置 five 相关的dom\n for (let i = 0; i < fiveEle.parentElement?.children?.length; i++) {\n const child = fiveEle.parentElement.children[i]\n if (child instanceof HTMLElement) {\n if (child.dataset.infive === '1') {\n child.style.opacity = opacity + ''\n }\n }\n }\n\n fiveEle.style.transition = duration === 0 ? 'none' : `opacity ${duration}ms linear`\n if (duration === 0) return\n Promise.race([\n new Promise((res) => fiveEle.addEventListener('transitionend', res, { once: true })),\n new Promise((res) => setTimeout(res, duration)),\n ]).then(() => {\n fiveEle.style.transition = 'none'\n })\n}\n","import { mountComponent, type MountedComponent } from '../../shared-utils/svelte/component.svelte'\nimport type { PartialDeep } from 'type-fest'\nimport type { BaseOptions } from '../../base/BasePlugin'\nimport type { EventCallback, Five, Pose } from '@realsee/five-webgpu'\nimport type { ShowState } from '../utils/correctFiveState'\nimport type { FloorplanServerData } from '../typings/floorplanServerData'\nimport type { State, Config, EventMap, ShowOptions, HideOptions, Parameters, PluginData, PluginServerData, HighlightData } from './typing'\n\nimport * as THREE from 'three/webgpu'\nimport to from '../../shared-utils/to'\nimport { equal } from '../../shared-utils/equal'\nimport Main from '../Components/Main.svelte'\nimport formatData from '../utils/formatData'\nimport { CAMERA_IMAGE } from '../Assets/camera'\nimport { omit } from '../../shared-utils/filter'\nimport getPxmm, { getAttachedY } from '../../shared-utils/getPxmm'\nimport { FLOOR_PLAN_ATTACHED_TO } from '../constant'\nimport * as BasePlugin from '../../base/BasePluginWithData'\nimport correctFiveState from '../utils/correctFiveState'\nimport changeModelCanvasOpacity from '../../shared-utils/changeModelCanvasOpacity'\nimport { FloorplanErrorType, FIVE_CAMERA_DEFAULT_FOV, SHOW_ANIME_DURATION } from '../utils/constant'\nimport { FLOORPLAN_DEFAULT_IMAGE, replaceStaticPrefix } from '../../shared-utils'\nimport type { FloorplanRoomItem } from '../typings/floorplanData'\n\n/** 当前 five 的相机视角是否满足户型图自动隐藏条件\n *\n * @description 水平旋转角大于正负 5 度 || 俯仰角度大于 5 度\n *\n */\nfunction shouldFloorplanHideWithPose(pose: Pose) {\n const { latitude, longitude } = pose\n const latitudeHide = Math.abs(latitude - Math.PI / 2) > (5 * Math.PI) / 180\n const longitudeHide = longitude > 5 * (Math.PI / 180) && longitude < 355 * (Math.PI / 180)\n return latitudeHide || longitudeHide\n}\n\n/** 当前 five 的相机视角是否满足户型图自动展示隐藏条件\n *\n * @description 水平旋转角正负 30 度 && 俯仰角度小于 10 度\n *\n */\nfunction shouldFloorplanShowWithPose(pose: Pose) {\n const { latitude, longitude } = pose\n const latitudeVisible = Math.abs(latitude - Math.PI / 2) < (10 * Math.PI) / 180\n const longitudeVisible = longitude < 30 * (Math.PI / 180) || longitude > 330 * (Math.PI / 180)\n return latitudeVisible && longitudeVisible\n}\n\nexport class Controller extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {\n // =============== public properties =================\n public name = 'modelFloorplanPlugin'\n public state: State\n // =============== private properties =================\n protected data?: PluginData\n /** 展示户型图时,需要正确的状态 */\n protected showState: ShowState\n /** show 动画的公共 Promise */\n protected showPromise?: Promise<void>\n private disposed = false\n private loadGeneration = 0\n private app?: MountedComponent<any> = undefined\n private panoIndex = 0\n private floorIndex = 0\n /** 公共 Promise 的 reject 方法 */\n private showRejection?: (errorMsg?: string) => void\n /** 户型图父容器 */\n private wrapper?: Element\n /** 户型图主容器 */\n private container = document.createElement('div')\n /** 展示户型图图前,Five 的 Panorama Longitude */\n private lastPanoramaLongitude = 0\n /** 户型图大小 */\n private size: { width: number; height: number } = { width: 0, height: 0 }\n private defaultMissingFloorConfig: Required<Config['missingFloorConfig']>\n /** 是否已经执行过事件监听 */\n private hasAddedEventListener = false\n /** 上一次隐藏是否是用户调用了 hide 导致的 */\n private isHiddenByHideFunc = false\n /** 高亮区域 */\n private highlightData: HighlightData = {}\n private store: { roomOnMouse: FloorplanRoomItem | null } = { roomOnMouse: null }\n\n public constructor(five: Five, params?: Parameters) {\n super(five)\n\n\n // =============== init Show State ===============\n this.showState = {\n mode: 'Floorplan',\n longitude: 0,\n latitude: Math.PI / 2,\n fov: FIVE_CAMERA_DEFAULT_FOV / (params?.scale ?? 1),\n ...params?.showState,\n }\n this.defaultMissingFloorConfig = {\n imageURL: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n imageWidth: 200,\n imageHeight: 120,\n text: params.i18n?.('暂无平面图') ?? '暂无平面图',\n textFontSize: 14,\n }\n // =============== init State ===============\n const baseConfig: Config = {\n northDesc: '北',\n modelOpacity: 1,\n cameraEnable: true,\n highlightEnable: false,\n hoverEnable: true,\n compassEnable: true,\n autoShowEnable: true,\n ruleLabelsEnable: true,\n roomLabelsEnable: true,\n roomAreaEnable: true,\n roomNameEnable: true,\n roomNameOtherTypeEnable: true,\n roomDimensionEnable: true,\n adaptiveRoomLabelVisibleEnable: true,\n cameraImageUrl: CAMERA_IMAGE,\n attachedTo: FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER,\n getLabelElement: undefined,\n missingFloorConfig: {\n ...this.defaultMissingFloorConfig,\n ...params.missingFloorConfig,\n },\n i18n: (key) => key,\n getRoomAreaText: (size) => (size / 1000000).toFixed(1) + '㎡',\n getRoomDimensionText: (width, height) => (width / 1000).toFixed(1) + 'm × ' + (height / 1000).toFixed(1) + 'm',\n getRuleDistanceText: (distance) => distance.toString(),\n }\n const paramsConfig = params ? omit(params, ['scale']) : {}\n const missingFloorConfig = { ...baseConfig.missingFloorConfig, ...paramsConfig.missingFloorConfig }\n const config: Config = { ...baseConfig, ...paramsConfig, missingFloorConfig }\n this.state = { enabled: true, visible: false, config }\n this.panoIndex = five.getCurrentState().panoIndex\n // =============== init Container ===============\n this.initContainer()\n // =============== init Listener ===============\n // 注意插件声明周期内只监听一次的事件不放在 addEventListener 里面\n // 如果初始化的时候模型已经加载完毕了,就不用再等 modelLoaded\n five.once('dispose', this.dispose)\n this.addEventListener()\n }\n\n public async load(serverData: PluginServerData, state?: Partial<State>, userAction = true) {\n if (this.disposed) return\n const generation = ++this.loadGeneration\n const _serverData: FloorplanServerData = structuredClone(serverData.data)\n const prevData = this.data\n const data = await formatData(_serverData)\n if (this.disposed || generation !== this.loadGeneration) return\n this.data = data\n\n this.hooks.emit('dataLoaded', this.data)\n this.hooks.emit('dataChange', this.data, prevData)\n\n if (state) this.updateState(state, userAction)\n\n this.render()\n }\n\n /** 把插件的渲染DOM插入到对应的容器中去 */\n public appendTo(wrapper: Element) {\n this.wrapper = wrapper\n\n // 插件 disabled 时,只是不执行副作用,但是 wrapper 还是要赋值的,不然 enable 的时候找不到父容器\n if (!this.state.enabled) return\n\n wrapper.appendChild(this.container)\n this.render()\n return this\n }\n\n /** 启用插件 */\n public enable(options: BaseOptions = {}) {\n if (this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: true }, options.userAction || userAction)\n this._enable({ userAction })\n }\n\n /** 禁用插件 */\n public disable(options: BaseOptions = {}) {\n if (!this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: false }, options.userAction || userAction)\n this._disable({ userAction })\n }\n\n /** 销毁插件 */\n public dispose = () => {\n if (this.disposed) return\n // Restore the canvas and abort any pending show before detaching the overlay.\n void this.hide()\n this.disposed = true\n this.loadGeneration += 1\n this.five.off('dispose', this.dispose)\n this.removeEventListener()\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.data = undefined\n this.wrapper = undefined\n this.hooks.emit('dispose')\n }\n\n /** 展示户型图\n * 1. show 函数大部分情况下需要耗时\n * 2. 如果当前已经在展示中,将不会触发任何事件\n * 3. 如果展示过程被中断,将抛出错误\n * 4. 多次调用 show 方法,只会触发一次 showAnimationEnded 事件,但是展示结果会取决于最后一次调用参数\n * 5. 如果多次调用 show 方法,参数与上次参数不一致时,上次 show Promise 会被 reject\n * @param opts.floorIndex 楼层\n * @param opts.modelOpacity 模型透明度\n * @param opts.immediately 是否立即展示\n * @param opts.isAutoShow 是否是自动展示\n * @param opts.userAction 是否是用户行为\n */\n public show = async (options: Omit<Partial<ShowOptions>, 'isAutoShow'> = {}): Promise<void> => {\n if (this.disposed || !this.state.enabled) return\n // 已经展示完成了,不做任何操作\n if (!this.showPromise && this.state.visible) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: true }, userAction)\n return this._show(options)\n }\n\n /** 隐藏户型图 */\n public hide = async (options: Partial<HideOptions> = {}) => {\n if (!this.state.enabled) return\n this.isHiddenByHideFunc = true\n if (this.state.visible === false) return\n\n this.updateState({ visible: false }, options.userAction || true)\n this._hide(options)\n }\n\n /** 更改插件 State */\n public setState(state: PartialDeep<State>, options: BaseOptions = {}) {\n const prevState = this.state\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState(state, userAction)\n\n if (state.enabled !== undefined && prevState.enabled !== state.enabled) {\n state.enabled ? this._enable({ userAction }) : this._disable({ userAction })\n }\n\n if (state.visible !== undefined && prevState.visible !== state.visible) {\n const options = { userAction }\n state.visible ? this._show(options) : this._hide(options)\n }\n\n this.render()\n }\n\n public changeConfigs(config: Partial<Config>, userAction = true) {\n this.updateState({ config }, userAction)\n this.render()\n }\n\n /** 更新户型图大小 */\n public updateSize = (): boolean => {\n if (!this.data) return false\n if (!this.container || !this.wrapper) return false\n // 计算户型图展示大小\n const { min, max } = this.data.bounding\n const width = max.x - min.x\n const height = max.y - min.y\n // 每毫米对应的 px 值\n const pxmm = this.getPxmmWithRotation()\n const _width = Math.ceil(width * pxmm)\n const _height = Math.ceil(height * pxmm)\n\n if (this.size.width === _width && this.size.height === _height) return true\n this.container.style.width = _width + 'px'\n this.container.style.height = _height + 'px'\n this.size = { width: _width, height: _height }\n return true\n }\n\n /** 根据旋转角度计算 pxmm\n * @description 当 longitude 大于 45° 或小于 -45°(相对于基准方向)时,使用 Z 轴计算\n */\n private getPxmmWithRotation(): number {\n if (!this.wrapper) return 0\n const options = this.state.config.attachedTo ? { attachedTo: this.state.config.attachedTo } : undefined\n\n // 将 longitude 归一化到 [0, 2π] 范围,判断是否需要使用 Z 轴\n const longitude = this.showState.longitude\n // 计算相对于 0 或 π 的偏移角度\n const normalizedAngle = Math.abs(((longitude % (2 * Math.PI)) + 2 * Math.PI) % (2 * Math.PI))\n // 判断是否在 45°-135° 或 225°-315° 范围内(即 X 轴接近垂直于屏幕,此时 Z 轴更接近水平)\n const needZAxis =\n (normalizedAngle > Math.PI / 4 && normalizedAngle < (3 * Math.PI) / 4) ||\n (normalizedAngle > (5 * Math.PI) / 4 && normalizedAngle < (7 * Math.PI) / 4)\n\n if (needZAxis) {\n // 使用 Z 轴计算 pxmm\n return this.getPxmmZAxis(options)\n } else {\n // 使用默认的 X 轴差值计算\n return getPxmm(this.five, this.wrapper, this.floorIndex, options)\n }\n }\n\n /** 使用 Z 轴计算 pxmm\n * @description 当相机旋转导致 X 轴接近垂直于屏幕时,改用 Z 轴计算\n */\n private getPxmmZAxis(options?: { attachedTo: typeof FLOOR_PLAN_ATTACHED_TO[keyof typeof FLOOR_PLAN_ATTACHED_TO] }): number {\n if (!this.wrapper) return 0\n const y = getAttachedY(this.five, this.floorIndex, options?.attachedTo)\n const originPosition = new THREE.Vector3(0, y, 0)\n const originPositionZUnit = new THREE.Vector3(0, y, 1)\n const mouse = originPosition.clone().project(this.five.camera)\n const zUnitMouse = originPositionZUnit.clone().project(this.five.camera)\n\n // 使用 Z 轴方向的屏幕投影差值\n const pxmm = Math.abs((zUnitMouse.x - mouse.x) / 1000) * (this.wrapper.getBoundingClientRect().width / 2)\n\n return pxmm\n }\n\n public highlight = (highlightData: HighlightData) => {\n if (!this.state.config.highlightEnable) return\n this.highlightData = highlightData\n this.render()\n }\n\n public unhighlight = () => {\n this.highlightData = {}\n this.render()\n }\n\n /** 更新展示状态\n * @description 可以更新 longitude、latitude、fov 等参数\n * @param showState 需要更新的状态,会与现有状态合并\n * @example\n * // 更新 longitude\n * plugin.updateShowState({ longitude: Math.PI / 2 })\n */\n public updateShowState = (showState: Partial<ShowState>) => {\n this.showState = { ...this.showState, ...showState }\n }\n\n protected async formatData(serverData: PluginServerData) {\n return await formatData(serverData.data)\n }\n\n private _disable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.hooks.emit('disable', { userAction })\n // ===== 处理展示过程中 disable =====\n this.showRejection?.(FloorplanErrorType.BreakOffByDisable)\n this.showPromise = undefined\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.removeEventListener()\n }\n\n private _enable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.addEventListener()\n if (!this.wrapper) return\n this.wrapper.append(this.container)\n this.hooks.emit('enable', { userAction })\n if (this.state.visible) this._show({ userAction })\n }\n\n private _show = async (options: Partial<ShowOptions>) => {\n if (!this.state.enabled) return\n if (!this.five.model?.loaded) throw new Error(FloorplanErrorType.ModelNotLoaded)\n if (!this.data) throw new Error(FloorplanErrorType.DataNotLoaded)\n\n if (this.showPromise) return this.showPromise\n\n // ===== 参数合并 =====\n const baseShowOpts: ShowOptions = {\n floorIndex: this.floorIndex,\n modelOpacity: this.state.config.modelOpacity,\n immediately: false,\n isAutoShow: false,\n userAction: true,\n }\n const mergedOptions: ShowOptions = { ...baseShowOpts, ...options }\n\n const getShowPromise = async () => {\n this.hooks.emit('show', { userAction: mergedOptions.userAction, auto: mergedOptions.isAutoShow })\n let hasRejected = false\n let externalErrorMsg: string | undefined\n this.showRejection = (errorMsg?: string) => {\n hasRejected = true\n externalErrorMsg = errorMsg\n }\n\n const [correctError] = await to(correctFiveState(this.five, this.showState, mergedOptions.userAction))\n if (correctError) throw correctError\n // 异步结束要判断当前是不是被中断了\n if (hasRejected) throw externalErrorMsg ? new Error(externalErrorMsg) : new Error(FloorplanErrorType.UnknownError)\n\n // 更新户型图大小\n const updateSizeRes = this.updateSize()\n if (!updateSizeRes) throw new Error(FloorplanErrorType.UpdateSizeError)\n\n // 高亮当前楼层,有两个目的\n // 1. 点击模型时,可以跳转到当前楼层的点位上\n // 2. 当前楼层比较小时,户型图也比较小,如果展示全部楼层,会展示户型图外有一圈模型\n this.floorIndex = mergedOptions.floorIndex\n this.five.model.show(this.floorIndex)\n }\n\n this.isHiddenByHideFunc = false\n\n this.showPromise = getShowPromise()\n .then(() => {\n this.showPromise = undefined\n this.showRejection = undefined\n // 模型消失, 渲染户型图\n const modelOpacity = mergedOptions.modelOpacity\n const renderDuration = mergedOptions.immediately ? 0 : SHOW_ANIME_DURATION\n changeModelCanvasOpacity(this.five, modelOpacity, renderDuration)\n this.render(renderDuration)\n this.hooks.emit('showAnimationEnded', {\n auto: mergedOptions.isAutoShow,\n userAction: mergedOptions.userAction,\n })\n })\n .catch((error: Error) => {\n this.showPromise = undefined\n this.showRejection = undefined\n this.updateState({ visible: false }, mergedOptions.userAction)\n // 自动展示的报错内部处理\n if (mergedOptions.isAutoShow) return\n // 非自动展示的报错继续向外抛出\n if (error instanceof Error) throw error\n })\n\n return this.showPromise\n }\n\n private _hide = (options: Partial<HideOptions>) => {\n // ===== 处理展示过程中 hide =====\n this.showRejection?.(FloorplanErrorType.BreakOffByHide)\n this.showPromise = undefined\n // ===== 合并参数 =====\n const baseOptions: HideOptions = {\n userAction: true,\n isAutoHide: false,\n }\n const mergedOptions: HideOptions = { ...baseOptions, ...options }\n\n changeModelCanvasOpacity(this.five, 1, 0)\n this.hooks.emit('hide', { auto: mergedOptions.isAutoHide, userAction: mergedOptions.userAction })\n this.render()\n }\n\n private updateState(state: PartialDeep<State>, userAction: boolean) {\n const prevState = this.state\n const missingFloorConfig = state.config?.missingFloorConfig\n ? { ...prevState.config.missingFloorConfig, ...state.config.missingFloorConfig }\n : prevState.config.missingFloorConfig\n const config = state.config ? { ...prevState.config, ...state.config, missingFloorConfig } : prevState.config\n this.state = { ...this.state, ...state, config }\n if (equal(this.state, prevState, { deep: true })) return\n this.hooks.emit('stateChange', { state: this.state, prevState, userAction })\n }\n\n /** 根据模型状态更新户型图。 */\n private initContainer() {\n this.container.classList.add('floorplan-plugin')\n Object.assign(this.container.style, {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 10,\n pointerEvents: 'none',\n })\n this.five.addExtraElement(this.container)\n }\n\n private handleClick = (): false | undefined => {\n if (!this.state.visible) return\n\n const preventDefault = this.hooks.emit('click', this.store.roomOnMouse)\n if (preventDefault) return false\n }\n\n private addEventListener() {\n if (!this.state.enabled) return\n if (this.hasAddedEventListener) return\n const five = this.five\n five.on('modeChange', this.onFiveModeChange)\n five.on('interiaPan', this.onFiveInteriaPan)\n five.on('panoArrived', this.onFivePanoArrived)\n five.on('cameraUpdate', this.onFiveCameraUpdate)\n five.on('wantsGesture', this.onFiveWantsGesture)\n five.on('wantsPanGesture', this.onFiveWantsPanGesture)\n five.on('wantsTapGesture', this.onFiveWantsTapGesture)\n five.on('wantsChangeMode', this.onFiveWantsChangeMode)\n five.on('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n private removeEventListener() {\n const five = this.five\n this.hasAddedEventListener = false\n // 注意这里并没有消除 dispose 的监听\n five.off('modeChange', this.onFiveModeChange)\n five.off('interiaPan', this.onFiveInteriaPan)\n five.off('panoArrived', this.onFivePanoArrived)\n five.off('cameraUpdate', this.onFiveCameraUpdate)\n five.off('wantsGesture', this.onFiveWantsGesture)\n five.off('wantsPanGesture', this.onFiveWantsPanGesture)\n five.off('wantsTapGesture', this.onFiveWantsTapGesture)\n five.off('wantsChangeMode', this.onFiveWantsChangeMode)\n five.off('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n /** modelLoaded 之后自动执行 append container 操作 */\n\n\n /** 更改模型时,自动隐藏户型图 */\n private onFiveModeChange: EventCallback['modeChange'] = (mode) => {\n // 目前 Five modeChange 事件没有暴露 userAction,先拿 false 苟着\n if (mode !== this.showState.mode) {\n this.updateState({ visible: false }, false)\n this._hide({ userAction: false })\n }\n }\n\n /** 惯性结束后,判断能否自动展示户型图 */\n private onFiveInteriaPan: EventCallback['interiaPan'] = (pose: Pose, isFinal: boolean) => {\n if (!isFinal) return\n if (this.state.config.autoShowEnable === false) return\n // 如果用户调用 hide 方法手动隐藏户型图,则不允许自动展示\n if (this.isHiddenByHideFunc) return\n const fiveCurrentState = this.five.getCurrentState()\n if (fiveCurrentState.mode !== 'Floorplan') return\n if (this.state.visible) return\n if (shouldFloorplanShowWithPose(fiveCurrentState)) {\n this.updateState({ visible: true }, true)\n this._show({ isAutoShow: true })\n }\n }\n\n /** panoIndex 改变时,更新 floorIndex */\n private onFivePanoArrived: EventCallback['panoArrived'] = (index) => {\n if (!this.five?.work) return\n this.panoIndex = index\n this.floorIndex = this.workUtil.observers[index].floorIndex\n }\n\n /** cameraUpdate 时判断户型图是否应该自动隐藏 */\n private onFiveCameraUpdate: EventCallback['cameraUpdate'] = (_, userAction) => {\n if (!this.state.visible) return\n // 展示过程中不处理自动隐藏逻辑\n if (this.showPromise) return\n const fiveCurrentState = this.five.getCurrentState()\n\n if (shouldFloorplanHideWithPose(fiveCurrentState)) {\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction, isAutoHide: true })\n }\n }\n\n /** 在户型图展示时阻止多指操作, 阻止鼠标放大 */\n private onFiveWantsGesture: EventCallback['wantsGesture'] = (type, pointers) => {\n if (!this.state.visible) return\n // 阻止多指操作\n if (pointers.length > 1) return false\n // 阻止鼠标滚轮行为\n if (type === 'mouseWheel') return false\n }\n\n /** 户型图展示中,转动三维模型,结束时应该自动修复模型状态 */\n private onFiveWantsPanGesture: EventCallback['panGesture'] = (_, isFinal) => {\n if (this.five.getCurrentState().mode !== 'Floorplan') return\n if (this.state.config.autoShowEnable === false) return\n\n if (isFinal && this.state.visible) {\n this.five.updateCamera(this.showState, 0)\n // 禁用掉 isFinal 的 panGesture 行为\n // 因为 panGesture 中包含对相机的处理,会跟回调事件中的处理逻辑冲突\n // 此行为也会禁用 pan 结束后的惯性处理\n return false\n }\n }\n\n /** 阻止点击分间走点 */\n private onFiveWantsTapGesture: EventCallback['wantsTapGesture'] = () => this.handleClick()\n\n /** 从 Panorama 切换到其他模态时,记录当前的相机水平视角 */\n private onFiveWantsChangeMode: EventCallback['wantsChangeMode'] = (mode, prevMode) => {\n if (prevMode === 'Panorama' && mode === 'Floorplan') {\n this.lastPanoramaLongitude = this.five.getCurrentState().longitude\n }\n\n // if (mode !== 'Floorplan') this.hide()\n }\n\n /** 模型楼层高亮改变时,自动进行楼层切换 */\n private onModelShownFloorChange = (shownFloor: number | null) => {\n if (this.floorIndex === shownFloor) return\n if (shownFloor === null) {\n const panoIndex = this.five.getCurrentState().panoIndex\n this.floorIndex = this.workUtil.observers[panoIndex].floorIndex\n return\n }\n this.floorIndex = shownFloor\n this.updateSize()\n this.render()\n }\n\n private render(duration?: number) {\n if (this.disposed || !this.state.enabled) return\n if (!this.container || !this.data) return\n if (this.size.width === 0) return\n if (this.showPromise) return\n\n const props = {\n ...this.state.config,\n visible: this.state.visible,\n duration: duration ?? 0,\n panoIndex: this.panoIndex,\n floorIndex: this.floorIndex,\n floorplanData: this.data,\n lastPanoramaLongitude: this.lastPanoramaLongitude,\n highlightData: this.highlightData,\n store: this.store,\n }\n\n if (this.app) return this.app.update(props)\n\n this.app = mountComponent(Main, this.container, props)\n }\n}\n","import type { Parameters } from './typing'\nimport type { FivePlugin } from '@realsee/five-webgpu'\n\nimport { Controller } from './Controller'\n\nexport const ModelFloorplanPlugin: FivePlugin<undefined | Parameters, Controller> = (five, params) => {\n return new Controller(five, params)\n}\n\nexport type ModelFloorplanPluginParameterType = Parameters | undefined\nexport type ModelFloorplanPluginReturnType = InstanceType<typeof Controller>\nexport default ModelFloorplanPlugin\n","export default [\n {\n type: 0,\n description: '车-2',\n href: 'resource/items/{{ theme }}/car_2.png',\n width: 4200,\n height: 1800,\n tag: '其他',\n direction: 3,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 1,\n description: '车-1',\n href: 'resource/items/{{ theme }}/car_1.png',\n width: 1900,\n height: 4300,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 2,\n description: '中厨-1',\n href: 'resource/items/{{ theme }}/kitchen_1.png',\n width: 3158,\n height: 1400,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 3,\n description: '8人餐桌',\n href: 'resource/items/{{ theme }}/table_for_8.png',\n width: 3240,\n height: 1800,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 4,\n description: '衣柜-1',\n href: 'resource/items/{{ theme }}/wardrobe_1.png',\n width: 1820,\n height: 600,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 5,\n description: '浴缸-2',\n href: 'resource/items/{{ theme }}/bathtub_2.png',\n width: 1500,\n height: 694,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 6,\n description: '衣柜-3',\n href: 'resource/items/{{ theme }}/wardrobe_3.png',\n width: 2830,\n height: 600,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 7,\n description: '植物-4',\n href: 'resource/items/{{ theme }}/plant_4.png',\n width: 700,\n height: 628,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 8,\n description: '植物-1',\n href: 'resource/items/{{ theme }}/plant_1.png',\n width: 700,\n height: 565,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 9,\n description: '植物-6',\n href: 'resource/items/{{ theme }}/plant_6.png',\n width: 800,\n height: 758,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 10,\n description: '书桌-1',\n href: 'resource/items/{{ theme }}/desk_1.png',\n width: 1200,\n height: 930,\n tag: '书房',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 11,\n description: '瓶艺-1',\n href: 'resource/items/{{ theme }}/bottle_art_1.png',\n width: 530,\n height: 520,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 12,\n description: '衣柜-2',\n href: 'resource/items/{{ theme }}/wardrobe_2.png',\n width: 2310,\n height: 600,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 13,\n description: '植物-2',\n href: 'resource/items/{{ theme }}/plant_2.png',\n width: 600,\n height: 600,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 14,\n description: '西厨-1',\n href: 'resource/items/{{ theme }}/western_kitchen_1.png',\n width: 2180,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 15,\n description: '西厨-2',\n href: 'resource/items/{{ theme }}/western_kitchen_2.png',\n width: 1480,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 16,\n description: '浴缸-1',\n href: 'resource/items/{{ theme }}/bathtub_1.png',\n width: 1500,\n height: 956,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 17,\n description: '植物-3',\n href: 'resource/items/{{ theme }}/plant_3.png',\n width: 700,\n height: 639,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 18,\n description: '书桌-2',\n href: 'resource/items/{{ theme }}/desk_2.png',\n width: 2200,\n height: 2470,\n tag: '书房',\n direction: 3,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 19,\n description: '吧台',\n href: 'resource/items/{{ theme }}/bar_counter.png',\n width: 1800,\n height: 1130,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 20,\n description: '书柜-短',\n href: 'resource/items/{{ theme }}/bookcase_short.png',\n width: 1460,\n height: 350,\n tag: '书房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 21,\n description: '鞋柜-长',\n href: 'resource/items/{{ theme }}/shoe_cabinet_long.png',\n width: 2059,\n height: 550,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 22,\n description: '鞋柜-短',\n href: 'resource/items/{{ theme }}/shoe_cabinet_short.png',\n width: 1308,\n height: 550,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 23,\n description: '中厨-2',\n href: 'resource/items/{{ theme }}/kitchen_2.png',\n width: 2020,\n height: 650,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 24,\n description: '椅子',\n href: 'resource/items/{{ theme }}/chair.png',\n width: 1050,\n height: 950,\n tag: '客厅',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 25,\n description: '秋千',\n href: 'resource/items/{{ theme }}/swing.png',\n width: 1600,\n height: 1370,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 26,\n description: '茶几',\n href: 'resource/items/{{ theme }}/tea_table.png',\n width: 1090,\n height: 800,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 27,\n description: '庭院',\n href: 'resource/items/{{ theme }}/courtyard.png',\n width: 2100,\n height: 3020,\n tag: '其他',\n direction: 3,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 28,\n description: '躺椅',\n href: 'resource/items/{{ theme }}/deck_chair.png',\n width: 900,\n height: 1850,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 29,\n description: '钢琴',\n href: 'resource/items/{{ theme }}/piano.png',\n width: 1900,\n height: 2260,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 30,\n description: '音响',\n href: 'resource/items/{{ theme }}/sound.png',\n width: 2500,\n height: 550,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 31,\n description: '马桶',\n href: 'resource/items/{{ theme }}/flush_toilet.png',\n width: 450,\n height: 750,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 32,\n description: '植物-5',\n href: 'resource/items/{{ theme }}/plant_5.png',\n width: 544,\n height: 600,\n tag: '装饰类',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 33,\n description: '书柜-长',\n href: 'resource/items/{{ theme }}/bookcase_long.png',\n width: 2040,\n height: 350,\n tag: '书房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 34,\n description: '燃气灶-1',\n href: 'resource/items/{{ theme }}/gas_stove_1.png',\n width: 820,\n height: 450,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 35,\n description: '洗脸池-单',\n href: 'resource/items/{{ theme }}/wash_basin_single.png',\n width: 1150,\n height: 500,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 36,\n description: '洗手池-单',\n href: 'resource/items/{{ theme }}/sink_single.png',\n width: 1200,\n height: 500,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 37,\n description: '双人床-4',\n href: 'resource/items/{{ theme }}/double_4.png',\n width: 2743,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 38,\n description: '电视柜-短',\n href: 'resource/items/{{ theme }}/tv_cabinet_short.png',\n width: 1580,\n height: 350,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 39,\n description: '储物柜-1',\n href: 'resource/items/{{ theme }}/locker_1.png',\n width: 1400,\n height: 600,\n tag: '储物间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 40,\n description: '双人床-3',\n href: 'resource/items/{{ theme }}/double_3.png',\n width: 2791,\n height: 2300,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 41,\n description: '双人床-2',\n href: 'resource/items/{{ theme }}/double_2.png',\n width: 2791,\n height: 2300,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 42,\n description: '洗手池-双',\n href: 'resource/items/{{ theme }}/sink_double.png',\n width: 2777,\n height: 600,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 43,\n description: '洗脸池-双',\n href: 'resource/items/{{ theme }}/wash_basin_double.png',\n width: 2550,\n height: 600,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 44,\n description: '双人床(无床头柜)-1',\n href: 'resource/items/{{ theme }}/double_bed_without_bedside_table_1.png',\n width: 1914,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 45,\n description: '电视柜-长',\n href: 'resource/items/{{ theme }}/tv_cabinet_long.png',\n width: 2040,\n height: 350,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 46,\n description: '洽谈桌组合',\n href: 'resource/items/{{ theme }}/negotiation_table_combination.png',\n width: 2830,\n height: 950,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 47,\n description: '哑铃架',\n href: 'resource/items/{{ theme }}/dumbbell_rack.png',\n width: 900,\n height: 650,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 48,\n description: '沙发组合-1',\n href: 'resource/items/{{ theme }}/sofa_combination_1.png',\n width: 4000,\n height: 2792,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 49,\n description: '游泳池-2',\n href: 'resource/items/{{ theme }}/swimming_pool_2.png',\n width: 7680,\n height: 3800,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 50,\n description: '美人榻',\n href: 'resource/items/{{ theme }}/beauty_couch.png',\n width: 1600,\n height: 520,\n tag: '卧室',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 51,\n description: '单人床(无床头柜)',\n href: 'resource/items/{{ theme }}/single_bed_without_bedside_table.png',\n width: 1200,\n height: 2120,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 52,\n description: '沙发组合-2',\n href: 'resource/items/{{ theme }}/sofa_combination_2.png',\n width: 2000,\n height: 2054,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 53,\n description: '跑步机',\n href: 'resource/items/{{ theme }}/treadmill.png',\n width: 2120,\n height: 950,\n tag: '其他',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 54,\n description: '储物柜-3',\n href: 'resource/items/{{ theme }}/lockers_3.png',\n width: 2400,\n height: 1360,\n tag: '储物间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 55,\n description: '洗菜池-1',\n href: 'resource/items/{{ theme }}/vegetable_washing_pool_1.png',\n width: 760,\n height: 470,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 56,\n description: '组合沙发-4',\n href: 'resource/items/{{ theme }}/combination_sofa_4.png',\n width: 1800,\n height: 1595,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 57,\n description: '台球桌',\n href: 'resource/items/{{ theme }}/pool_table.png',\n width: 2540,\n height: 1400,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 58,\n description: '置物台-1',\n href: 'resource/items/{{ theme }}/shelf_1.png',\n width: 1632,\n height: 560,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 59,\n description: '储物柜-2',\n href: 'resource/items/{{ theme }}/locker_2.png',\n width: 2640,\n height: 600,\n tag: '储物间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 60,\n description: '户外桌椅',\n href: 'resource/items/{{ theme }}/outdoor_tables_and_chairs.png',\n width: 3000,\n height: 2800,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 61,\n description: '洗衣机-1',\n href: 'resource/items/{{ theme }}/washing_machine_1.png',\n width: 850,\n height: 600,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 62,\n description: '双人床-1',\n href: 'resource/items/{{ theme }}/double_1.png',\n width: 2851,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 63,\n description: '六人餐桌',\n href: 'resource/items/{{ theme }}/table_for_six.png',\n width: 2230,\n height: 1700,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 64,\n description: '洽谈沙发椅',\n href: 'resource/items/{{ theme }}/sofa_chair.png',\n width: 1000,\n height: 950,\n tag: '其他',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 65,\n description: '三人沙发',\n href: 'resource/items/{{ theme }}/three_seat_sofa.png',\n width: 2670,\n height: 950,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 66,\n description: '会客桌',\n href: 'resource/items/{{ theme }}/reception_table.png',\n width: 1800,\n height: 1800,\n tag: '其他',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 67,\n description: '健身机',\n href: 'resource/items/{{ theme }}/fitness_machine.png',\n width: 2200,\n height: 800,\n tag: '其他',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 68,\n description: '沙发组合-3',\n href: 'resource/items/{{ theme }}/sofa_combination_3.png',\n width: 2670,\n height: 2330,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 69,\n description: '双开冰箱',\n href: 'resource/items/{{ theme }}/double_refrigerator.png',\n width: 720,\n height: 600,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 70,\n description: '车库工具箱',\n href: 'resource/items/{{ theme }}/garage_toolbox.png',\n width: 1280,\n height: 500,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 71,\n description: '储物柜-4',\n href: 'resource/items/{{ theme }}/locker_4.png',\n width: 2440,\n height: 2440,\n tag: '储物间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 72,\n description: '临时餐台',\n href: 'resource/items/{{ theme }}/temporary_dining_table.png',\n width: 1000,\n height: 1500,\n tag: '厨房',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 73,\n description: '置物台-2',\n href: 'resource/items/{{ theme }}/shelf_2.png',\n width: 1590,\n height: 600,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 74,\n description: '四人餐桌',\n href: 'resource/items/{{ theme }}/table_for_four.png',\n width: 1700,\n height: 1700,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 75,\n description: '洽谈桌',\n href: 'resource/items/{{ theme }}/negotiating_table.png',\n width: 950,\n height: 950,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 76,\n description: '游泳池-1',\n href: 'resource/items/{{ theme }}/swimming_pool_1.png',\n width: 4300,\n height: 5340,\n tag: '其他',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 77,\n description: '毛巾凳',\n href: 'resource/items/{{ theme }}/towel_stool.png',\n width: 800,\n height: 500,\n tag: '卫生间',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 78,\n description: '电梯',\n href: 'resource/items/{{ theme }}/lift.png',\n width: 2000,\n height: 2000,\n tag: '楼梯',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 79,\n description: 'AC',\n href: 'resource/items/{{ theme }}/ac.png',\n width: 850,\n height: 320,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 80,\n description: '二人餐桌',\n href: 'resource/items/{{ theme }}/table_for_two.png',\n width: 780,\n height: 1500,\n tag: '客厅',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 81,\n description: '双人床(无床头柜)-2',\n href: 'resource/items/{{ theme }}/double_bed_without_bedside_table_2.png',\n width: 1500,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 82,\n description: '双人床(无床头柜)-3',\n href: 'resource/items/{{ theme }}/double_bed_without_bedside_table_3.png',\n width: 1800,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 83,\n description: '床头柜',\n href: 'resource/items/{{ theme }}/bedstand.png',\n width: 500,\n height: 500,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 84,\n description: '单开门冰箱',\n href: 'resource/items/{{ theme }}/refrigerator.png',\n width: 650,\n height: 670,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 85,\n description: '沙发组合-5',\n href: 'resource/items/{{ theme }}/sofa_combination_5.png',\n width: 1598,\n height: 1418,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 86,\n description: '沙发组合-6',\n href: 'resource/items/{{ theme }}/sofa_combination_6.png',\n width: 2680,\n height: 1790,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 87,\n description: '四人餐桌-1',\n href: 'resource/items/{{ theme }}/table_for_four_1.png',\n width: 1600,\n height: 1700,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 88,\n description: '小单人沙发',\n href: 'resource/items/{{ theme }}/chair_2.png',\n width: 460,\n height: 416,\n tag: '客厅',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 89,\n description: '小洗手池',\n href: 'resource/items/{{ theme }}/sink_small.png',\n width: 600,\n height: 500,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 90,\n description: '小厨',\n href: 'resource/items/{{ theme }}/kitchen_small.png',\n width: 740,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 91,\n description: '小衣柜',\n href: 'resource/items/{{ theme }}/wardrobe_small.png',\n width: 910,\n height: 600,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 92,\n description: '淋浴房',\n href: 'resource/items/{{ theme }}/shower.png',\n width: 650,\n height: 670,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 93,\n description: '鞋柜-1',\n href: 'resource/items/{{ theme }}/shoe_cabinet_1.png',\n width: 900,\n height: 400,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 94,\n description: '鞋柜-2',\n href: 'resource/items/{{ theme }}/shoe_cabinet_2.png',\n width: 1500,\n height: 400,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 95,\n description: '鞋柜-3',\n href: 'resource/items/{{ theme }}/shoe_cabinet_3.png',\n width: 2000,\n height: 400,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 96,\n description: '电视柜-1',\n href: 'resource/items/{{ theme }}/tv_cabinet_1.png',\n width: 1500,\n height: 350,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 97,\n description: '电视柜-2',\n href: 'resource/items/{{ theme }}/tv_cabinet_2.png',\n width: 2040,\n height: 350,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 98,\n description: '电视柜-3',\n href: 'resource/items/{{ theme }}/tv_cabinet_3.png',\n width: 3000,\n height: 350,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 99,\n description: '餐边柜-1',\n href: 'resource/items/{{ theme }}/sideboard_1.png',\n width: 900,\n height: 550,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 100,\n description: '餐边柜-2',\n href: 'resource/items/{{ theme }}/sideboard_2.png',\n width: 1500,\n height: 550,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 101,\n description: '餐边柜-3',\n href: 'resource/items/{{ theme }}/sideboard_3.png',\n width: 2000,\n height: 550,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 102,\n description: '燃气灶-2',\n href: 'resource/items/{{ theme }}/gas_stove_2.png',\n width: 900,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 103,\n description: '洗菜池-2',\n href: 'resource/items/{{ theme }}/vegetable_washing_pool_2.png',\n width: 900,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 104,\n description: '橱柜-1',\n href: 'resource/items/{{ theme }}/kitchen_cabinet_1.png',\n width: 550,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 105,\n description: '橱柜-2',\n href: 'resource/items/{{ theme }}/kitchen_cabinet_2.png',\n width: 900,\n height: 550,\n tag: '厨房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 106,\n description: '花洒',\n href: 'resource/items/{{ theme }}/shower_head.png',\n width: 260,\n height: 200,\n tag: '卫生间',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 107,\n description: '淋浴屏',\n href: 'resource/items/{{ theme }}/shower_panel.png',\n width: 1500,\n height: 100,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 108,\n description: '洗衣机-2',\n href: 'resource/items/{{ theme }}/washing_machine_2.png',\n width: 600,\n height: 500,\n tag: '卫生间',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 109,\n description: '双人床-5',\n href: 'resource/items/{{ theme }}/double_5.png',\n width: 1500,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 110,\n description: '双人床-6',\n href: 'resource/items/{{ theme }}/double_6.png',\n width: 1800,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 111,\n description: '双人床-7',\n href: 'resource/items/{{ theme }}/double_7.png',\n width: 2000,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 112,\n description: '双人床-8',\n href: 'resource/items/{{ theme }}/double_8.png',\n width: 2300,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 113,\n description: '梳妆台',\n href: 'resource/items/{{ theme }}/dressing_table.png',\n width: 1200,\n height: 900,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 114,\n description: '儿童床-1',\n href: 'resource/items/{{ theme }}/children_bed_1.png',\n width: 1400,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 115,\n description: '儿童床-2',\n href: 'resource/items/{{ theme }}/children_bed_2.png',\n width: 1700,\n height: 2000,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 116,\n description: '儿童床-3',\n href: 'resource/items/{{ theme }}/children_bed_3.png',\n width: 2000,\n height: 2200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 117,\n description: '儿童书桌-1',\n href: 'resource/items/{{ theme }}/children_desk_1.png',\n width: 1000,\n height: 800,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 118,\n description: '儿童书桌-2',\n href: 'resource/items/{{ theme }}/children_desk_2.png',\n width: 1200,\n height: 800,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 119,\n description: '儿童书桌-3',\n href: 'resource/items/{{ theme }}/children_desk_3.png',\n width: 1500,\n height: 800,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 120,\n description: '儿童活动区域-1',\n href: 'resource/items/{{ theme }}/children_carpet_1.png',\n width: 600,\n height: 600,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 121,\n description: '儿童活动区域-2',\n href: 'resource/items/{{ theme }}/children_carpet_2.png',\n width: 1200,\n height: 1200,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 122,\n description: '儿童活动区域-3',\n href: 'resource/items/{{ theme }}/children_carpet_3.png',\n width: 1800,\n height: 1800,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 123,\n description: '茶榻组合-1',\n href: 'resource/items/{{ theme }}/tea_table_combination_1.png',\n width: 2000,\n height: 1400,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 124,\n description: '茶榻组合-2',\n href: 'resource/items/{{ theme }}/tea_table_combination_2.png',\n width: 2500,\n height: 1400,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 125,\n description: '茶榻组合-3',\n href: 'resource/items/{{ theme }}/tea_table_combination_3.png',\n width: 3000,\n height: 1800,\n tag: '其他',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 126,\n description: '儿童衣柜-1',\n href: 'resource/items/{{ theme }}/children_wardrobe_1.png',\n width: 900,\n height: 500,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 127,\n description: '儿童衣柜-2',\n href: 'resource/items/{{ theme }}/children_wardrobe_2.png',\n width: 1200,\n height: 500,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 128,\n description: '儿童衣柜-3',\n href: 'resource/items/{{ theme }}/children_wardrobe_3.png',\n width: 1500,\n height: 500,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 129,\n description: '儿童书柜-1',\n href: 'resource/items/{{ theme }}/children_bookcase_1.png',\n width: 800,\n height: 450,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 130,\n description: '儿童书柜-2',\n href: 'resource/items/{{ theme }}/children_bookcase_2.png',\n width: 1200,\n height: 450,\n tag: '卧室',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 131,\n description: '折行双跑楼梯',\n href: 'resource/items/{{ theme }}/folding_double_running_stairs.png',\n width: 3000,\n height: 3000,\n tag: '楼梯',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 132,\n description: '平行双跑楼梯',\n href: 'resource/items/{{ theme }}/parallel_double_running_stairs.png',\n width: 2500,\n height: 3600,\n tag: '楼梯',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 133,\n description: '折行三跑楼梯',\n href: 'resource/items/{{ theme }}/folding_treble_running_stairs.png',\n width: 4300,\n height: 2700,\n tag: '楼梯',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: true,\n },\n {\n type: 134,\n description: '手枪',\n href: 'resource/items/{{ theme }}/pistol.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 135,\n description: '血迹',\n href: 'resource/items/{{ theme }}/bloodstain.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 2,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 136,\n description: '手印',\n href: 'resource/items/{{ theme }}/handprint.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 137,\n description: '足迹',\n href: 'resource/items/{{ theme }}/footprint.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 138,\n description: '车轮轨迹',\n href: 'resource/items/{{ theme }}/wheelprint.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 139,\n description: '弹头',\n href: 'resource/items/{{ theme }}/bullet.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 140,\n description: '弹壳',\n href: 'resource/items/{{ theme }}/shell.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 1,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 141,\n description: '尸体',\n href: 'resource/items/{{ theme }}/corpse.png',\n width: 1500,\n height: 1500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['legacy', 'realsee'],\n label: false,\n },\n {\n type: 142,\n description: '空气净化器',\n href: 'resource/items/{{ theme }}/airscrubber.png',\n width: 580,\n height: 380,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 143,\n description: '吹风机',\n href: 'resource/items/{{ theme }}/airblower.png',\n width: 640,\n height: 600,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 144,\n description: '除湿器',\n href: 'resource/items/{{ theme }}/dehumidifier.png',\n width: 480,\n height: 430,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 145,\n description: '冰柜',\n href: 'resource/items/{{ theme }}/freezer.png',\n width: 800,\n height: 460,\n tag: '厨房',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 146,\n description: '架子',\n href: 'resource/items/{{ theme }}/shelf.png',\n width: 1000,\n height: 380,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 147,\n description: '杂物',\n href: 'resource/items/{{ theme }}/sundries.png',\n width: 800,\n height: 800,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 148,\n description: 'L型沙发',\n href: 'resource/items/{{ theme }}/L_sofa.png',\n width: 3500,\n height: 1800,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 149,\n description: '书桌3',\n href: 'resource/items/{{ theme }}/desk_3.png',\n width: 1200,\n height: 680,\n tag: '书房',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 150,\n description: '会议桌-1',\n href: 'resource/items/{{ theme }}/conference_table_1.png',\n width: 1600,\n height: 1100,\n tag: '客厅',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 151,\n description: '衣架',\n href: 'resource/items/{{ theme }}/coat_hanger.png',\n width: 1200,\n height: 400,\n tag: '卧室',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 152,\n description: '上下铺',\n href: 'resource/items/{{ theme }}/bunk_beds.png',\n width: 2000,\n height: 1040,\n tag: '卧室',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 153,\n description: '蹲坑',\n href: 'resource/items/{{ theme }}/squatting.png',\n width: 600,\n height: 480,\n tag: '卫生间',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 154,\n description: '男尸',\n href: 'resource/items/{{ theme }}/male_corpse.png',\n width: 1600,\n height: 800,\n tag: '物证痕迹',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 155,\n description: '女尸',\n href: 'resource/items/{{ theme }}/female_corpse.png',\n width: 1500,\n height: 800,\n tag: '物证痕迹',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 156,\n description: '擦蹭状血迹',\n href: 'resource/items/{{ theme }}/rub-like-bookd-stains.png',\n width: 1200,\n height: 800,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 157,\n description: '擦拭物',\n href: 'resource/items/{{ theme }}/wipes.png',\n width: 300,\n height: 60,\n tag: '物证痕迹',\n direction: 3,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 158,\n description: '纸团',\n href: 'resource/items/{{ theme }}/paper_ball.png',\n width: 400,\n height: 400,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 159,\n description: '未整理的被子',\n href: 'resource/items/{{ theme }}/unarranged_quilts.png',\n width: 800,\n height: 500,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 160,\n description: '手机',\n href: 'resource/items/{{ theme }}/mobile_phone.png',\n width: 400,\n height: 280,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 161,\n description: '菜刀',\n href: 'resource/items/{{ theme }}/kitchen_knife.png',\n width: 500,\n height: 220,\n tag: '物证痕迹',\n direction: 3,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 162,\n description: '矩形',\n href: 'resource/items/{{ theme }}/rectangle.png',\n width: 900,\n height: 600,\n tag: '自定义',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n svgWidth: 90,\n svgHeight: 60,\n svg: '<rect x=\".75\" y=\".75\" width=\"88.5\" height=\"58.5\" rx=\"4\" fill=\"#FFF\" stroke=\"#3D404E\" fill-rule=\"evenodd\" vector-effect=\"non-scaling-stroke\"/>',\n },\n {\n type: 163,\n description: '圆形',\n href: 'resource/items/{{ theme }}/circle.png',\n width: 600,\n height: 600,\n tag: '自定义',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 164,\n description: '三角形',\n href: 'resource/items/{{ theme }}/triangle.png',\n width: 600,\n height: 600,\n tag: '自定义',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 165,\n description: '五角星形',\n href: 'resource/items/{{ theme }}/five_pointedstar.png',\n width: 800,\n height: 800,\n tag: '自定义',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 166,\n description: '会议桌-2',\n href: 'resource/items/{{ theme }}/conference_table_2.png',\n width: 2800,\n height: 1800,\n tag: '客厅',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 167,\n description: '餐椅',\n href: 'resource/items/{{ theme }}/dining_chair.png',\n width: 500,\n height: 580,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 168,\n description: '转椅-1',\n href: 'resource/items/{{ theme }}/rotating_chair_1.png',\n width: 500,\n height: 580,\n tag: '书房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 169,\n description: '转椅-2',\n href: 'resource/items/{{ theme }}/rotating_chair_2.png',\n width: 640,\n height: 640,\n tag: '书房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 170,\n description: '长方形茶几',\n href: 'resource/items/{{ theme }}/rectangular_coffee_table.png',\n width: 1090,\n height: 800,\n tag: '客厅',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 171,\n description: '抽油烟机',\n href: 'resource/items/{{ theme }}/smoke_lampblack_machine.png',\n width: 1200,\n height: 800,\n tag: '厨房',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 172,\n description: '电话机',\n href: 'resource/items/{{ theme }}/telephone.png',\n width: 500,\n height: 500,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 173,\n description: '对讲机',\n href: 'resource/items/{{ theme }}/walkie_talkie.png',\n width: 240,\n height: 540,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 174,\n description: '花盆',\n href: 'resource/items/{{ theme }}/flower_pot.png',\n width: 500,\n height: 500,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 175,\n description: '剪刀',\n href: 'resource/items/{{ theme }}/scissors.png',\n width: 500,\n height: 460,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 176,\n description: '角柜',\n href: 'resource/items/{{ theme }}/corner_cabinet.png',\n width: 1000,\n height: 1000,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 177,\n description: '口杯',\n href: 'resource/items/{{ theme }}/mouth_cup.png',\n width: 500,\n height: 400,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 178,\n description: '盘子',\n href: 'resource/items/{{ theme }}/plate.png',\n width: 500,\n height: 500,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 179,\n description: '勺子',\n href: 'resource/items/{{ theme }}/spoon.png',\n width: 600,\n height: 180,\n tag: '日常用品',\n direction: 1,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 180,\n description: '手提包',\n href: 'resource/items/{{ theme }}/handbag.png',\n width: 500,\n height: 500,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 181,\n description: '双人沙发',\n href: 'resource/items/{{ theme }}/double_sofa.png',\n width: 1600,\n height: 850,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 182,\n description: '藤椅',\n href: 'resource/items/{{ theme }}/cane_chair.png',\n width: 640,\n height: 640,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 183,\n description: '拖把',\n href: 'resource/items/{{ theme }}/mop.png',\n width: 490,\n height: 1000,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 184,\n description: '卫生纸',\n href: 'resource/items/{{ theme }}/toilet_paper.png',\n width: 280,\n height: 300,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 185,\n description: '烟盒',\n href: 'resource/items/{{ theme }}/cigarette_case.png',\n width: 220,\n height: 300,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 186,\n description: '烟头',\n href: 'resource/items/{{ theme }}/cigarette_butt.png',\n width: 280,\n height: 220,\n tag: '日常用品',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 187,\n description: '鱼缸',\n href: 'resource/items/{{ theme }}/fish_tank.png',\n width: 1000,\n height: 500,\n tag: '客厅',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 188,\n description: '笔记本电脑',\n href: 'resource/items/{{ theme }}/notebook_computer.png',\n width: 500,\n height: 500,\n tag: '日常用品',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 189,\n description: '微波炉',\n href: 'resource/items/{{ theme }}/microwave_oven.png',\n width: 600,\n height: 400,\n tag: '厨房',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 190,\n description: '断口',\n href: 'resource/items/{{ theme }}/fracture.png',\n width: 1200,\n height: 300,\n tag: '其他',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: true,\n },\n {\n type: 191,\n description: '遗物堆',\n href: 'resource/items/{{ theme }}/relic_pile.png',\n width: 800,\n height: 800,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 192,\n description: '衣物',\n href: 'resource/items/{{ theme }}/clothing.png',\n width: 830,\n height: 810,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 193,\n description: '浴巾',\n href: 'resource/items/{{ theme }}/bath_towel.png',\n width: 420,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 194,\n description: '水渍',\n href: 'resource/items/{{ theme }}/water_stains.png',\n width: 1070,\n height: 600,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 195,\n description: '螺丝刀',\n href: 'resource/items/{{ theme }}/bolt_driver.png',\n width: 300,\n height: 300,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 196,\n description: '凉鞋',\n href: 'resource/items/{{ theme }}/sandals.png',\n width: 430,\n height: 460,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 197,\n description: '水果刀',\n href: 'resource/items/{{ theme }}/fruit_knife.png',\n width: 300,\n height: 260,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 198,\n description: '匕首',\n href: 'resource/items/{{ theme }}/dragger.png',\n width: 400,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 199,\n description: '玻璃弹孔',\n href: 'resource/items/{{ theme }}/glass_bullet_hole.png',\n width: 1160,\n height: 1000,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 200,\n description: '电视',\n href: 'resource/items/{{ theme }}/tv.png',\n width: 1120,\n height: 160,\n tag: '客厅',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 201,\n description: '单向楼梯',\n href: 'resource/items/{{ theme }}/stairs.png',\n width: 1400,\n height: 3600,\n tag: '楼梯',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 202,\n description: '电脑',\n href: 'resource/items/{{ theme }}/computer.png',\n width: 700,\n height: 120,\n tag: '书房',\n direction: 2,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 203,\n description: '工具',\n href: 'resource/items/{{ theme }}/tool.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 204,\n description: '特殊',\n href: 'resource/items/{{ theme }}/special.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 205,\n description: '生物',\n href: 'resource/items/{{ theme }}/biology.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 206,\n description: '毒化',\n href: 'resource/items/{{ theme }}/poison.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 207,\n description: '理化',\n href: 'resource/items/{{ theme }}/physics&chemistry.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 208,\n description: '文检',\n href: 'resource/items/{{ theme }}/document.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 209,\n description: '电子',\n href: 'resource/items/{{ theme }}/electronic.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 210,\n description: '人像',\n href: 'resource/items/{{ theme }}/portrait.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 211,\n description: '提取物品',\n href: 'resource/items/{{ theme }}/extract_items.png',\n width: 500,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 212,\n description: '左脚足迹',\n href: 'resource/items/{{ theme }}/footprint_l.png',\n width: 220,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 213,\n description: '右脚足迹',\n href: 'resource/items/{{ theme }}/footprint_r.png',\n width: 220,\n height: 500,\n tag: '物证痕迹',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 214,\n description: '电动车',\n href: 'resource/items/{{ theme }}/electric_car.png',\n width: 480,\n height: 1320,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 215,\n description: '自行车',\n href: 'resource/items/{{ theme }}/bike.png',\n width: 380,\n height: 1480,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 216,\n description: '摩托车',\n href: 'resource/items/{{ theme }}/motorcycle.png',\n width: 500,\n height: 1780,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 217,\n description: '越野车',\n href: 'resource/items/{{ theme }}/off_road_vehicle.png',\n width: 1700,\n height: 4360,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 218,\n description: '卡车',\n href: 'resource/items/{{ theme }}/truck.png',\n width: 1880,\n height: 6800,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 219,\n description: '客车',\n href: 'resource/items/{{ theme }}/bus.png',\n width: 3160,\n height: 8000,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 220,\n description: '叉车',\n href: 'resource/items/{{ theme }}/forklift.png',\n width: 940,\n height: 2720,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n {\n type: 221,\n description: '拖拉机',\n href: 'resource/items/{{ theme }}/tractor.png',\n width: 1740,\n height: 3060,\n tag: '交通工具',\n direction: 0,\n keywords: ['default'],\n themes: ['realsee'],\n label: false,\n },\n]\n","import { mountComponent, type MountedComponent } from '../../shared-utils/svelte/component.svelte'\nimport type { PartialDeep } from 'type-fest'\nimport type { BaseOptions } from '../../base/BasePlugin'\nimport type { EventCallback, Five, Pose } from '@realsee/five-webgpu'\nimport type { ShowState } from '../utils/correctFiveState'\nimport type { FloorplanServerData } from '../typings/floorplanServerData'\nimport type { State, Config, EventMap, ShowOptions, HideOptions, Parameters, PluginData, PluginServerData, HighlightData } from './typing'\nimport itemTypes from './items'\nimport * as THREE from 'three/webgpu'\nimport to from '../../shared-utils/to'\nimport { equal } from '../../shared-utils/equal'\nimport Main from '../Components/Main.svelte'\nimport formatData from '../utils/formatData'\nimport { CAMERA_IMAGE } from '../Assets/camera'\nimport { omit } from '../../shared-utils/filter'\nimport { FLOOR_PLAN_ATTACHED_TO } from '../constant'\nimport * as BasePlugin from '../../base/BasePluginWithData'\nimport getPxmm, { getAttachedY } from '../../shared-utils/getPxmm'\nimport correctFiveState from '../utils/correctFiveState'\nimport changeModelCanvasOpacity from '../../shared-utils/changeModelCanvasOpacity'\nimport { FloorplanErrorType, SHOW_ANIME_DURATION, FIVE_CAMERA_DEFAULT_FOV } from '../utils/constant'\nimport { bounding, replaceStaticPrefix } from '../../shared-utils'\nimport { waitFiveModelLoaded } from '../../shared-utils/five/fiveModelLoad'\nimport type { FloorplanRoomItem } from '../typings/floorplanData'\nimport { FLOORPLAN_DEFAULT_IMAGE } from '../../shared-utils/url/defaultUrls'\n\nconst HOST = '//vr-image-4.realsee-cdn.cn/release/static/image/doctorstrange/0.6.201-beta/'\n\n/** 当前 five 的相机视角是否满足户型图自动隐藏条件\n *\n * @description 水平旋转角大于正负 5 度 || 俯仰角度大于 5 度\n *\n */\nfunction shouldFloorplanHideWithPose(pose: Pose) {\n const { latitude, longitude } = pose\n const latitudeHide = Math.abs(latitude - Math.PI / 2) > (5 * Math.PI) / 180\n const longitudeHide = longitude > 5 * (Math.PI / 180) && longitude < 355 * (Math.PI / 180)\n return latitudeHide || longitudeHide\n}\n\n/** 当前 five 的相机视角是否满足户型图自动展示隐藏条件\n *\n * @description 水平旋转角正负 30 度 && 俯仰角度小于 10 度\n *\n */\nfunction shouldFloorplanShowWithPose(pose: Pose) {\n const { latitude, longitude } = pose\n const latitudeVisible = Math.abs(latitude - Math.PI / 2) < (10 * Math.PI) / 180\n const longitudeVisible = longitude < 30 * (Math.PI / 180) || longitude > 330 * (Math.PI / 180)\n return latitudeVisible && longitudeVisible\n}\n\nexport class Controller extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {\n // =============== public properties =================\n public name = 'modelFloorplanPlugin'\n public state: State\n // =============== private properties =================\n protected data?: PluginData\n /** 展示户型图时,需要正确的状态 */\n protected showState: ShowState\n /** show 动画的公共 Promise */\n protected showPromise?: Promise<void>\n private disposed = false\n private loadGeneration = 0\n private app?: MountedComponent<any> = undefined\n private panoIndex = 0\n private floorIndex = 0\n /** 公共 Promise 的 reject 方法 */\n private showRejection?: (errorMsg?: string) => void\n /** 户型图父容器 */\n private wrapper?: Element\n /** 户型图主容器 */\n private container = document.createElement('div')\n /** 展示户型图图前,Five 的 Panorama Longitude */\n private lastPanoramaLongitude = 0\n /** 户型图大小 */\n private size: { width: number; height: number } = { width: 0, height: 0 }\n private defaultMissingFloorConfig: Required<Config['missingFloorConfig']>\n /** 是否已经执行过事件监听 */\n private hasAddedEventListener = false\n /** 上一次隐藏是否是用户调用了 hide 导致的 */\n private isHiddenByHideFunc = false\n /** 高亮区域 */\n private highlightData: HighlightData = {}\n private items: any[]\n private store: { roomOnMouse: FloorplanRoomItem | null } = { roomOnMouse: null }\n\n public constructor(five: Five, params?: Parameters) {\n super(five)\n\n\n // =============== init Show State ===============\n this.showState = {\n mode: 'Mapview',\n longitude: 0,\n latitude: Math.PI / 2,\n // 与 ModelFloorplanPlugin 对齐:初始化默认 fov。缺失时 correctFiveState 计算期望 distance\n // 会因 fov 为 undefined 退化成「包围盒对角线」,与 changeMode 实际取景距离不符,触发 \"pose 与预期不符\"。\n fov: FIVE_CAMERA_DEFAULT_FOV / (params?.scale ?? 1),\n ...params?.showState,\n }\n // =============== init State ===============\n this.defaultMissingFloorConfig = {\n imageURL: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n imageWidth: 200,\n imageHeight: 120,\n text: params.i18n?.('暂无平面图') ?? '暂无平面图',\n textFontSize: 14,\n }\n const baseConfig: Config = {\n northDesc: '北',\n modelOpacity: 1,\n cameraEnable: true,\n highlightEnable: false,\n hoverEnable: true,\n compassEnable: true,\n autoShowEnable: true,\n ruleLabelsEnable: true,\n roomLabelsEnable: true,\n roomAreaEnable: true,\n roomNameEnable: true,\n roomNameOtherTypeEnable: true,\n roomDimensionEnable: true,\n cameraImageUrl: CAMERA_IMAGE,\n attachedTo: FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER,\n getLabelElement: undefined,\n adaptiveRoomLabelVisibleEnable: true,\n missingFloorConfig: {\n ...this.defaultMissingFloorConfig,\n ...params.missingFloorConfig,\n },\n i18n: (key) => key,\n getRoomAreaText: (size) => (size / 1000000).toFixed(1) + '㎡',\n getRoomDimensionText: (width, height) => (width / 1000).toFixed(1) + 'm × ' + (height / 1000).toFixed(1) + 'm',\n getRuleDistanceText: (distance) => distance.toString(),\n }\n const paramsConfig = params ? omit(params, ['scale']) : {}\n const missingFloorConfig = { ...baseConfig.missingFloorConfig, ...paramsConfig.missingFloorConfig }\n const config: Config = { ...baseConfig, ...paramsConfig, missingFloorConfig }\n this.state = { enabled: true, visible: false, config }\n this.panoIndex = five.getCurrentState().panoIndex\n // =============== init Container ===============\n this.initContainer()\n // =============== init Listener ===============\n // 注意插件声明周期内只监听一次的事件不放在 addEventListener 里面\n // 如果初始化的时候模型已经加载完毕了,就不用再等 modelLoaded\n waitFiveModelLoaded(five).then(this.onFiveModelLoaded)\n five.once('dispose', this.dispose)\n this.addEventListener()\n }\n\n public async load(serverData: PluginServerData, state?: Partial<State>, userAction = true) {\n if (this.disposed) return\n const generation = ++this.loadGeneration\n const _serverData: FloorplanServerData = structuredClone(serverData.data)\n const prevData = this.data\n const data = await formatData(_serverData)\n if (this.disposed || generation !== this.loadGeneration) return\n this.data = data\n\n this.hooks.emit('dataLoaded', this.data)\n this.hooks.emit('dataChange', this.data, prevData)\n\n if (state) this.updateState(state, userAction)\n\n this.render()\n }\n\n public loadItems(items: any[]) {\n const { min, max } = this.data.bounding\n const boundingWidth = max.x - min.x\n const boundingHeight = max.y - min.y\n this.data.floorDatas.forEach((floorData, index) => {\n floorData.items = items[index]\n .filter((item) => item.displayName === 'Item-SimpleItem')\n .map((item) => {\n const { x, y, width, height, notes, type, id, rotateX, rotateY, rotateZ = 0 } = item\n return {\n id,\n positionInImage: { x: (x - min.x) / boundingWidth, y: (max.y - y) / boundingHeight },\n width: width / boundingWidth,\n height: height / boundingHeight,\n src: HOST + itemTypes[type].href.replace(/\\{\\{\\stheme\\s\\}\\}/, 'realsee'),\n notes: notes || itemTypes[type].description,\n rotateX,\n rotateY,\n rotateZ,\n }\n })\n })\n }\n\n /** 把插件的渲染DOM插入到对应的容器中去 */\n public appendTo(wrapper: Element) {\n this.wrapper = wrapper\n\n // 插件 disabled 时,只是不执行副作用,但是 wrapper 还是要赋值的,不然 enable 的时候找不到父容器\n if (!this.state.enabled) return\n\n wrapper.appendChild(this.container)\n this.render()\n return this\n }\n\n /** 启用插件 */\n public enable(options: BaseOptions = {}) {\n if (this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: true }, options.userAction || userAction)\n this._enable({ userAction })\n }\n\n /** 禁用插件 */\n public disable(options: BaseOptions = {}) {\n if (!this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: false }, options.userAction || userAction)\n this._disable({ userAction })\n }\n\n /** 销毁插件 */\n public dispose = () => {\n if (this.disposed) return\n // Restore the canvas and abort any pending show before detaching the overlay.\n void this.hide()\n this.disposed = true\n this.loadGeneration += 1\n this.five.off('dispose', this.dispose)\n this.removeEventListener()\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.data = undefined\n this.wrapper = undefined\n this.hooks.emit('dispose')\n }\n\n /** 展示户型图\n * 1. show 函数大部分情况下需要耗时\n * 2. 如果当前已经在展示中,将不会触发任何事件\n * 3. 如果展示过程被中断,将抛出错误\n * 4. 多次调用 show 方法,只会触发一次 showAnimationEnded 事件,但是展示结果会取决于最后一次调用参数\n * 5. 如果多次调用 show 方法,参数与上次参数不一致时,上次 show Promise 会被 reject\n * @param opts.floorIndex 楼层\n * @param opts.modelOpacity 模型透明度\n * @param opts.immediately 是否立即展示\n * @param opts.isAutoShow 是否是自动展示\n * @param opts.userAction 是否是用户行为\n */\n public show = async (options: Omit<Partial<ShowOptions>, 'isAutoShow'> = {}): Promise<void> => {\n if (this.disposed || !this.state.enabled) return\n // 已经展示完成了,不做任何操作\n if (!this.showPromise && this.state.visible) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: true }, userAction)\n return this._show(options)\n }\n\n /** 隐藏户型图 */\n public hide = async (options: Partial<HideOptions> = {}) => {\n if (!this.state.enabled) return\n this.isHiddenByHideFunc = true\n if (this.state.visible === false) return\n\n this.updateState({ visible: false }, options.userAction || true)\n this._hide(options)\n }\n\n /** 更改插件 State */\n public setState(state: PartialDeep<State>, options: BaseOptions = {}) {\n const prevState = this.state\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState(state, userAction)\n\n if (state.enabled !== undefined && prevState.enabled !== state.enabled) {\n state.enabled ? this._enable({ userAction }) : this._disable({ userAction })\n }\n\n if (state.visible !== undefined && prevState.visible !== state.visible) {\n const options = { userAction }\n state.visible ? this._show(options) : this._hide(options)\n }\n }\n\n public changeConfigs(config: Partial<Config>, userAction = true) {\n this.updateState({ config }, userAction)\n this.render()\n }\n\n /** 更新户型图大小 */\n public updateSize = (): boolean => {\n if (!this.data) return false\n if (!this.container || !this.wrapper) return false\n // 计算户型图展示大小\n const { min, max } = this.data.bounding\n const width = max.x - min.x\n const height = max.y - min.y\n // 每毫米对应的 px 值\n const pxmm = this.getPxmmWithRotation()\n const _width = Math.ceil(width * pxmm)\n const _height = Math.ceil(height * pxmm)\n\n if (this.size.width === _width && this.size.height === _height) return true\n this.container.style.width = _width + 'px'\n this.container.style.height = _height + 'px'\n this.size = { width: _width, height: _height }\n return true\n }\n\n /** 根据旋转角度计算 pxmm\n * @description 当 longitude 大于 45° 或小于 -45°(相对于基准方向)时,使用 Z 轴计算\n */\n private getPxmmWithRotation(): number {\n if (!this.wrapper) return 0\n const options = this.state.config.attachedTo ? { attachedTo: this.state.config.attachedTo } : undefined\n\n // 将 longitude 归一化到 [0, 2π] 范围,判断是否需要使用 Z 轴\n const longitude = this.showState.longitude\n // 计算相对于 0 或 π 的偏移角度\n const normalizedAngle = Math.abs(((longitude % (2 * Math.PI)) + 2 * Math.PI) % (2 * Math.PI))\n // 判断是否在 45°-135° 或 225°-315° 范围内(即 X 轴接近垂直于屏幕,此时 Z 轴更接近水平)\n const needZAxis =\n (normalizedAngle > Math.PI / 4 && normalizedAngle < (3 * Math.PI) / 4) ||\n (normalizedAngle > (5 * Math.PI) / 4 && normalizedAngle < (7 * Math.PI) / 4)\n\n if (needZAxis) {\n // 使用 Z 轴计算 pxmm\n return this.getPxmmZAxis(options)\n } else {\n // 使用默认的 X 轴差值计算\n return getPxmm(this.five, this.wrapper, this.floorIndex, options)\n }\n }\n\n /** 使用 Z 轴计算 pxmm\n * @description 当相机旋转导致 X 轴接近垂直于屏幕时,改用 Z 轴计算\n */\n private getPxmmZAxis(options?: { attachedTo: typeof FLOOR_PLAN_ATTACHED_TO[keyof typeof FLOOR_PLAN_ATTACHED_TO] }): number {\n if (!this.wrapper) return 0\n const y = getAttachedY(this.five, this.floorIndex, options?.attachedTo)\n const originPosition = new THREE.Vector3(0, y, 0)\n const originPositionZUnit = new THREE.Vector3(0, y, 1)\n const mouse = originPosition.clone().project(this.five.camera)\n const zUnitMouse = originPositionZUnit.clone().project(this.five.camera)\n\n // 使用 Z 轴方向的屏幕投影差值\n const pxmm = Math.abs((zUnitMouse.x - mouse.x) / 1000) * (this.wrapper.getBoundingClientRect().width / 2)\n\n return pxmm\n }\n\n /** 更新户型图位置 */\n public updatePosition() {\n const y = getAttachedY(this.five, this.floorIndex, this.state.config.attachedTo)\n const modelPosition = this.fiveUtil.model?.bounding.getCenter(new THREE.Vector3()).setY(y)\n if (!modelPosition) return\n const ndcPosition = modelPosition.clone().project(this.five.camera)\n const left = (ndcPosition.x + 1) / 2\n const top = -(ndcPosition.y - 1) / 2\n this.container.style.left = left * 100 + '%'\n this.container.style.top = top * 100 + '%'\n }\n\n public highlight = (highlightData: HighlightData) => {\n if (!this.state.config.highlightEnable) return\n this.highlightData = highlightData\n this.render()\n }\n\n public unhighlight = () => {\n this.highlightData = {}\n this.render()\n }\n\n /** 更新展示状态\n * @description 可以更新 longitude、latitude、offset 等参数\n * @param showState 需要更新的状态,会与现有状态合并\n * @example\n * // 更新 longitude\n * plugin.updateShowState({ longitude: Math.PI / 2 })\n */\n public updateShowState = (showState: Partial<ShowState>) => {\n this.showState = { ...this.showState, ...showState }\n }\n\n protected async formatData(serverData: PluginServerData) {\n return await formatData(serverData.data)\n }\n\n private _disable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.hooks.emit('disable', { userAction })\n // ===== 处理展示过程中 disable =====\n this.showRejection?.(FloorplanErrorType.BreakOffByDisable)\n this.showPromise = undefined\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.removeEventListener()\n }\n\n private _enable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.addEventListener()\n if (!this.wrapper) return\n this.wrapper.append(this.container)\n this.hooks.emit('enable', { userAction })\n if (this.state.visible) this._show({ userAction })\n }\n\n private _show = async (options: Partial<ShowOptions>) => {\n if (!this.state.enabled) return\n if (!this.fiveUtil.model?.loaded) throw new Error(FloorplanErrorType.ModelNotLoaded)\n if (!this.data) throw new Error(FloorplanErrorType.DataNotLoaded)\n if (this.showPromise) return this.showPromise\n\n // ===== 参数合并 =====\n const baseShowOpts: ShowOptions = {\n floorIndex: this.floorIndex,\n modelOpacity: this.state.config.modelOpacity,\n immediately: false,\n isAutoShow: false,\n userAction: true,\n }\n const mergedOptions: ShowOptions = { ...baseShowOpts, ...options }\n\n const getShowPromise = async () => {\n this.hooks.emit('show', { userAction: mergedOptions.userAction, auto: mergedOptions.isAutoShow })\n let hasRejected = false\n let externalErrorMsg: string | undefined\n this.showRejection = (errorMsg?: string) => {\n hasRejected = true\n externalErrorMsg = errorMsg\n }\n\n const [correctError] = await to(correctFiveState(this.five, this.showState, mergedOptions.userAction))\n if (correctError) throw correctError\n // 异步结束要判断当前是不是被中断了\n if (hasRejected) throw externalErrorMsg ? new Error(externalErrorMsg) : new Error(FloorplanErrorType.UnknownError)\n\n // 更新户型图大小\n const updateSizeRes = this.updateSize()\n if (!updateSizeRes) throw new Error(FloorplanErrorType.UpdateSizeError)\n this.updatePosition()\n\n // 高亮当前楼层,有两个目的\n // 1. 点击模型时,可以跳转到当前楼层的点位上\n // 2. 当前楼层比较小时,户型图也比较小,如果展示全部楼层,会展示户型图外有一圈模型\n this.floorIndex = mergedOptions.floorIndex\n this.fiveUtil.model.show(this.floorIndex)\n }\n\n this.isHiddenByHideFunc = false\n\n this.showPromise = getShowPromise()\n .then(() => {\n this.showPromise = undefined\n this.showRejection = undefined\n // 模型消失, 渲染户型图\n const modelOpacity = mergedOptions.modelOpacity\n const renderDuration = mergedOptions.immediately ? 0 : SHOW_ANIME_DURATION\n changeModelCanvasOpacity(this.five, modelOpacity, renderDuration)\n this.render(renderDuration)\n this.hooks.emit('showAnimationEnded', {\n auto: mergedOptions.isAutoShow,\n userAction: mergedOptions.userAction,\n })\n })\n .catch((error: Error) => {\n this.showPromise = undefined\n this.showRejection = undefined\n this.updateState({ visible: false }, mergedOptions.userAction)\n // 自动展示的报错内部处理\n if (mergedOptions.isAutoShow) return\n // 非自动展示的报错继续向外抛出\n if (error instanceof Error) throw error\n })\n\n return this.showPromise\n }\n\n private _hide = (options: Partial<HideOptions>) => {\n // ===== 处理展示过程中 hide =====\n this.showRejection?.(FloorplanErrorType.BreakOffByHide)\n this.showPromise = undefined\n // ===== 合并参数 =====\n const baseOptions: HideOptions = {\n userAction: true,\n isAutoHide: false,\n }\n const mergedOptions: HideOptions = { ...baseOptions, ...options }\n\n changeModelCanvasOpacity(this.five, 1, 0)\n this.hooks.emit('hide', { auto: mergedOptions.isAutoHide, userAction: mergedOptions.userAction })\n this.render()\n }\n\n private updateState(state: PartialDeep<State>, userAction: boolean) {\n const prevState = this.state\n const missingFloorConfig = state.config?.missingFloorConfig\n ? { ...prevState.config.missingFloorConfig, ...state.config.missingFloorConfig }\n : prevState.config.missingFloorConfig\n const config = state.config ? { ...prevState.config, ...state.config, missingFloorConfig } : prevState.config\n this.state = { ...this.state, ...state, config }\n if (equal(this.state, prevState, { deep: true })) return\n this.hooks.emit('stateChange', { state: this.state, prevState, userAction })\n }\n\n /** 模型状态改变后更新户型图。 */\n private initContainer() {\n this.container.classList.add('floorplan-plugin')\n Object.assign(this.container.style, {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n zIndex: 10,\n pointerEvents: 'none',\n })\n this.five.addExtraElement(this.container)\n }\n\n private handleClick = (): false | undefined => {\n if (!this.state.visible) return\n\n const preventDefault = this.hooks.emit('click', this.store.roomOnMouse)\n if (preventDefault) return false\n }\n\n private addEventListener() {\n if (!this.state.enabled) return\n if (this.hasAddedEventListener) return\n const five = this.five\n five.on('modeChange', this.onFiveModeChange)\n five.on('interiaPan', this.onFiveInteriaPan)\n five.on('panoArrived', this.onFivePanoArrived)\n five.on('cameraUpdate', this.onFiveCameraUpdate)\n five.on('wantsPanGesture', this.onFiveWantsPanGesture)\n five.on('wantsTapGesture', this.onFiveWantsTapGesture)\n five.on('wantsChangeMode', this.onFiveWantsChangeMode)\n five.on('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n private removeEventListener() {\n const five = this.five\n this.hasAddedEventListener = false\n // 注意这里并没有消除 dispose 的监听\n five.off('modelLoaded', this.onFiveModelLoaded)\n five.off('modeChange', this.onFiveModeChange)\n five.off('panoArrived', this.onFivePanoArrived)\n five.off('cameraUpdate', this.onFiveCameraUpdate)\n five.off('wantsPanGesture', this.onFiveWantsPanGesture)\n five.off('wantsTapGesture', this.onFiveWantsTapGesture)\n five.off('wantsChangeMode', this.onFiveWantsChangeMode)\n five.off('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n /** modelLoaded 之后自动执行 append container 操作 */\n private onFiveModelLoaded = () => {\n if (this.disposed) return\n const model = this.five.models.find((m) => m.name === this.five.state.workCode)\n const modelBounding = model.bounding\n const boundingCenter = modelBounding.getCenter(new THREE.Vector3())\n this.showState.offset = boundingCenter\n\n\n }\n\n /** 更改模型时,自动隐藏户型图 */\n private onFiveModeChange: EventCallback['modeChange'] = (mode) => {\n // 目前 Five modeChange 事件没有暴露 userAction,先拿 false 苟着\n if (mode !== this.showState.mode) {\n this.updateState({ visible: false }, false)\n this._hide({ userAction: false })\n }\n }\n\n /** 惯性结束后,判断能否自动展示户型图 */\n private onFiveInteriaPan = (_: any, isFinal: boolean) => {\n if (!isFinal) return\n if (this.state.visible) return\n if (this.state.config.autoShowEnable === false) return\n // 如果用户调用 hide 方法手动隐藏户型图,则不允许自动展示\n if (this.isHiddenByHideFunc) return\n const fiveCurrentState = this.five.getCurrentState()\n if (fiveCurrentState.mode !== this.showState.mode) return\n // 使用相对于 showState 的偏差来判断是否应该自动展示\n const relativePose = this.getRelativePose(fiveCurrentState)\n if (shouldFloorplanShowWithPose(relativePose)) {\n this.updateState({ visible: true }, true)\n this._show({ isAutoShow: true })\n }\n }\n\n /** panoIndex 改变时,更新 floorIndex */\n private onFivePanoArrived: EventCallback['panoArrived'] = (index) => {\n if (!this.five?.work) return\n this.panoIndex = index\n this.floorIndex = this.workUtil.observers[index].floorIndex\n }\n\n /** cameraUpdate 时判断户型图是否应该自动隐藏 */\n private onFiveCameraUpdate: EventCallback['cameraUpdate'] = (_, userAction) => {\n if (!this.state.visible) return\n // 展示过程中不处理自动隐藏逻辑\n if (this.showPromise) return\n const fiveCurrentState = this.five.getCurrentState()\n this.updatePosition()\n this.updateSize()\n\n // 计算相对于 showState 的偏差,这样设置了 rotation 后 fov 改变不会触发隐藏\n const relativePose = this.getRelativePose(fiveCurrentState)\n if (shouldFloorplanHideWithPose(relativePose)) {\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction })\n }\n }\n\n /** 获取相对于 showState 的 pose 偏差\n * @description 将当前相机状态的 longitude 减去 showState.longitude,归一化后返回\n * 这样自动隐藏逻辑会检查相对偏差,而不是绝对值\n */\n private getRelativePose(pose: Pose): Pose {\n const baseLongitude = this.showState.longitude || 0\n const relativeLongitude = pose.longitude - baseLongitude\n // 归一化到 [0, 2π] 范围\n const normalizedLongitude = ((relativeLongitude % (2 * Math.PI)) + 2 * Math.PI) % (2 * Math.PI)\n return { ...pose, longitude: normalizedLongitude }\n }\n\n /** 户型图展示中,转动三维模型,结束时应该自动修复模型状态 */\n private onFiveWantsPanGesture: EventCallback['panGesture'] = (_, isFinal) => {\n if (this.five.getCurrentState().mode !== this.showState.mode) return\n if (this.state.config.autoShowEnable === false) return\n\n if (isFinal && this.state.visible) {\n // 因为自动隐藏逻辑有一定的范围,如果用户只是滑动了一点点模型,户型图并不会隐藏,这时户型图跟模型就对不齐了\n // 所以在滑动结束后,自动修复模型状态\n // 过滤掉 offset,如果也设置到初始状态,会导致水平拖动模型后,被强制修正到初始状态\n this.five.updateCamera(omit(this.showState, ['offset']), 0)\n // 禁用掉 isFinal 的 panGesture 行为\n // 因为 panGesture 中包含对相机的处理,会跟回调事件中的处理逻辑冲突\n // 此行为也会禁用 pan 结束后的惯性处理\n return false\n }\n }\n\n /** 阻止点击分间走点 */\n private onFiveWantsTapGesture: EventCallback['wantsTapGesture'] = () => this.handleClick()\n\n /** 从 Panorama 切换到其他模态时,记录当前的相机水平视角 */\n private onFiveWantsChangeMode: EventCallback['wantsChangeMode'] = (mode, prevMode) => {\n if (prevMode === 'Panorama' && mode === this.showState.mode) {\n this.lastPanoramaLongitude = this.five.getCurrentState().longitude\n }\n }\n\n /** 模型楼层高亮改变时,自动进行楼层切换 */\n private onModelShownFloorChange = (shownFloor: number | null) => {\n if (this.floorIndex === shownFloor) return\n if (shownFloor === null) {\n const panoIndex = this.five.getCurrentState().panoIndex\n this.floorIndex = this.workUtil.observers[panoIndex].floorIndex\n return\n }\n this.floorIndex = shownFloor\n this.updateSize()\n this.render()\n }\n\n private render(duration?: number) {\n if (this.disposed || !this.state.enabled) return\n if (!this.container || !this.data) return\n if (this.size.width === 0) return\n if (this.showPromise) return\n\n const props = {\n ...this.state.config,\n visible: this.state.visible,\n duration: duration ?? 0,\n panoIndex: this.panoIndex,\n floorIndex: this.floorIndex,\n floorplanData: this.data,\n lastPanoramaLongitude: this.lastPanoramaLongitude,\n highlightData: this.highlightData,\n items: this.items,\n store: this.store,\n }\n\n if (this.app) return this.app.update(props)\n\n this.app = mountComponent(Main, this.container, props)\n }\n}\n","import type { Parameters } from './typing'\nimport type { FivePlugin } from '@realsee/five-webgpu'\n\nimport { Controller } from './Controller'\n\nexport const MapviewFloorplanPlugin: FivePlugin<undefined | Parameters, Controller> = (five, params) => {\n return new Controller(five, params)\n}\n\nexport type MapviewFloorplanPluginParameterType = Parameters | undefined\nexport type MapviewFloorplanPluginReturnType = InstanceType<typeof Controller>\nexport default MapviewFloorplanPlugin\n","import { mountComponent, type MountedComponent } from '../../shared-utils/svelte/component.svelte'\nimport type { PartialDeep } from 'type-fest'\nimport type { BaseOptions } from '../../base/BasePlugin'\nimport type { EventCallback, Five } from '@realsee/five-webgpu'\nimport type { FloorplanServerData } from '../typings/floorplanServerData'\nimport type { State, Config, EventMap, Parameters, PluginData, PluginServerData, HighlightData } from './typing'\n\nimport * as THREE from 'three/webgpu'\nimport { equal } from '../../shared-utils/equal'\nimport Main from '../Components/Main.svelte'\nimport formatData from '../utils/formatData'\nimport { CAMERA_IMAGE } from '../Assets/camera'\nimport { omit } from '../../shared-utils/filter'\nimport { FLOOR_PLAN_ATTACHED_TO } from '../constant'\nimport * as BasePlugin from '../../base/BasePluginWithData'\nimport changeMode from '../../shared-utils/five/changeMode'\nimport getPxmm, { getAttachedY } from '../../shared-utils/getPxmm'\nimport changeModelCanvasOpacity from '../../shared-utils/changeModelCanvasOpacity'\nimport { replaceStaticPrefix } from '../../shared-utils'\nimport { FLOORPLAN_DEFAULT_IMAGE } from '../../shared-utils/url/defaultUrls'\n\nexport class Controller extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {\n // =============== public properties =================\n public name = 'topviewFloorplanPlugin'\n public state: State\n // =============== private properties =================\n protected data?: PluginData\n private app?: MountedComponent<any> = undefined\n private panoIndex = 0\n private floorIndex = 0\n /** 户型图父容器 */\n private wrapper?: Element\n /** 户型图主容器 */\n private container = document.createElement('div')\n /** 展示户型图图前,Five 的 Panorama Longitude */\n private lastPanoramaLongitude = 0\n /** 户型图大小 */\n private size: { width: number; height: number } = { width: 0, height: 0 }\n private defaultMissingFloorConfig: Required<Config['missingFloorConfig']>\n /** 是否已经执行过事件监听 */\n private hasAddedEventListener = false\n /** 上一次隐藏是否是用户调用了 hide 导致的 */\n private isHiddenByHideFunc = false\n /** 高亮区域 */\n private highlightData: HighlightData = {}\n\n public constructor(five: Five, params?: Parameters) {\n super(five)\n\n\n // =============== init State ===============\n this.defaultMissingFloorConfig = {\n imageURL: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n imageWidth: 200,\n imageHeight: 120,\n text: params.i18n?.('暂无平面图') ?? '暂无平面图',\n textFontSize: 14,\n }\n const baseConfig: Config = {\n northDesc: '北',\n modelOpacity: 1,\n cameraEnable: true,\n hoverEnable: true,\n highlightEnable: false,\n compassEnable: true,\n gestureEnable: false,\n autoShowEnable: true,\n ruleLabelsEnable: true,\n roomLabelsEnable: true,\n roomAreaEnable: true,\n roomNameEnable: true,\n roomNameOtherTypeEnable: true,\n roomDimensionEnable: true,\n cameraImageUrl: CAMERA_IMAGE,\n attachedTo: FLOOR_PLAN_ATTACHED_TO.BOUNDING_CENTER,\n getLabelElement: undefined,\n missingFloorConfig: {\n ...this.defaultMissingFloorConfig,\n ...params.missingFloorConfig,\n },\n i18n: (key) => key,\n adaptiveRoomLabelVisibleEnable: true,\n getRoomAreaText: (size) => (size / 1000000).toFixed(1) + '㎡',\n getRoomDimensionText: (width, height) => (width / 1000).toFixed(1) + 'm × ' + (height / 1000).toFixed(1) + 'm',\n getRuleDistanceText: (distance) => distance.toString(),\n }\n const paramsConfig = params ? omit(params, ['scale']) : {}\n const missingFloorConfig = { ...baseConfig.missingFloorConfig, ...paramsConfig.missingFloorConfig }\n const config: Config = { ...baseConfig, ...paramsConfig, missingFloorConfig }\n this.state = { enabled: true, visible: false, config }\n // =============== init Container ===============\n this.initContainer()\n // =============== init Listener ===============\n // 注意插件声明周期内只监听一次的事件不放在 addEventListener 里面\n // 如果初始化的时候模型已经加载完毕了,就不用再等 modelLoaded\n five.once('dispose', this.dispose)\n this.addEventListener()\n }\n\n public async load(serverData: PluginServerData, state?: Partial<State>, userAction = true) {\n const _serverData: FloorplanServerData = structuredClone(serverData.data)\n const prevData = this.data\n this.data = await formatData(_serverData)\n\n this.hooks.emit('dataLoaded', this.data)\n this.hooks.emit('dataChange', this.data, prevData)\n\n if (state) this.updateState(state, userAction)\n\n this.render()\n }\n\n /** 更新户型图大小 */\n public updateSize = (): boolean => {\n if (!this.data) return false\n if (!this.container || !this.wrapper) return false\n if (this.five.getCurrentState().mode !== 'Topview') return false\n // 计算户型图展示大小\n const { min, max } = this.data.bounding\n const width = max.x - min.x\n const height = max.y - min.y\n // 每毫米对应的 px 值\n const options = this.state.config.attachedTo ? { attachedTo: this.state.config.attachedTo } : undefined\n const pxmm = getPxmm(this.five, this.wrapper, this.floorIndex, options)\n const _width = Math.ceil(width * pxmm)\n const _height = Math.ceil(height * pxmm)\n\n if (this.size.width === _width && this.size.height === _height) return true\n this.container.style.width = _width + 'px'\n this.container.style.height = _height + 'px'\n this.size = { width: _width, height: _height }\n return true\n }\n\n /** 更新户型图位置 */\n public updatePosition() {\n const y = getAttachedY(this.five, this.floorIndex, this.state.config.attachedTo)\n const modelPosition = this.five.model?.bounding.getCenter(new THREE.Vector3()).setY(y)\n if (!modelPosition) return\n const ndcPosition = modelPosition.clone().project(this.five.camera)\n const left = (ndcPosition.x + 1) / 2\n const top = -(ndcPosition.y - 1) / 2\n this.container.style.left = left * 100 + '%'\n this.container.style.top = top * 100 + '%'\n }\n\n /** 把插件的渲染DOM插入到对应的容器中去 */\n public appendTo(wrapper: Element) {\n this.wrapper = wrapper\n\n // 插件 disabled 时,只是不执行副作用,但是 wrapper 还是要赋值的,不然 enable 的时候找不到父容器\n if (!this.state.enabled) return\n\n wrapper.appendChild(this.container)\n this.render()\n return this\n }\n\n public async show(options: BaseOptions = {}) {\n // 已经展示完成了,不做任何操作\n if (this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: true }, userAction)\n this._show({ userAction })\n }\n\n public async hide(options: BaseOptions = {}) {\n this.isHiddenByHideFunc = true\n if (!this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction })\n }\n\n public enable(options: BaseOptions = {}) {\n if (this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: true }, options.userAction || userAction)\n this._enable({ userAction })\n }\n\n public disable(options: BaseOptions = {}) {\n if (!this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: false }, options.userAction || userAction)\n this._disable({ userAction })\n }\n\n /** 销毁插件 */\n public dispose = () => {\n this.removeEventListener()\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.data = undefined\n this.wrapper = undefined\n this.hooks.emit('dispose')\n }\n\n /** 更改插件 State */\n public setState(state: PartialDeep<State>, options: BaseOptions = {}) {\n const prevState = this.state\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState(state, userAction)\n\n if (state.enabled !== undefined && prevState.enabled !== state.enabled) {\n const options = { userAction }\n state.enabled ? this._enable(options) : this._disable(options)\n }\n\n if (state.visible !== undefined && prevState.visible !== state.visible) {\n const options = { userAction }\n state.visible ? this._show(options) : this._hide(options)\n }\n }\n\n public changeConfigs(config: Partial<Config>, userAction = true) {\n this.updateState({ config }, userAction)\n this.render()\n }\n\n public highlight = (highlightData: HighlightData) => {\n if (!this.state.config.highlightEnable) return\n this.highlightData = highlightData\n this.render()\n }\n\n public unhighlight = () => {\n this.highlightData = {}\n this.render()\n }\n\n protected async formatData(serverData: PluginServerData) {\n return await formatData(serverData.data)\n }\n\n private async _show(options: { userAction: boolean }) {\n if (!this.state.enabled) return\n this.isHiddenByHideFunc = false\n const { userAction } = options\n this.hooks.emit('show', { userAction, auto: false })\n if (this.five.getCurrentState().mode !== 'Topview') {\n await changeMode(this.five, ['Topview', undefined, undefined, userAction])\n }\n this.five.model.show(this.floorIndex)\n this.updatePosition()\n this.updateSize()\n const renderDuration = 500\n const modelOpacity = this.state.config.modelOpacity\n changeModelCanvasOpacity(this.five, modelOpacity, renderDuration)\n this.hooks.emit('showAnimationEnded', { userAction, auto: false })\n this.render()\n }\n\n private async _hide(options: { userAction: boolean }) {\n if (!this.state.enabled) return\n const { userAction } = options\n this.hooks.emit('hide', { userAction, auto: false })\n const modelOpacity = 1\n const renderDuration = 0\n changeModelCanvasOpacity(this.five, modelOpacity, renderDuration)\n this.render()\n }\n\n private _enable(options: { userAction: boolean }) {\n const { userAction } = options\n this.addEventListener()\n if (this.wrapper) this.wrapper.append(this.container)\n this.hooks.emit('enable', { userAction })\n if (this.state.visible) this._show({ userAction })\n }\n\n private _disable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.app?.destroy()\n this.app = undefined\n this.container?.remove()\n this.removeEventListener()\n this.hooks.emit('disable', { userAction })\n }\n\n private updateState(state: PartialDeep<State>, userAction: boolean) {\n const prevState = this.state\n const missingFloorConfig = state.config?.missingFloorConfig\n ? { ...prevState.config.missingFloorConfig, ...state.config.missingFloorConfig }\n : prevState.config.missingFloorConfig\n const config = state.config ? { ...prevState.config, ...state.config, missingFloorConfig } : prevState.config\n this.state = { ...this.state, ...state, config }\n if (equal(this.state, prevState, { deep: true })) return\n this.hooks.emit('stateChange', { state: this.state, prevState, userAction })\n }\n\n private addEventListener() {\n if (!this.state.enabled) return\n if (this.hasAddedEventListener) return\n const five = this.five\n\n five.on('modeChange', this.onFiveModeChange)\n five.on('panoArrived', this.onFivePanoArrived)\n five.on('cameraUpdate', this.onFiveCameraUpdate)\n five.on('wantsGesture', this.onFiveWantsGesture)\n five.on('wantsMoveToPano', this.onFiveWantsMoveToPano)\n five.on('initAnimationEnded', this.onFiveInitAnimationEnded)\n five.on('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n private removeEventListener() {\n const five = this.five\n this.hasAddedEventListener = false\n // 注意这里并没有消除 dispose 的监听\n five.off('modeChange', this.onFiveModeChange)\n five.off('panoArrived', this.onFivePanoArrived)\n five.off('cameraUpdate', this.onFiveCameraUpdate)\n five.off('wantsGesture', this.onFiveWantsGesture)\n five.off('wantsMoveToPano', this.onFiveWantsMoveToPano)\n five.off('initAnimationEnded', this.onFiveInitAnimationEnded)\n five.off('modelShownFloorChange', this.onModelShownFloorChange)\n }\n\n /** modelLoaded 之后自动执行 append container 操作 */\n\n\n /** 非 Topview 态隐藏户型图 */\n private onFiveModeChange: EventCallback['modeChange'] = (...[mode, , , , userAction]) => {\n if (mode !== 'Topview' && this.state.visible) {\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction })\n }\n }\n\n private onFivePanoArrived: EventCallback['panoArrived'] = (index) => {\n if (!this.five?.work) return\n this.panoIndex = index\n this.floorIndex = this.workUtil.observers[index].floorIndex\n }\n\n private onFiveCameraUpdate: EventCallback['cameraUpdate'] = (_, userAction) => {\n if (!this.state.visible) return\n this.updatePosition()\n this.updateSize()\n }\n\n private onFiveWantsGesture: EventCallback['wantsGesture'] = (type) => {\n if (type !== 'pan' && type !== 'pinch' && type !== 'mouseWheel') return\n if (this.state.visible && !this.state.config.gestureEnable) return false\n }\n\n private onFiveWantsMoveToPano: EventCallback['wantsMoveToPano'] = () => {\n if (this.state.visible && this.state.config.preventRoomClick) return false\n }\n\n /** 动画结束后是 Topview 态就展示户型图 */\n private onFiveInitAnimationEnded: EventCallback['initAnimationEnded'] = (...[, , userAction]) => {\n const { mode } = this.five.getCurrentState()\n if (mode === 'Topview' && !this.isHiddenByHideFunc && !this.state.visible && this.state.config.autoShowEnable) {\n this.updateState({ visible: true }, userAction)\n this._show({ userAction })\n }\n }\n\n private onModelShownFloorChange = (shownFloor: number | null) => {\n if (this.floorIndex === shownFloor) return\n if (shownFloor === null) {\n const panoIndex = this.five.getCurrentState().panoIndex\n this.floorIndex = this.workUtil.observers[panoIndex].floorIndex\n return\n }\n // 模型楼层高亮改变时,自动进行楼层切换\n this.floorIndex = shownFloor\n this.updateSize()\n this.render()\n }\n\n /** 模型状态改变后更新户型图。 */\n private initContainer() {\n this.container.classList.add('floorplan-plugin')\n Object.assign(this.container.style, {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate3d(-50%, -50%, 10px)',\n zIndex: 10,\n pointerEvents: 'none',\n 'will-change': 'width, height',\n })\n this.five.addExtraElement(this.container)\n }\n\n private render(duration?: number) {\n if (!this.state.enabled) return\n if (!this.container || !this.data) return\n if (this.size.width === 0) return\n\n const props = {\n ...this.state.config,\n visible: this.state.visible,\n duration: duration ?? 0,\n panoIndex: this.panoIndex,\n floorIndex: this.floorIndex,\n floorplanData: this.data,\n lastPanoramaLongitude: this.lastPanoramaLongitude,\n highlightData: this.highlightData,\n }\n\n if (this.app) return this.app.update(props)\n\n this.app = mountComponent(Main, this.container, props)\n }\n}\n","import type { Parameters } from './typing'\nimport type { FivePlugin } from '@realsee/five-webgpu'\n\nimport { Controller } from './Controller'\n\nexport const TopviewFloorplanPlugin: FivePlugin<undefined | Parameters, Controller> = (five, params) => {\n return new Controller(five, params)\n}\n\nexport type TopviewFloorplanPluginParameterType = Parameters | undefined\nexport type TopviewFloorplanPluginReturnType = InstanceType<typeof Controller>\nexport default TopviewFloorplanPlugin\n","<script lang=\"ts\">\n import type { Five, Pose } from '@realsee/five-webgpu'\n import type { FloorplanData } from '../../typings/floorplanData'\n import { onMount } from 'svelte'\n import { CAMERA_IMAGE } from '../../Assets/camera'\n import throttle from '../../../shared-utils/throttle'\n\n export let five: Five\n export let pxmm: number\n export let floorplanData: FloorplanData\n export let cameraImageUrl: undefined | string\n\n let panoIndex = five.getCurrentState().panoIndex\n let longitude = five.getCurrentState().longitude\n let floorIndex = five.work.observers[five.getCurrentState().panoIndex]?.floorIndex ?? 0\n\n $: floorData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)\n $: hasCurrentFloorData = Boolean(floorData?.rooms.length)\n\n // 初始状态,不能等 mount 之后再计算,那样第一次 camera 展示的时候也会有动画\n $: positionTransform = getCameraPositionTransform(floorplanData, panoIndex)\n $: rotateTransform = getCameraRotateTransform(longitude)\n\n /** 获取相机在当前 Five 状态下的位移 */\n function getCameraPositionTransform(floorplanData: FloorplanData, panoIndex: number) {\n const bounding = floorplanData.bounding\n const floorplanObserver = floorplanData.observers[panoIndex]\n if (!floorplanObserver) return ''\n const clientWidth = (bounding.max.x - bounding.min.x) * pxmm\n const clientHeight = (bounding.max.y - bounding.min.y) * pxmm\n const left = Math.floor(floorplanObserver.positionInImage.x * clientWidth)\n const top = Math.floor(floorplanObserver.positionInImage.y * clientHeight)\n return `translate(${left}px, ${top}px)`\n }\n\n /** 获取相机在当前 Five 状态下的旋转 */\n function getCameraRotateTransform(longitude: number) {\n // 为什么要加 45 ==> 因为 UI 给的图初始角度是 -45\n const rotate = Math.floor((longitude / Math.PI) * 180) * -1 + 45\n return `rotate(${rotate}deg)`\n }\n\n function onFivePanoWillArrive(_panoIndex: number) {\n panoIndex = _panoIndex\n }\n\n function onFivePanoArrived(panoIndex: number) {\n floorIndex = five.work.observers[panoIndex].floorIndex\n }\n\n const onFiveCameraDirectionUpdate = throttle((pose: Pick<Pose, 'longitude' | 'latitude'>) => {\n longitude = pose.longitude\n }, 1000 / 60)\n\n onMount(() => {\n five.on('panoWillArrive', onFivePanoWillArrive)\n five.on('panoArrived', onFivePanoArrived)\n five.on('cameraDirectionUpdate', onFiveCameraDirectionUpdate)\n\n return function dispose() {\n five.off('panoWillArrive', onFivePanoWillArrive)\n five.off('panoArrived', onFivePanoArrived)\n five.off('cameraDirectionUpdate', onFiveCameraDirectionUpdate)\n }\n })\n</script>\n\n<div class=\"plugin-radar__camera-wrapper\" style:opacity={hasCurrentFloorData ? 1 : 0}>\n <div class=\"plugin-radar__camera-position\" style:transform={positionTransform}>\n <div\n class=\"plugin-radar__camera-rotate\"\n style:transform={rotateTransform}\n style=\"background-image: url({cameraImageUrl || CAMERA_IMAGE})\"\n />\n </div>\n</div>\n\n<style>\n .plugin-radar__camera-wrapper {\n width: 100%;\n height: 100%;\n position: absolute;\n pointer-events: none;\n }\n .plugin-radar__camera-position {\n position: absolute;\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n transform: none;\n pointer-events: none;\n transition: transform 1s linear;\n }\n .plugin-radar__camera-rotate {\n position: absolute;\n left: -15px;\n top: -15px;\n width: 17px;\n height: 17px;\n transform-origin: 15px 15px;\n transform: rotate(45deg);\n background-repeat: no-repeat;\n background-size: 100%;\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanExtraObject } from '../../../typings/floorplanData'\n\n export let extraObjects: FloorplanExtraObject[] = []\n</script>\n\n<div class=\"plugin-pano-floorplan__extra-objects\">\n {#each extraObjects as extraObject (extraObject.id)}\n <div\n class=\"plugin-pano-floorplan__extra-object-item--position\"\n style:top=\"{extraObject.positionInImage.y * 100}%\"\n style:left=\"{extraObject.positionInImage.x * 100}%\"\n >\n <div\n class=\"plugin-pano-floorplan__extra-object-item\"\n style:width=\"{extraObject.icon.width / 16}rem\"\n style:height=\"{extraObject.icon.height / 16}rem\"\n style=\"background-image: {`url(${extraObject.icon.url})`}\"\n />\n </div>\n {/each}\n</div>\n\n<style>\n .plugin-pano-floorplan__extra-objects {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n\n .plugin-pano-floorplan__extra-object-item--position {\n position: absolute;\n width: 0;\n height: 0;\n }\n\n .plugin-pano-floorplan__extra-object-item {\n transform: translate(-50%, -50%);\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanAffineTransform, StyledFloorplanImage } from '../typings/floorplanData'\n\n export let image: StyledFloorplanImage\n export let transform: FloorplanAffineTransform | undefined\n export let zIndex = 5\n</script>\n\n<div class=\"floorplan-plugin__styled-image\" style:z-index={zIndex}>\n <img\n src={image.url}\n alt=\"\"\n draggable=\"false\"\n style:width={transform ? `${image.width}px` : '100%'}\n style:height={transform ? `${image.height}px` : '100%'}\n style:transform={transform ? `matrix(${transform.join(',')})` : undefined}\n />\n</div>\n\n<style>\n .floorplan-plugin__styled-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n pointer-events: none;\n }\n\n img {\n display: block;\n max-width: none;\n transform-origin: 0 0;\n }\n</style>\n","import type { FloorplanAffineTransform, FloorplanBounding } from '../typings/floorplanData'\n\nfunction multiply(left: FloorplanAffineTransform, right: FloorplanAffineTransform): FloorplanAffineTransform {\n const [a1, b1, c1, d1, e1, f1] = left\n const [a2, b2, c2, d2, e2, f2] = right\n return [a1 * a2 + c1 * b2, b1 * a2 + d1 * b2, a1 * c2 + c1 * d2, b1 * c2 + d1 * d2, a1 * e2 + c1 * f2 + e1, b1 * e2 + d1 * f2 + f1]\n}\n\nfunction invert([a, b, c, d, e, f]: FloorplanAffineTransform): FloorplanAffineTransform {\n const determinant = a * d - b * c\n if (!Number.isFinite(determinant) || determinant === 0) throw new Error('styled floorplan transform is singular')\n return [\n d / determinant,\n -b / determinant,\n -c / determinant,\n a / determinant,\n (c * f - d * e) / determinant,\n (b * e - a * f) / determinant,\n ]\n}\n\nexport function imageToBoundingTransform(\n floorplanToImage: FloorplanAffineTransform,\n bounding: FloorplanBounding,\n pxmm: number,\n): FloorplanAffineTransform {\n const floorplanToBounding: FloorplanAffineTransform = [pxmm, 0, 0, -pxmm, -bounding.min.x * pxmm, bounding.max.y * pxmm]\n return multiply(floorplanToBounding, invert(floorplanToImage))\n}\n","<script lang=\"ts\">\n import type { Five } from '@realsee/five-webgpu'\n import type { FloorplanData, FloorplanExtraObject } from '../../../typings/floorplanData'\n import type { HighlightData } from '../../../typings'\n import ExtraObjects from './ExtraObjects.svelte'\n import BaseImage from '../../../Components/BaseImage.svelte'\n import StyledImage from '../../../Components/StyledImage.svelte'\n import { imageToBoundingTransform } from '../../../utils/styledFloorplan'\n import Highlight from '../../../Components/RoomHighlight/RoomHighlight.svelte'\n\n export let five: Five\n export let pxmm: number\n export let floorIndex: number\n export let hoverEnable: boolean\n export let floorplanData: FloorplanData\n export let extraObjects: FloorplanExtraObject[] = []\n export let highlightData: HighlightData\n export let missingFloorImageUrl: string\n export let styledFloorplanEnable = false\n\n $: floorData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)\n $: hasCurrentFloorData = Boolean(floorData?.rooms.length)\n\n $: currentFloorExtraObjects = extraObjects?.filter((object) => object.floorIndex === floorIndex)\n $: styledFloor = styledFloorplanEnable\n ? floorplanData.styledFloorplan?.floors.find((floor) => floor.floorIndex === floorIndex)\n : undefined\n $: styledTransform = styledFloor\n ? imageToBoundingTransform(styledFloor.miniMapFill.floorplanToImage, floorplanData.bounding, pxmm)\n : undefined\n const onRoomHeightClick = undefined\n</script>\n\n{#if !hasCurrentFloorData}\n <div class=\"missing-floor-wrapper\">\n <img class=\"missing-floor-image\" src={missingFloorImageUrl} alt=\"缺省楼层\" />\n </div>\n{:else}\n {#if styledFloor && styledTransform}\n <StyledImage image={styledFloor.miniMapFill} transform={styledTransform} zIndex={0} />\n {:else}\n <BaseImage {...{ floorIndex, floorplanData }} />\n {/if}\n <ExtraObjects extraObjects={currentFloorExtraObjects} />\n {#if hoverEnable}\n <Highlight {...{ five, pxmm, floorIndex, floorplanData, onRoomHeightClick, highlightData, hoveredRoom: undefined }} />\n {/if}\n{/if}\n\n<style>\n .missing-floor-wrapper {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .missing-floor-image {\n max-width: 100%;\n max-height: 100%;\n }\n</style>\n","<script lang=\"ts\">\n import type { Five } from '@realsee/five-webgpu'\n import type { HighlightData } from '../../typings'\n import type { FloorplanData, FloorplanExtraObject } from '../../typings/floorplanData'\n import { onMount } from 'svelte'\n import Camera from './Camera.svelte'\n import CurrentFloor from './CurrentFloor/CurrentFloor.svelte'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n\n export let five: Five\n export let visible: boolean\n export let hoverEnable: boolean\n export let floorplanData: FloorplanData\n export let cameraImageUrl: undefined | string\n export let extraObjects: FloorplanExtraObject[] = []\n export let highlightData: HighlightData\n export let missingFloorImageUrl: string\n export let styledFloorplanEnable = false\n\n let pxmm = 0\n let floorIndex = five.work.observers[five.getCurrentState().panoIndex]?.floorIndex ?? 0\n let clientWidth = 0\n let clientHeight = 0\n let contentWidth = 0\n let contentHeight = 0\n\n $: styledFloor = styledFloorplanEnable\n ? floorplanData.styledFloorplan?.floors.find((floor) => floor.floorIndex === floorIndex)\n : undefined\n\n $: {\n const size = Math.min(clientWidth, clientHeight)\n const { max, min } = floorplanData.bounding\n const boundingWidth = max.x - min.x\n const boundingHeight = max.y - min.y\n const contentSize = (function getSize() {\n if (boundingWidth > boundingHeight) return [size, (size / boundingWidth) * boundingHeight]\n return [(size / boundingHeight) * boundingWidth, size]\n })()\n contentWidth = contentSize[0]\n contentHeight = contentSize[1]\n pxmm = contentWidth / boundingWidth\n }\n\n function handlePanoArrived(panoIndex: number) {\n floorIndex = five.work.observers[panoIndex].floorIndex\n }\n\n onMount(() => {\n five.on('panoArrived', handlePanoArrived)\n return () => {\n five.off('panoArrived', handlePanoArrived)\n }\n })\n</script>\n\n{#if visible}\n <div\n class=\"plugin-floorplan-radar\"\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n on:clientHeight={(e) => {\n clientHeight = e.detail\n }}\n >\n {#if clientWidth !== 0}\n <div\n class:floorplan-radar-plugin__styled-realsee={Boolean(styledFloor)}\n class=\"plugin-floorplan-radar-container\"\n style:width=\"{contentWidth}px\"\n style:height=\"{contentHeight}px\"\n >\n <CurrentFloor\n {...{\n five,\n pxmm,\n floorIndex,\n floorplanData,\n hoverEnable,\n extraObjects,\n highlightData,\n missingFloorImageUrl,\n styledFloorplanEnable,\n }}\n />\n <Camera {...{ pxmm, five, floorplanData, cameraImageUrl }} />\n </div>\n {/if}\n </div>\n{/if}\n\n<style>\n .plugin-floorplan-radar {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .plugin-floorplan-radar-container {\n position: relative;\n }\n\n :global(.floorplan-radar-plugin__styled-realsee .floorplan-plugin__styled-image) {\n filter: drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff);\n }\n</style>\n","import { mountComponent, type MountedComponent } from '../../shared-utils/svelte/component.svelte'\nimport type { Five } from '@realsee/five-webgpu'\nimport type { BaseOptions } from '../../base/BasePlugin'\nimport type { FloorplanServerData } from '../typings/floorplanServerData'\nimport type { FloorplanExtraObject3D, FloorplanExtraObject } from '../typings/floorplanData'\nimport type { HighlightData } from '../typings'\nimport type { State, Config, EventMap, Parameters, PluginData, PluginServerData } from './typing'\n\nimport Main from './Components/Main.svelte'\nimport { equal } from '../../shared-utils/equal'\nimport { CAMERA_IMAGE } from '../Assets/camera'\nimport * as BasePlugin from '../../base/BasePluginWithData'\nimport formatData, { formatExtraObjects } from '../utils/formatData'\nimport type { PartialDeep } from 'type-fest'\nimport { FLOORPLAN_DEFAULT_IMAGE, replaceStaticPrefix } from '../../shared-utils'\n\nexport class Controller extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {\n // =============== public properties =================\n public name = 'panoFloorplanRadarPlugin'\n public state: State\n // =============== protected properties =================\n protected data?: PluginData\n // =============== private properties =================\n private app?: MountedComponent<any>\n private wrapper: Element | null = null\n private disposed = false\n private loadGeneration = 0\n private extraObjects: FloorplanExtraObject[] = []\n private highlightData: HighlightData = {}\n\n public constructor(five: Five, params?: Parameters) { \n super(five)\n this.five = five\n // =============== init State ===============\n const baseConfig: Config = {\n styledFloorplanEnable: false,\n hoverEnable: false,\n highlightEnable: false,\n cameraImageUrl: CAMERA_IMAGE,\n missingFloorImageUrl: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n }\n const config: Config = { ...baseConfig, ...params?.configs }\n this.state = { enabled: true, visible: true, config }\n // =============== init wrapper ===============\n // =============== init Listener ===============\n five.once('dispose', this.dispose)\n }\n\n public dispose = () => {\n if (this.disposed) return\n this.disposed = true\n this.loadGeneration += 1\n this.five.off('dispose', this.dispose)\n this.app?.destroy()\n this.app = undefined\n this.data = undefined\n this.wrapper = null\n this.hooks.emit('dispose')\n }\n\n public async load(serverData: PluginServerData | FloorplanServerData, state?: Partial<State>, userAction = true) {\n if (this.disposed) return\n const generation = ++this.loadGeneration\n // const loadImage = async () => {\n // const floorIndex = this.five.work.observers[this.five.getCurrentState().panoIndex].floorIndex\n // // 当有 svgString 时,没有加载过程\n // if (floorplanData.outlines[floorIndex]?.svgContent) return\n // // 如果当前楼层图片不存在,不存在加载过程\n // const nowFloorImageSrc = floorplanData.outlines[floorIndex]?.url\n // if (!nowFloorImageSrc) return\n // // 图片加载完成时再 render\n // await new Promise<void>((resolve) => {\n // const nowFloorImage = new Image()\n // nowFloorImage.src = nowFloorImageSrc\n // nowFloorImage.onload = () => resolve()\n // })\n // }\n // await loadImage()\n function isPluginServerData(serverData: object): serverData is PluginServerData {\n return Object.prototype.hasOwnProperty.apply(serverData, ['version'])\n }\n const copyData: PluginServerData | FloorplanServerData = JSON.parse(JSON.stringify(serverData))\n const _serverData = isPluginServerData(copyData) ? copyData.data : copyData\n const prevData = this.data\n const data = await formatData(_serverData)\n if (this.disposed || generation !== this.loadGeneration) return\n this.data = data\n\n this.hooks.emit('dataLoaded', this.data)\n this.hooks.emit('dataChange', this.data, prevData)\n\n if (state) this.updateState(state, userAction)\n\n this.render()\n }\n\n public async show(options: BaseOptions = {}) {\n // 已经展示完成了,不做任何操作\n if (this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: true }, userAction)\n this._show({ userAction })\n }\n\n public async hide(options: BaseOptions = {}) {\n if (!this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction })\n }\n\n public enable(options: BaseOptions = {}) {\n if (this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: true }, options.userAction || userAction)\n this._enable({ userAction })\n }\n\n public disable(options: BaseOptions = {}) {\n if (!this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: false }, options.userAction || userAction)\n this._disable({ userAction })\n }\n\n public highlight = (highlightData: HighlightData) => {\n if (!this.state.config.highlightEnable) return\n this.highlightData = highlightData\n this.render()\n }\n\n public unhighlight = () => {\n this.highlightData = {}\n this.render()\n }\n\n /** 更改插件 State */\n public setState(state: Partial<State>, options: BaseOptions = {}) {\n const prevState = this.state\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState(state, userAction)\n\n if (state.enabled !== undefined && prevState.enabled !== state.enabled) {\n const options = { userAction }\n state.enabled ? this._enable(options) : this._disable(options)\n }\n\n if (state.visible !== undefined && prevState.visible !== state.visible) {\n const options = { userAction }\n state.visible ? this._show(options) : this._hide(options)\n }\n }\n\n /** 把插件的渲染DOM插入到对应的容器中去 */\n public appendTo(wrapper: Element) {\n if (this.wrapper !== wrapper) {\n // wrapper 换了就得刷新app\n if (this.app) {\n this.app.destroy()\n this.app = undefined\n }\n }\n\n this.wrapper = wrapper\n this.render()\n }\n\n public changeConfigs(config: Config, userAction = true) {\n this.setState({ config }, { userAction })\n this.render()\n }\n\n public setExtraObjectsWith3DPositions(data: FloorplanExtraObject3D[]) {\n if (!this.data) return\n this.extraObjects = formatExtraObjects(data, this.five, this.data)\n this.render()\n }\n\n protected async formatData(serverData: PluginServerData) {\n return await formatData(serverData.data)\n }\n\n private _enable(options: { userAction: boolean }) {\n const { userAction } = options\n this.hooks.emit('enable', { userAction })\n if (this.state.visible) this._show({ userAction })\n }\n\n private _disable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.app?.destroy()\n this.app = undefined\n this.hooks.emit('disable', { userAction })\n }\n\n private _show(options: { userAction: boolean }) {\n if (this.disposed) return\n if (!this.state.enabled) return\n const { userAction } = options\n this.hooks.emit('show', { userAction })\n this.render()\n }\n\n private _hide(options: { userAction: boolean }) {\n if (this.disposed) return\n if (!this.state.enabled) return\n const { userAction } = options\n this.hooks.emit('hide', { userAction })\n this.render()\n }\n\n private updateState(state: PartialDeep<State>, userAction: boolean) {\n const prevState = this.state\n const config = state.config ? { ...prevState.config, ...state.config } : prevState.config\n this.state = { ...this.state, ...state, config }\n if (equal(this.state, prevState, { deep: true })) return\n this.hooks.emit('stateChange', { state: this.state, prevState, userAction })\n }\n\n private render() {\n if (this.disposed) return\n if (!this.state.enabled) return\n\n if (!this.data || !this.wrapper) return\n\n const props = {\n ...this.state.config,\n five: this.five,\n floorplanData: this.data,\n visible: this.state.visible,\n extraObjects: this.extraObjects,\n highlightData: this.highlightData,\n }\n this.app ? this.app.update(props) : (this.app = mountComponent(Main, this.wrapper, props))\n }\n}\n","import type { Parameters } from './typing'\nimport type { FivePlugin } from '@realsee/five-webgpu'\n\nimport { Controller } from './Controller'\n\nexport const PanoFloorplanRadarPlugin: FivePlugin<Parameters | undefined, Controller> = (five, params) => {\n return new Controller(five, params)\n}\n\nexport type PanoFloorplanRadarPluginParameterType = Parameters | undefined\nexport type PanoFloorplanRadarPluginReturnType = InstanceType<typeof Controller>\nexport default PanoFloorplanRadarPlugin\n","<script lang=\"ts\">\n import type { Five, Pose } from '@realsee/five-webgpu'\n import type { FloorplanData } from '../../typings/floorplanData'\n import { onMount } from 'svelte'\n import { CAMERA_IMAGE, CAMERA_IMAGE_BIG_DOT } from '../../Assets/camera'\n import throttle from '../../../shared-utils/throttle'\n\n export let five: Five\n export let pxmm: number\n export let floorplanData: FloorplanData\n export let cameraImageUrl: undefined | string\n export let cameraSize: number = 36\n export let cameraOffset: number = 28.5\n\n let panoIndex = five.getCurrentState().panoIndex\n let longitude = five.getCurrentState().longitude\n let floorIndex = five.work.observers[five.getCurrentState().panoIndex]?.floorIndex ?? 0\n let positionTransform = ''\n\n $: floorData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)\n $: hasCurrentFloorData = Boolean(floorData?.rooms.length)\n\n // 初始状态,不能等 mount 之后再计算,那样第一次 camera 展示的时候也会有动画\n $: {\n const floorplanObserver = floorplanData.observers[panoIndex]\n if (!floorplanObserver) {\n positionTransform = ''\n } else {\n const clientWidth = (floorplanData.bounding.max.x - floorplanData.bounding.min.x) * pxmm\n const clientHeight = (floorplanData.bounding.max.y - floorplanData.bounding.min.y) * pxmm\n const left = Math.floor(floorplanObserver.positionInImage.x * clientWidth)\n const top = Math.floor(floorplanObserver.positionInImage.y * clientHeight)\n positionTransform = `translate(${left}px, ${top}px)`\n }\n }\n $: rotateTransform = getCameraRotateTransform(longitude)\n\n /** 获取相机在当前 Five 状态下的旋转 */\n function getCameraRotateTransform(longitude: number) {\n // 为什么要加 45 ==> 因为 UI 给的图初始角度是 -45\n const rotate = Math.floor((longitude / Math.PI) * 180) * -1 + 45\n return `rotate(${rotate}deg)`\n }\n\n function onFivePanoWillArrive(_panoIndex: number) {\n panoIndex = _panoIndex\n }\n\n function onFivePanoArrived(panoIndex: number) {\n floorIndex = five.work.observers[panoIndex].floorIndex\n }\n\n const onFiveCameraDirectionUpdate = throttle((pose: Pick<Pose, 'longitude' | 'latitude'>) => {\n longitude = pose.longitude\n }, 1000 / 60)\n\n onMount(() => {\n five.on('panoWillArrive', onFivePanoWillArrive)\n five.on('panoArrived', onFivePanoArrived)\n five.on('cameraDirectionUpdate', onFiveCameraDirectionUpdate)\n\n return function dispose() {\n five.off('panoWillArrive', onFivePanoWillArrive)\n five.off('panoArrived', onFivePanoArrived)\n five.off('cameraDirectionUpdate', onFiveCameraDirectionUpdate)\n }\n })\n</script>\n\n<div class=\"plugin-radar__camera-wrapper\" style:opacity={hasCurrentFloorData ? 1 : 0}>\n <div class=\"plugin-radar__camera-position\" style:transform={positionTransform}>\n <div\n class:floorplan-guide-plugin__default-camera={cameraImageUrl === CAMERA_IMAGE_BIG_DOT}\n class=\"plugin-radar__camera-rotate\"\n style:transform={rotateTransform}\n style:width=\"{cameraSize}px\"\n style:height=\"{cameraSize}px\"\n style:left=\"-{cameraOffset}px\"\n style:top=\"-{cameraOffset}px\"\n style:--camera-offset=\"{cameraOffset}px\"\n style:transform-origin=\"{cameraOffset}px {cameraOffset}px\"\n style=\"background-image: url({cameraImageUrl || CAMERA_IMAGE})\"\n />\n </div>\n</div>\n\n<style>\n .plugin-radar__camera-wrapper {\n width: 100%;\n height: 100%;\n position: absolute;\n pointer-events: none;\n z-index: 20;\n }\n .plugin-radar__camera-position {\n position: absolute;\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n transform: none;\n pointer-events: none;\n transition: transform 1s linear;\n transform-origin: 0 0;\n z-index: 20;\n }\n .plugin-radar__camera-rotate {\n position: absolute;\n transform: rotate(45deg);\n background-repeat: no-repeat;\n background-size: 100%;\n z-index: 20;\n }\n\n :global(.floorplan-guide-plugin__styled-realsee) .floorplan-guide-plugin__default-camera::after {\n content: '';\n position: absolute;\n left: var(--camera-offset);\n top: var(--camera-offset);\n width: 33.333%;\n height: 33.333%;\n border-radius: 50%;\n background: #3366ff;\n transform: translate(-50%, -50%);\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanExtraObject } from '../../../typings/floorplanData'\n\n export let extraObjects: FloorplanExtraObject[] = []\n</script>\n\n<div class=\"plugin-pano-floorplan__extra-objects\">\n {#each extraObjects as extraObject (extraObject.id)}\n <div\n class=\"plugin-pano-floorplan__extra-object-item--position\"\n style:top=\"{extraObject.positionInImage.y * 100}%\"\n style:left=\"{extraObject.positionInImage.x * 100}%\"\n >\n <div\n class=\"plugin-pano-floorplan__extra-object-item\"\n style:width=\"{extraObject.icon.width / 16}rem\"\n style:height=\"{extraObject.icon.height / 16}rem\"\n style=\"background-image: {`url(${extraObject.icon.url})`}\"\n />\n </div>\n {/each}\n</div>\n\n<style>\n .plugin-pano-floorplan__extra-objects {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n }\n\n .plugin-pano-floorplan__extra-object-item--position {\n position: absolute;\n width: 0;\n height: 0;\n }\n\n .plugin-pano-floorplan__extra-object-item {\n transform: translate(-50%, -50%);\n }\n</style>\n","<script lang=\"ts\">\n import type { Five } from '@realsee/five-webgpu'\n import type { FloorplanData, FloorplanExtraObject } from '../../../typings/floorplanData'\n import type { HighlightData, MissingFloorConfig } from '../../../typings'\n import ExtraObjects from './ExtraObjects.svelte'\n import BaseImage from '../../../Components/BaseImage.svelte'\n import Highlight from '../../../Components/RoomHighlight/RoomHighlight.svelte'\n import MissingFloor from '../../../Components/MissingFloor.svelte'\n import StyledImage from '../../../Components/StyledImage.svelte'\n import { imageToBoundingTransform } from '../../../utils/styledFloorplan'\n\n export let five: Five\n export let pxmm: number\n export let floorIndex: number\n export let hoverEnable: boolean\n export let floorplanData: FloorplanData\n export let extraObjects: FloorplanExtraObject[] = []\n export let highlightData: HighlightData\n export let missingFloorConfig: MissingFloorConfig\n // Keep for backward compatibility but not used anymore\n export let missingFloorImageUrl: string\n export let styledFloorplanEnable = false\n\n $: floorData = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)\n $: hasCurrentFloorData = Boolean(floorData?.rooms.length)\n $: styledFloor = styledFloorplanEnable\n ? floorplanData.styledFloorplan?.floors.find((floor) => floor.floorIndex === floorIndex)\n : undefined\n $: styledTransform = styledFloor\n ? imageToBoundingTransform(styledFloor.guide.floorplanToImage, floorplanData.bounding, pxmm)\n : undefined\n\n $: currentFloorExtraObjects = extraObjects?.filter((object) => object.floorIndex === floorIndex)\n const onRoomHeightClick = undefined\n</script>\n\n{#if !hasCurrentFloorData && !styledFloor}\n <MissingFloor {missingFloorConfig} />\n{:else}\n {#if styledFloor && styledTransform}\n <StyledImage image={styledFloor.guide} transform={styledTransform} zIndex={0} />\n {:else}\n <BaseImage {...{ floorIndex, floorplanData }} />\n {/if}\n <ExtraObjects extraObjects={currentFloorExtraObjects} />\n {#if hoverEnable}\n <Highlight {...{ five, pxmm, floorIndex, floorplanData, onRoomHeightClick, highlightData, hoveredRoom: undefined }} />\n {/if}\n{/if}\n\n<style>\n /* Styles moved to MissingFloor.svelte component */\n</style>\n","<script lang=\"ts\">\n import type { FloorplanData } from '../../typings/floorplanData'\n export let floorplanData: FloorplanData\n export let floorIndex: number\n export let contentWidth: number\n export let contentHeight: number\n export let observerDotSize: number = 12\n $: currentFloorObservers = floorplanData.observers?.filter((observer) => observer.floorIndex === floorIndex) ?? []\n</script>\n\n<!-- 观察点显示容器 -->\n<div class=\"floorplan-guide-plugin__observer-dots\">\n {#each currentFloorObservers as observer (observer.index)}\n <div\n class=\"floorplan-guide-plugin__observer-dot\"\n style=\"\n left: {observer.positionInImage.x * contentWidth}px;\n top: {observer.positionInImage.y * contentHeight}px;\n width: {observerDotSize}px;\n height: {observerDotSize}px;\n \"\n />\n {/each}\n</div>\n\n<style>\n .floorplan-guide-plugin__observer-dots {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n }\n\n .floorplan-guide-plugin__observer-dot {\n position: absolute;\n background: #7dacff80;\n border: 0.6px solid #96cfff;\n border-radius: 50%;\n pointer-events: none;\n transform: translate(-50%, -50%);\n transition: opacity 0.8s ease-in-out;\n }\n\n :global(.floorplan-guide-plugin__styled-realsee) .floorplan-guide-plugin__observer-dot {\n background: #3366ff66;\n border: 0;\n box-shadow: inset 0 0 0 0.5px #3366ff;\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanRoomItem } from '../../typings/floorplanData'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n import { createEventDispatcher } from 'svelte'\n\n export let room: FloorplanRoomItem\n export let roomName: string\n export let isHovered: boolean\n export let roomNameEnable: boolean\n export let roomAreaEnable: boolean\n export let roomAreaSize: string\n export let userConfigElement: Element | null\n export let adaptiveRoomLabelVisibleEnable: boolean\n export let pxmm: number\n export let left: string\n export let top: string\n export let createLabelInRoomChecker: (room: FloorplanRoomItem, labelElementSize: { width: number; height: number }) => ((pxmm: number) => boolean)\n\n const dispatch = createEventDispatcher()\n\n let labelWidth = 0\n let labelHeight = 0\n \n // 使用和 ModelFloorplanPlugin 相同的策略\n $: labelElementSize = { width: labelWidth, height: labelHeight }\n $: isLabelInRoomChecker = labelElementSize ? createLabelInRoomChecker(room, labelElementSize) : undefined\n $: labelVisible = adaptiveRoomLabelVisibleEnable \n ? (isHovered || (isLabelInRoomChecker ? isLabelInRoomChecker(pxmm) : true)) \n : true\n</script>\n\n<div \n class=\"floorplan-guide-plugin__room-label\"\n class:floorplan-guide-plugin__room-label--hovered={isHovered}\n class:floorplan-guide-plugin__room-label--hidden={!labelVisible}\n style:left\n style:top\n role=\"button\"\n tabindex=\"0\"\n on:mouseenter={() => dispatch('mouseenter')}\n on:mouseleave={() => dispatch('mouseleave')}\n on:keydown={() => {}}\n use:svelteResizeObserver\n on:clientWidth={(e) => { labelWidth = e.detail }}\n on:clientHeight={(e) => { labelHeight = e.detail }}\n>\n {#if userConfigElement}\n <!-- 用户自定义 DOM -->\n {@html userConfigElement.outerHTML}\n {:else}\n <!-- 默认标签内容 -->\n <div class=\"floorplan-guide-plugin__room-content\">\n {#if roomNameEnable && roomName}\n <span class=\"floorplan-guide-plugin__room-name\">\n {roomName}\n </span>\n {/if}\n {#if roomAreaEnable && roomAreaSize}\n <span class=\"floorplan-guide-plugin__room-area\">\n {roomAreaSize}\n </span>\n {/if}\n </div>\n {/if}\n</div>\n\n<style>\n .floorplan-guide-plugin__room-label {\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n transform: translate(-50%, -50%);\n color: #fff;\n text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);\n line-height: 1.2;\n white-space: nowrap;\n pointer-events: auto;\n cursor: pointer;\n transition: opacity 300ms;\n opacity: 1;\n }\n\n .floorplan-guide-plugin__room-label--hidden {\n opacity: 0;\n }\n\n .floorplan-guide-plugin__room-label--hovered {\n opacity: 1 !important;\n }\n\n .floorplan-guide-plugin__room-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .floorplan-guide-plugin__room-name {\n font-family: PingFangSC-Regular;\n font-weight: 400;\n font-size: 14px;\n color: #FFFFFF;\n margin-bottom: 2px;\n }\n\n .floorplan-guide-plugin__room-area {\n opacity: 0.6;\n font-family: PingFangSC-Regular;\n font-weight: 400;\n font-size: 12px;\n color: #FFFFFF;\n text-align: center;\n }\n</style>\n","<script lang=\"ts\">\n import type { FloorplanData, FloorplanRoomItem, StyledFloorplanRoomLabel } from '../../typings/floorplanData'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n import RoomLabelItem from './RoomLabelItem.svelte'\n \n export let floorplanData: FloorplanData\n export let floorIndex: number\n export let roomNameEnable: boolean = true\n export let roomNameOtherTypeEnable: boolean = true\n export let roomAreaEnable: boolean = true\n export let adaptiveRoomLabelVisibleEnable: boolean = true\n export let getRoomAreaText: (areaSize: number) => string\n export let getLabelElement: undefined | ((room: FloorplanRoomItem) => Element | null)\n export let locale: string\n export let styledFloorplanEnable = false\n export let styledRoomLabels: StyledFloorplanRoomLabel[] | undefined\n\n // 获取当前楼层的房间数据,根据配置过滤\n $: allRooms = floorplanData.floorDatas.find(floor => floor.floorIndex === floorIndex)?.rooms ?? []\n $: rooms = roomNameOtherTypeEnable \n ? allRooms \n : allRooms.filter(room => room.roomType !== '100900000012') // 过滤掉\"其他\"类型房间\n $: styledRoomLabelsByRoomId = new Map(styledRoomLabels?.map((label) => [label.roomId, label]))\n $: labels = rooms.flatMap((room) => {\n const styledLabel = styledRoomLabelsByRoomId.get(room.id)\n const label = styledFloorplanEnable ? styledLabel : room.roomLabel\n if (!label) return []\n if (!styledFloorplanEnable) return [{ room, label, roomName: room.name }]\n return [{ room, label, roomName: styledLabel?.names?.[locale] ?? '' }]\n })\n \n let clientWidth = 0\n let pxmm = 0\n let hoveredRoomId: string | null = null\n\n $: {\n const { max, min } = floorplanData.bounding\n const boundingWidth = max.x - min.x\n pxmm = clientWidth / boundingWidth\n }\n\n // https://wrf.ecse.rpi.edu//Research/Short_Notes/pnpoly.html\n // https://github.com/substack/point-in-polygon\n function isPointInPolygon(point: number[], polygon: number[][]) {\n const x = point[0]\n const y = point[1]\n let inside = false\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0]\n const yi = polygon[i][1]\n const xj = polygon[j][0]\n const yj = polygon[j][1]\n\n const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi\n if (intersect) inside = !inside\n }\n return inside\n }\n\n // 创建标签在房间内检测函数(模仿 ModelFloorplanPlugin 的策略)\n function createLabelInRoomChecker(\n room: FloorplanRoomItem,\n labelElementSize: { width: number; height: number },\n labelPosition = room.roomLabel.position,\n ) {\n if (labelElementSize.width === 0 || labelElementSize.height === 0) return () => false\n \n const polygon = room.path.map(({ x, y }) => [x, y])\n const { x, y } = labelPosition\n const { width, height } = labelElementSize\n const halfWidth = width / 2\n const halfHeight = height / 2\n\n return function isLabelInRoom(pxmm: number) {\n const clientX = x * pxmm\n const clientY = y * pxmm\n const clientPolygon = polygon.map(([x, y]) => [x * pxmm, y * pxmm])\n \n // 围成 labelRect 的四个点\n const labelRectClientPoints = [\n [clientX + halfWidth, clientY - halfHeight],\n [clientX - halfWidth, clientY - halfHeight],\n [clientX - halfWidth, clientY + halfHeight],\n [clientX + halfWidth, clientY + halfHeight],\n ]\n \n return labelRectClientPoints.every((point) => isPointInPolygon(point, clientPolygon))\n }\n }\n\n function handleMouseEnter(room: FloorplanRoomItem) {\n hoveredRoomId = room.id\n }\n\n function handleMouseLeave() {\n hoveredRoomId = null\n }\n</script>\n\n<!-- 房间标签显示容器 -->\n<div \n class=\"floorplan-guide-plugin__room-labels\"\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n>\n {#each labels as { room, label, roomName } (room.id)}\n <RoomLabelItem \n {room}\n {roomName}\n isHovered={hoveredRoomId === room.id}\n {roomNameEnable}\n {roomAreaEnable}\n roomAreaSize={room.size ? getRoomAreaText(room.size) : ''}\n userConfigElement={getLabelElement ? getLabelElement(room) : null}\n {adaptiveRoomLabelVisibleEnable}\n {pxmm}\n left={label.positionInImage.x * 100 + '%'}\n top={label.positionInImage.y * 100 + '%'}\n on:mouseenter={() => handleMouseEnter(room)}\n on:mouseleave={handleMouseLeave}\n createLabelInRoomChecker={(room, labelElementSize) => createLabelInRoomChecker(room, labelElementSize, label.position)}\n />\n {/each}\n</div>\n\n<!-- RoomLabelItem 会在同一个目录下创建 -->\n\n<style>\n .floorplan-guide-plugin__room-labels {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 15;\n }\n</style>\n","<script lang=\"ts\">\n import { COMPASS_IMAGE } from '../../Assets/compass'\n import type { FloorplanData } from '../../typings/floorplanData'\n import { rad2Deg } from '../../../shared-utils/math/rad2Deg'\n\n export let floorplanData: FloorplanData\n export let northDesc: string\n export let containerWidth: number\n export let containerHeight: number\n export let height: number = 50\n\n const northRad = floorplanData.entrance?.northRad\n const canCompassShow = typeof northRad === 'number'\n const rotate = !northRad ? 0 : rad2Deg(northRad)\n const compassTransformStyle = `rotate(${-rotate + 90}deg)`\n const transformOriginX = containerWidth / 2\n const transformOriginY = height + containerHeight / 2\n</script>\n\n{#if canCompassShow}\n <div \n class=\"floorplan-plugin__compass\" \n style:transform={compassTransformStyle}\n style:width=\"{containerWidth}px\"\n style:height=\"{height}px\"\n style:top=\"-{height}px\"\n style:transform-origin=\"{transformOriginX}px {transformOriginY}px\"\n >\n <div class=\"floorplan-plugin__compass-image\" style=\"background-image: {`url(${COMPASS_IMAGE})`}\" />\n <span class=\"floorplan-plugin__compass-text\"> {northDesc} </span>\n </div>\n{/if}\n\n<style>\n .floorplan-plugin__compass {\n position: absolute;\n will-change: opacity;\n }\n .floorplan-plugin__compass-image {\n width: 231px;\n height: 41px;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n opacity: 0.1;\n background-repeat: no-repeat;\n background-size: 100% 100%;\n }\n .floorplan-plugin__compass-text {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n opacity: 0.2;\n font-weight: bold;\n font-size: 10px;\n color: #fff;\n }\n</style> ","<script lang=\"ts\">\n import type { Five } from '@realsee/five-webgpu'\n import type { HighlightData, MissingFloorConfig } from '../../typings'\n import type { FloorplanData, FloorplanExtraObject } from '../../typings/floorplanData'\n import type { ClickEventData } from '../typing'\n import Camera from './Camera.svelte'\n import CurrentFloor from './CurrentFloor/CurrentFloor.svelte'\n import ObserverDots from './ObserverDots.svelte'\n import RoomLabels from './RoomLabels.svelte'\n import FloorplanCompass from './FloorplanCompass.svelte'\n import { svelteResizeObserver } from '../../../shared-utils/svelte/resizeObserver'\n\n export let five: Five\n export let visible: boolean\n export let hoverEnable: boolean\n export let floorplanData: FloorplanData\n export let cameraImageUrl: undefined | string\n export let extraObjects: FloorplanExtraObject[] = []\n export let highlightData: HighlightData\n export let missingFloorImageUrl: string\n export let missingFloorConfig: MissingFloorConfig\n export let clickEnable: boolean = true\n export let roomLabelsEnable: boolean = false\n export let roomNameEnable: boolean = true\n export let roomNameOtherTypeEnable: boolean = true\n export let roomAreaEnable: boolean = true\n export let adaptiveRoomLabelVisibleEnable: boolean = true\n export let getRoomAreaText: (areaSize: number) => string = (size) => (size / 1000000).toFixed(1) + '㎡'\n export let getLabelElement: undefined | ((room: any) => Element | null) = undefined\n export let compassEnable: boolean = false\n export let northDesc: string = '北'\n export let compassHeight: number = 50\n export let observerDotSize: number = 12\n export let displayedFloorIndex: number\n export let shouldShowRadar: boolean = true\n export let cameraSize: number = 36\n export let cameraOffset: number = 28.5\n export let onFloorplanClick: ((clickData: ClickEventData) => void) | undefined = undefined\n export let locale: string\n export let styledFloorplanEnable = false\n\n let pxmm = 0\n let clientWidth = 0\n let clientHeight = 0\n let contentWidth = 0\n let contentHeight = 0\n\n $: styledFloor = styledFloorplanEnable\n ? floorplanData.styledFloorplan?.floors.find((floor) => floor.floorIndex === displayedFloorIndex)\n : undefined\n\n $: {\n const size = Math.min(clientWidth, clientHeight)\n const { max, min } = floorplanData.bounding\n const boundingWidth = max.x - min.x\n const boundingHeight = max.y - min.y\n const contentSize = (function getSize() {\n if (boundingWidth > boundingHeight) return [size, (size / boundingWidth) * boundingHeight]\n return [(size / boundingHeight) * boundingWidth, size]\n })()\n contentWidth = contentSize[0]\n contentHeight = contentSize[1]\n pxmm = contentWidth / boundingWidth\n }\n\n // Check if current floor has data (rooms)\n $: hasCurrentFloorData = Boolean(styledFloor) || floorplanData.floorDatas.find(floor => floor.floorIndex === displayedFloorIndex)?.rooms.length > 0\n\n /**\n * 处理户型图点击事件\n * 直接使用图像坐标,无需转换为世界坐标\n */\n function handleFloorplanClick(event: MouseEvent) {\n if (!clickEnable || !onFloorplanClick) return\n\n // 获取容器元素的边界矩形\n const containerElement = event.currentTarget as HTMLElement\n const rect = containerElement.getBoundingClientRect()\n \n // 计算相对于容器的点击坐标\n const clickX = event.clientX - rect.left\n const clickY = event.clientY - rect.top\n \n // 转换为归一化图像坐标 (0-1)\n const imageX = clickX / contentWidth\n const imageY = clickY / contentHeight\n \n // 构造点击事件数据 - 使用显示的楼层索引\n const clickData: ClickEventData = {\n imageX,\n imageY,\n floorIndex: displayedFloorIndex,\n originalEvent: event\n }\n \n // 调用回调函数\n onFloorplanClick(clickData)\n }\n</script>\n\n{#if visible}\n <div\n class=\"plugin-floorplan-radar\"\n use:svelteResizeObserver\n on:clientWidth={(e) => {\n clientWidth = e.detail\n }}\n on:clientHeight={(e) => {\n clientHeight = e.detail\n }}\n >\n {#if clientWidth !== 0}\n <div \n class:floorplan-guide-plugin__styled-realsee={Boolean(styledFloor)}\n class=\"plugin-floorplan-radar-container\"\n style:width=\"{contentWidth}px\" \n style:height=\"{contentHeight}px\"\n style:cursor={clickEnable ? 'pointer' : 'default'}\n on:click={handleFloorplanClick}\n >\n <CurrentFloor\n {...{\n five,\n pxmm,\n floorIndex: displayedFloorIndex,\n floorplanData,\n hoverEnable,\n extraObjects,\n highlightData,\n missingFloorImageUrl,\n missingFloorConfig,\n styledFloorplanEnable,\n }}\n />\n {#if hasCurrentFloorData}\n <ObserverDots\n {...{ floorplanData, floorIndex: displayedFloorIndex, contentWidth, contentHeight, observerDotSize }}\n />\n {#if roomLabelsEnable}\n <RoomLabels\n {...{\n floorplanData,\n floorIndex: displayedFloorIndex,\n roomNameEnable,\n roomNameOtherTypeEnable,\n roomAreaEnable,\n adaptiveRoomLabelVisibleEnable,\n getRoomAreaText,\n getLabelElement,\n locale,\n styledFloorplanEnable: Boolean(styledFloor),\n styledRoomLabels: styledFloor?.roomLabels,\n }}\n />\n {/if}\n {#if compassEnable && !styledFloor}\n <FloorplanCompass {...{ floorplanData, northDesc, containerWidth: contentWidth, containerHeight: contentHeight, height: compassHeight }} />\n {/if}\n {#if shouldShowRadar}\n <Camera\n {...{\n pxmm,\n five,\n floorplanData,\n cameraImageUrl,\n cameraSize,\n cameraOffset,\n }}\n />\n {/if}\n {/if}\n </div>\n {/if}\n </div>\n{/if}\n\n<style>\n .plugin-floorplan-radar {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .plugin-floorplan-radar-container {\n position: relative;\n }\n\n :global(.floorplan-guide-plugin__styled-realsee .floorplan-plugin__styled-image) {\n filter: drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff);\n }\n\n :global(.plugin-floorplan-radar-container.floorplan-guide-plugin__styled-realsee .floorplan-guide-plugin__room-label) {\n text-shadow: none;\n }\n\n :global(.plugin-floorplan-radar-container.floorplan-guide-plugin__styled-realsee .floorplan-guide-plugin__room-name),\n :global(.plugin-floorplan-radar-container.floorplan-guide-plugin__styled-realsee .floorplan-guide-plugin__room-area) {\n color: rgba(0, 0, 0, 0.85);\n }\n\n :global(.plugin-floorplan-radar-container.floorplan-guide-plugin__styled-realsee .floorplan-guide-plugin__room-area) {\n font-size: 10px;\n opacity: 1;\n }\n</style>\n","import { mountComponent, type MountedComponent } from '../../shared-utils/svelte/component.svelte'\nimport type { Five } from '@realsee/five-webgpu'\nimport type { BaseOptions } from '../../base/BasePlugin'\nimport type { FloorplanServerData } from '../typings/floorplanServerData'\nimport type { FloorplanExtraObject3D, FloorplanExtraObject } from '../typings/floorplanData'\nimport type { HighlightData } from '../typings'\nimport type { State, Config, EventMap, Parameters, PluginData, PluginServerData, ClickEventData } from './typing'\n\nimport Main from './Components/Main.svelte'\nimport { equal } from '../../shared-utils'\nimport { CAMERA_IMAGE_BIG_DOT } from '../Assets/camera'\nimport * as BasePlugin from '../../base/BasePluginWithData'\nimport formatData, { formatExtraObjects } from '../utils/formatData'\nimport type { PartialDeep } from 'type-fest'\nimport { FLOORPLAN_DEFAULT_IMAGE, replaceStaticPrefix } from '../../shared-utils'\n\nexport class Controller extends BasePlugin.Controller<State, EventMap, PluginServerData, PluginData> {\n // =============== public properties =================\n public name = 'floorplanGuidePlugin'\n public state: State\n // =============== protected properties =================\n protected data?: PluginData\n // =============== private properties =================\n private app?: MountedComponent<any>\n private wrapper: Element | null = null\n private disposed = false\n private extraObjects: FloorplanExtraObject[] = []\n private highlightData: HighlightData = {}\n private defaultMissingFloorConfig: Required<Config['missingFloorConfig']>\n\n public constructor(five: Five, params?: Parameters) { \n super(five)\n this.five = five\n // =============== init State ===============\n this.defaultMissingFloorConfig = {\n imageURL: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n imageWidth: 200,\n imageHeight: 120,\n text: params?.i18n?.('暂无平面图') ?? '暂无平面图',\n textFontSize: 14,\n }\n const baseConfig: Config = {\n locale: params?.locale ?? 'zh-CN',\n styledFloorplanEnable: false,\n hoverEnable: false,\n highlightEnable: false,\n cameraImageUrl: CAMERA_IMAGE_BIG_DOT,\n missingFloorImageUrl: replaceStaticPrefix(params?.staticPrefix, FLOORPLAN_DEFAULT_IMAGE),\n missingFloorConfig: {\n ...this.defaultMissingFloorConfig,\n ...params?.missingFloorConfig,\n },\n clickEnable: true,\n roomLabelsEnable: false,\n roomNameEnable: true,\n roomNameOtherTypeEnable: false,\n roomAreaEnable: true,\n adaptiveRoomLabelVisibleEnable: true,\n getRoomAreaText: (size) => (size / 1000000).toFixed(1) + '㎡',\n getLabelElement: undefined,\n compassEnable: false,\n northDesc: '北',\n compassHeight: 50,\n observerDotSize: 12,\n cameraSize: 36,\n cameraOffset: 28.5,\n i18n: params?.i18n || ((key) => key),\n }\n const config: Config = { ...baseConfig, ...params?.configs }\n this.state = { enabled: true, visible: true, config }\n // =============== init wrapper ===============\n // =============== init Listener ===============\n five.once('dispose', this.dispose)\n five.on('panoArrived', this.handlePanoArrived)\n }\n\n public dispose = () => {\n this.disposed = true\n this.app?.destroy()\n this.wrapper = null\n this.five.off('panoArrived', this.handlePanoArrived)\n this.hooks.emit('dispose')\n }\n\n public async load(serverData: PluginServerData | FloorplanServerData, state?: Partial<State>, userAction = true) {\n function isPluginServerData(serverData: object): serverData is PluginServerData {\n return Object.prototype.hasOwnProperty.apply(serverData, ['version'])\n }\n const copyData: PluginServerData | FloorplanServerData = JSON.parse(JSON.stringify(serverData))\n const _serverData = isPluginServerData(copyData) ? copyData.data : copyData\n const prevData = this.data\n this.data = await formatData(_serverData)\n\n this.hooks.emit('dataLoaded', this.data)\n this.hooks.emit('dataChange', this.data, prevData)\n\n if (state) this.updateState(state, userAction)\n\n this.render()\n }\n\n public async show(options: BaseOptions = {}) {\n // 已经展示完成了,不做任何操作\n if (this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: true }, userAction)\n this._show({ userAction })\n }\n\n public async hide(options: BaseOptions = {}) {\n if (!this.state.visible) return\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ visible: false }, userAction)\n this._hide({ userAction })\n }\n\n public enable(options: BaseOptions = {}) {\n if (this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: true }, options.userAction || userAction)\n this._enable({ userAction })\n }\n\n public disable(options: BaseOptions = {}) {\n if (!this.state.enabled) return\n\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState({ enabled: false }, options.userAction || userAction)\n this._disable({ userAction })\n }\n\n public highlight = (highlightData: HighlightData) => {\n if (!this.state.config.highlightEnable) return\n this.highlightData = highlightData\n this.render()\n }\n\n public unhighlight = () => {\n this.highlightData = {}\n this.render()\n }\n\n /** 更改插件 State */\n public setState(state: Partial<State>, options: BaseOptions = {}) {\n const prevState = this.state\n const userAction = options.userAction !== undefined ? options.userAction : true\n this.updateState(state, userAction)\n\n if (state.enabled !== undefined && prevState.enabled !== state.enabled) {\n const options = { userAction }\n state.enabled ? this._enable(options) : this._disable(options)\n }\n\n if (state.visible !== undefined && prevState.visible !== state.visible) {\n const options = { userAction }\n state.visible ? this._show(options) : this._hide(options)\n }\n }\n\n /** 把插件的渲染DOM插入到对应的容器中去 */\n public appendTo(wrapper: Element) {\n if (this.wrapper !== wrapper) {\n // wrapper 换了就得刷新app\n if (this.app) {\n this.app.destroy()\n this.app = undefined\n }\n }\n\n this.wrapper = wrapper\n this.render()\n }\n\n public changeConfigs(config: Config, userAction = true) {\n this.setState({ config }, { userAction })\n this.render()\n }\n\n public setExtraObjectsWith3DPositions(data: FloorplanExtraObject3D[]) {\n if (!this.data) return\n this.extraObjects = formatExtraObjects(data, this.five, this.data)\n this.render()\n }\n\n /**\n * 更改显示的楼层\n * @param floorIndex 要显示的楼层索引\n */\n public changeFloor(floorIndex: number) {\n if (!this.data) {\n console.warn('No floorplan data loaded')\n return\n }\n\n // 检查楼层索引是否有效\n if (floorIndex < 0 || floorIndex >= this.data.floorDatas.length) {\n console.warn(`Invalid floor index: ${floorIndex}. Available floors: 0-${this.data.floorDatas.length - 1}`)\n return\n }\n\n // 更新显示的楼层索引\n this.updateState({ displayedFloorIndex: floorIndex }, true)\n this.render()\n }\n\n /**\n * 处理户型图点击事件\n * 寻找距离点击位置最近的观察点,并移动到该点\n * @param clickData 点击事件数据\n */\n private handleFloorplanClick = (clickData: ClickEventData) => {\n // 获取户型图观察点数据\n const observers = this.data?.observers\n if (!observers || observers.length === 0) {\n console.warn('No floorplan observers found')\n return\n }\n\n // 点击的归一化图像坐标 (0-1)\n const clickImageX = clickData.imageX\n const clickImageY = clickData.imageY\n const clickFloorIndex = clickData.floorIndex\n let closestObserver = null\n let minDistance = Infinity\n\n // 遍历所有户型图观察点,找到距离最近的\n observers.forEach((observer) => {\n // 只考虑同一楼层的观察点\n if (observer.floorIndex !== clickFloorIndex) {\n return\n }\n\n // 直接在图像坐标系中计算距离\n const imagePosition = observer.positionInImage\n const observerImageX = imagePosition.x\n const observerImageY = imagePosition.y\n \n // 计算归一化图像坐标系中的距离\n const distance = Math.sqrt(\n Math.pow(clickImageX - observerImageX, 2) + \n Math.pow(clickImageY - observerImageY, 2)\n )\n\n if (distance < minDistance) {\n minDistance = distance\n closestObserver = {\n panoIndex: observer.index, // 使用observer.index作为panoIndex\n distance,\n observer\n }\n }\n })\n\n if (closestObserver) {\n // 先触发 wantsToMoveToPano 事件,让 ObserverDots 组件能够响应\n const canceled = this.five.emit('wantsToMoveToPano', closestObserver.panoIndex, {}, true)\n if (!canceled) {\n // 移动到最近的观察点\n this.five.moveToPano(closestObserver.panoIndex)\n }\n } else {\n console.warn('No suitable observer found on the same floor')\n }\n }\n\n protected async formatData(serverData: PluginServerData) {\n return await formatData(serverData.data)\n }\n\n private _enable(options: { userAction: boolean }) {\n const { userAction } = options\n this.hooks.emit('enable', { userAction })\n if (this.state.visible) this._show({ userAction })\n }\n\n private _disable = (options: { userAction: boolean }) => {\n const { userAction } = options\n this.app?.destroy()\n this.app = undefined\n this.hooks.emit('disable', { userAction })\n }\n\n private _show(options: { userAction: boolean }) {\n if (this.disposed) return\n if (!this.state.enabled) return\n const { userAction } = options\n this.hooks.emit('show', { userAction })\n this.render()\n }\n\n private _hide(options: { userAction: boolean }) {\n if (this.disposed) return\n if (!this.state.enabled) return\n const { userAction } = options\n this.hooks.emit('hide', { userAction })\n this.render()\n }\n\n private updateState(state: PartialDeep<State>, userAction: boolean) {\n const prevState = this.state\n const missingFloorConfig = state.config?.missingFloorConfig\n ? { ...prevState.config.missingFloorConfig, ...state.config.missingFloorConfig }\n : prevState.config.missingFloorConfig\n const config = state.config ? { ...prevState.config, ...state.config, missingFloorConfig } : prevState.config\n this.state = { ...this.state, ...state, config }\n if (equal(this.state, prevState, { deep: true })) return\n this.hooks.emit('stateChange', { state: this.state, prevState, userAction })\n }\n\n private render() {\n if (this.disposed) return\n if (!this.state.enabled) return\n\n if (!this.data || !this.wrapper) return\n\n // 获取当前 Five 的楼层索引\n const currentFiveFloorIndex = this.five.work.observers[this.five.getCurrentState().panoIndex]?.floorIndex ?? 0\n \n // 获取要显示的楼层索引(优先使用设置的 displayedFloorIndex,否则使用 Five 的当前楼层)\n const displayedFloorIndex = this.state.displayedFloorIndex !== undefined ? this.state.displayedFloorIndex : currentFiveFloorIndex\n \n // 判断是否显示雷达(只有当显示的楼层与 Five 当前楼层相同时才显示)\n const shouldShowRadar = displayedFloorIndex === currentFiveFloorIndex\n\n const props = {\n ...this.state.config,\n five: this.five,\n floorplanData: this.data,\n visible: this.state.visible,\n extraObjects: this.extraObjects,\n highlightData: this.highlightData,\n displayedFloorIndex,\n shouldShowRadar,\n cameraSize: this.state.config.cameraSize || 36,\n cameraOffset: this.state.config.cameraOffset || 28.5,\n onFloorplanClick: this.state.config.clickEnable ? this.handleFloorplanClick : undefined,\n }\n this.app ? this.app.update(props) : (this.app = mountComponent(Main, this.wrapper, props))\n }\n\n private handlePanoArrived = () => {\n // 当 Five 自然移动到新的全景图时,重置 displayedFloorIndex\n const currentFiveFloorIndex = this.five.work.observers[this.five.getCurrentState().panoIndex]?.floorIndex ?? 0\n this.updateState({ displayedFloorIndex: currentFiveFloorIndex }, true)\n this.render()\n }\n}\n","import type { Parameters } from './typing'\nimport type { FivePlugin } from '@realsee/five-webgpu'\n\nimport { Controller } from './Controller'\n\nexport const FloorplanGuidePlugin: FivePlugin<Parameters | undefined, Controller> = (five, params) => {\n return new Controller(five, params)\n}\n\nexport type FloorplanGuidePluginParameterType = Parameters | undefined\nexport type FloorplanGuidePluginReturnType = InstanceType<typeof Controller>\nexport default FloorplanGuidePlugin\n","/** 房屋数据映射表 */\nexport const ROOM_FETILE_TYPE_MAP = [\n { type: 0, floorType: 1, roomType: '100900000012', name: '其他' },\n { type: 1, floorType: 1, roomType: '100900000002', name: '客厅' },\n { type: 2, floorType: 1, roomType: '100900000002', name: '餐厅' },\n { type: 3, floorType: 0, roomType: '100900000001', name: '卧室' },\n { type: 4, floorType: 0, roomType: '100900000001', name: '书房' },\n { type: 5, floorType: 3, roomType: '100900000004', name: '卫生间' },\n { type: 6, floorType: 3, roomType: '100900000004', name: '淋浴间' },\n { type: 7, floorType: 3, roomType: '100900000004', name: '洗手间' },\n { type: 8, floorType: 3, roomType: '100900000003', name: '厨房' },\n {\n type: 9,\n floorType: 1,\n roomType: '100900000003',\n name: '开放厨房',\n onlySubArea: true,\n },\n { type: 10, floorType: 0, roomType: '100900000001', name: '多功能间' },\n { type: 11, floorType: 0, roomType: '100900000009', name: '保姆间' },\n { type: 12, floorType: 4, roomType: '100900000005', name: '阳台' },\n { type: 13, floorType: 4, roomType: '100900000006', name: '露台' },\n { type: 14, floorType: 0, roomType: '100900000008', name: '储物间' },\n { type: 15, floorType: 0, roomType: '100900000013', name: '衣帽间' },\n { type: 16, floorType: 0, roomType: '100900000011', name: '阁楼' },\n { type: 17, floorType: 2, roomType: '100900000007', name: '花园' },\n { type: 18, floorType: 5, roomType: '100900000010', name: '车库' },\n { type: 19, floorType: 1, roomType: '100900000012', name: '电梯' },\n { type: 20, floorType: 1, roomType: '100900000012', name: '地下室' },\n { type: 21, floorType: 1, roomType: '100900000012', name: '天井' },\n { type: 22, floorType: 1, roomType: '100900000012', name: '阳光房' },\n { type: 23, floorType: 1, roomType: '100900000012', name: '过道' },\n { type: 24, floorType: 1, roomType: '100900000012', name: '楼梯间' },\n { type: 25, floorType: 1, roomType: '100900000012', name: '门厅' },\n { type: 26, floorType: 2, roomType: '100900000012', name: '入户花园' },\n { type: 27, floorType: 1, roomType: '100900000012', name: '玄关' },\n { type: 28, floorType: 1, roomType: '100900000012', name: '挑空' },\n { type: 29, floorType: 4, roomType: '100900000012', name: '晾晒区' },\n { type: 30, floorType: 4, roomType: '100900000012', name: '洗衣房' },\n { type: 31, floorType: 0, roomType: '100900000012', name: '娱乐区' },\n { type: 32, floorType: 0, roomType: '100900000012', name: '健身区' },\n { type: 33, floorType: 0, roomType: '100900000012', name: '接待区' },\n { type: 34, floorType: 0, roomType: '100900000012', name: '影音区' },\n { type: 35, floorType: 1, roomType: '100900000012', name: '餐饮区' },\n {\n type: 36,\n floorType: 1,\n roomType: '100900000012',\n name: '其他',\n onlySubArea: true,\n },\n { type: 37, floorType: 1, roomType: '100900000002', name: '起居室' },\n { type: 38, floorType: 0, roomType: '100900000001', name: '主卧' },\n { type: 39, floorType: 0, roomType: '100900000001', name: '次卧' },\n { type: 40, floorType: 0, roomType: '100900000001', name: '优化间' },\n { type: 41, floorType: 0, roomType: '100900000001', name: '办公室' },\n { type: 42, floorType: 0, roomType: '100900000001', name: '会议室' },\n { type: 43, floorType: 0, roomType: '100900000001', name: '洽谈间' },\n { type: 44, floorType: 1, roomType: '100900000002', name: '共享大厅' },\n { type: 45, floorType: 1, roomType: '100900000012', name: '水吧' },\n { type: 46, floorType: 0, roomType: '100900000015', name: '出入口' },\n { type: 47, floorType: 0, roomType: '100900000015', name: '大厅' },\n { type: 48, floorType: 0, roomType: '100900000015', name: '包厢' },\n { type: 49, floorType: 0, roomType: '100900000015', name: '其他' },\n { type: 50, floorType: 0, roomType: '100900000016', name: '出入口' },\n { type: 51, floorType: 0, roomType: '100900000016', name: '办公区' },\n { type: 52, floorType: 0, roomType: '100900000016', name: '老板间' },\n { type: 53, floorType: 0, roomType: '100900000016', name: '会议室' },\n { type: 54, floorType: 0, roomType: '100900000016', name: '休息区/水吧' },\n { type: 55, floorType: 0, roomType: '100900000016', name: '其他' },\n { type: 56, floorType: 2, roomType: '100900000012', name: '空中花园' },\n { type: 57, floorType: 0, roomType: '100900000001', name: '洋室' },\n { type: 58, floorType: 0, roomType: '100900000001', name: '和室' },\n]\n\n/** 地板信息映射表 */\nexport const FLOOR_TYPE_MAP = [\n { type: 0, description: '木质地板' },\n { type: 1, description: '瓷砖地面' },\n { type: 2, description: '户外地面' },\n { type: 3, description: '卫生间地面' },\n { type: 4, description: '阳台地面' },\n { type: 5, description: '车库地面' },\n]\n\n/** 房屋类型映射表 */\nexport const ROOM_TYPE_MAP = [\n { roomType: '100900000001', description: '室' },\n { roomType: '100900000002', description: '厅' },\n { roomType: '100900000003', description: '厨' },\n { roomType: '100900000004', description: '卫' },\n { roomType: '100900000005', description: '阳台' },\n { roomType: '100900000006', description: '露台' },\n { roomType: '100900000007', description: '花园' },\n { roomType: '100900000008', description: '储' },\n { roomType: '100900000009', description: '保姆间' },\n { roomType: '100900000010', description: '车库' },\n { roomType: '100900000011', description: '阁楼' },\n { roomType: '100900000012', description: '其他' },\n { roomType: '100900000013', description: '衣' },\n { roomType: '100900000015', description: '商铺' },\n { roomType: '100900000016', description: '写字楼' },\n]\n\n/** 户型图坐标,坐标原点时户型图中心点,单位是户型图单位 */\nexport interface FloorplanServerPosition {\n x: number\n y: number\n}\n\n/** 户型图图片坐标,坐标原点是图片左上角,取值范围是 [0, 1],表示距离左上角的相对距离 */\nexport interface FloorplanServerImagePosition {\n x: number\n y: number\n}\n\nexport type FloorplanServerAffineTransform = [number, number, number, number, number, number]\n\nexport interface FloorplanServerStyledImage {\n url: string\n checksum: string\n width: number\n height: number\n floorplan_to_image: FloorplanServerAffineTransform\n}\n\nexport interface FloorplanServerStyledFloorplan {\n version: 1\n floors: Array<{\n floor_index: number\n guide: FloorplanServerStyledImage\n mini_map_fill: FloorplanServerStyledImage\n room_labels: Array<{\n room_id: string\n names?: Record<string, string>\n position: FloorplanServerPosition\n position_in_image: FloorplanServerImagePosition\n }>\n }>\n}\n\n/** 户型图线框图 */\nexport interface FloorplanServerOutlineItem {\n url: string\n index: number\n checksum?: string\n svg_url?: string\n styled?: {\n version: 1\n guide: Pick<FloorplanServerStyledImage, 'url' | 'checksum'>\n mini_map_fill: Pick<FloorplanServerStyledImage, 'url' | 'checksum'>\n }\n}\n\n/** 户型图入户门 */\nexport interface FloorplanServerEntrance {\n /** 入户门角度 */\n rad: number\n /** 入户门所在的位置「户型图坐标系」 */\n position: FloorplanServerPosition\n /** 入户门在户型图上相对坐标 */\n position_in_image: FloorplanServerImagePosition\n /** 入户门与北的朝向 */\n north_rad: number\n /** 入户门所在房间 ID */\n room_id: string\n /** 入户门所楼层 */\n floor_index: number\n}\n\n/** 户型图 FloorplanServerBounding\n * @description 坐标都是户型图坐标\n */\nexport interface FloorplanServerBounding {\n /** 户型图在 X 和 Y 轴上的最大值 */\n max: FloorplanServerPosition\n /** 户型图在 X 和 Y 轴上的最小值 */\n min: FloorplanServerPosition\n /** 户型图的中心位置 */\n origin: FloorplanServerPosition\n}\n\n/** 户型图房屋标签 */\nexport interface FloorplanServerRoomLabelItem {\n /** 房间的中心点坐标 */\n position: FloorplanServerPosition\n /** 房间的中心在户型图上的相对位置 */\n position_in_image: FloorplanServerImagePosition\n}\n\n/** 户型图房间数据 */\nexport interface FloorplanServerRoomItem {\n id: string\n /** 房间面积\n * @description 单位是平方毫米\n */\n size: number\n /** 房屋类型\n * @description 对应关系参考上方 ROOM_DETAILS_TYPE_MAP\n */\n type: number\n name: string\n /* 分间别名 */\n customizedName?: string\n /** 围成房间区域的坐标路径\n * @description 坐标类型是户型图坐标\n */\n path: FloorplanServerPosition[]\n /** 房屋类型\n * @description 对应关系参考上方 ROOM_TYPE_MAP\n */\n room_type: string\n /** 地板类型\n * @description 对应关系参考上方 FLOOR_TYPE_MAP\n */\n floor_type: number\n room_label: FloorplanServerRoomLabelItem\n /** 当前房间里的 observer 索引 */\n observer_indexs: number[]\n /** 当前房间的尺寸 */\n dimension?: {\n /** 房间宽度 */\n width: number\n /** 房间高度 */\n height: number\n }\n}\n\nexport type FloorplanServerRuleLabels = Record<'top' | 'right' | 'bottom' | 'left', FloorplanServerPosition[][]>\n\n/** 当前楼层的数据 */\nexport interface FloorplanServerFloorData {\n floor_name: string\n floor_index: number\n rooms: FloorplanServerRoomItem[]\n rules: FloorplanServerRuleLabels\n /** 是否存在墙线 */\n is_has_wall?: boolean\n}\n\n/** 对 observer 做一些样式上的计算\n * @description 每一个 FloorplanServer_observer 对应一个 observer\n * @description FloorplanServer_observer 和 observer 在自身数组中的索引坐标应该是相同的\n */\nexport interface FloorplanServerObserver {\n index: number\n floor_index: number\n position: FloorplanServerPosition\n position_in_image: FloorplanServerImagePosition\n styled_floorplan_position_in_image?: {\n guide: FloorplanServerImagePosition\n mini_map_fill: FloorplanServerImagePosition\n }\n}\n\nexport interface FloorplanServerDoorPosition {\n x: number\n y: number\n z: number\n}\n\nexport interface FloorplanServerDoorItem {\n id: string\n localName: string\n name: string\n position: FloorplanServerDoorPosition\n rad: number\n}\n\nexport interface FloorplanServerComputedData {\n floor_datas: FloorplanServerFloorData[]\n entrance: FloorplanServerEntrance | null\n bounding: FloorplanServerBounding\n observers: FloorplanServerObserver[]\n doors: FloorplanServerDoorItem[]\n}\n\n/** 原始输入的户型图数据 */\nexport interface FloorplanServerData {\n outlines: FloorplanServerOutlineItem[]\n computed_data: FloorplanServerComputedData\n styled_floorplan?: FloorplanServerStyledFloorplan\n}\n"],"mappings":"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"}