@realsee/dnalogel 2.24.0 → 2.24.2

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 (328) hide show
  1. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +1 -0
  2. package/dist/PanoMeasurePlugin/Model/area.d.ts +1 -1
  3. package/dist/PanoMeasurePlugin/typings/index.d.ts +4 -0
  4. package/dist/PanoTagPlugin/utils/model/mediaPlane.d.ts +1 -0
  5. package/dist/index.cjs.js +23 -23
  6. package/dist/index.js +366 -343
  7. package/dist/index.umd.js +29 -29
  8. package/docs/assets/search.js +1 -1
  9. package/docs/classes/CSS3DRender.html +30 -30
  10. package/docs/classes/CruisePluginController.html +25 -25
  11. package/docs/classes/GuideLineItem.GuideLineItem.html +19 -19
  12. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +34 -34
  13. package/docs/classes/Magnifier.html +19 -19
  14. package/docs/classes/ModelRoomLabelController.html +10 -10
  15. package/docs/classes/Object3DHelperController.html +24 -24
  16. package/docs/classes/PaintBrush.html +14 -14
  17. package/docs/classes/PanoMeasurePluginLine.html +26 -26
  18. package/docs/classes/PanoMeasurePluginModel.html +26 -26
  19. package/docs/classes/PanoMeasurePluginPoint.html +13 -13
  20. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  21. package/docs/classes/PanoTagPluginController.html +46 -46
  22. package/docs/classes/Util.BetterTween.html +8 -8
  23. package/docs/classes/Util.Interval.html +11 -11
  24. package/docs/classes/Util.Magnifier.html +19 -19
  25. package/docs/classes/Util.PointDomHelper.html +10 -10
  26. package/docs/classes/Util.PointHelper.html +10 -10
  27. package/docs/classes/Util.PointSelectorHelper.html +15 -15
  28. package/docs/classes/Util.Rectangle.html +12 -12
  29. package/docs/enums/CameraMovementEffect.html +6 -6
  30. package/docs/enums/ContentType.html +19 -19
  31. package/docs/enums/DIRECTION.html +8 -8
  32. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +8 -8
  33. package/docs/enums/DimensionType.html +6 -6
  34. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +7 -7
  35. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +8 -8
  36. package/docs/enums/PaintBrushTypeEnum.html +7 -7
  37. package/docs/enums/PointType.html +6 -6
  38. package/docs/enums/Rotation.html +7 -7
  39. package/docs/functions/CSS3DRenderPlugin.html +3 -3
  40. package/docs/functions/CameraMovementPlugin.html +3 -3
  41. package/docs/functions/CruisePlugin.html +3 -3
  42. package/docs/functions/GuideLinePlugin.html +4 -4
  43. package/docs/functions/ItemLabelPlugin.html +3 -3
  44. package/docs/functions/MapviewFloorplanPlugin.html +3 -3
  45. package/docs/functions/ModelChassisCompassPlugin.html +3 -3
  46. package/docs/functions/ModelEntryDoorGuidePlugin.html +3 -3
  47. package/docs/functions/ModelFloorplanPlugin.html +3 -3
  48. package/docs/functions/ModelItemLabelPlugin.html +3 -3
  49. package/docs/functions/ModelRoomLabelPlugin.html +3 -3
  50. package/docs/functions/ModelTVVideoPlugin.html +3 -3
  51. package/docs/functions/ModelViewPlugin.html +3 -3
  52. package/docs/functions/Object3DHelperPlugin.html +3 -3
  53. package/docs/functions/PanoCompassPlugin.html +3 -3
  54. package/docs/functions/PanoCursorRaycasterPlugin.html +3 -3
  55. package/docs/functions/PanoDoorLabelPlugin.html +3 -3
  56. package/docs/functions/PanoFloorplanRadarPlugin.html +3 -3
  57. package/docs/functions/PanoMeasurePlugin.html +3 -3
  58. package/docs/functions/PanoRulerPlugin.html +3 -3
  59. package/docs/functions/PanoRulerProPlugin.html +3 -3
  60. package/docs/functions/PanoSpatialTagPlugin.html +3 -3
  61. package/docs/functions/PanoTagPlugin.html +3 -3
  62. package/docs/functions/PanoVideoPlugin.html +3 -3
  63. package/docs/functions/TopviewFloorplanPlugin.html +3 -3
  64. package/docs/functions/Util.absoluteUrl.html +4 -4
  65. package/docs/functions/Util.getCoordsFromClient.html +4 -4
  66. package/docs/functions/Util.getCoordsFromElement.html +4 -4
  67. package/docs/functions/Util.getFrameTime.html +4 -4
  68. package/docs/functions/Util.getIntersectFromRelativePosition.html +4 -4
  69. package/docs/functions/Util.getRaycasterFromFivePointer.html +4 -4
  70. package/docs/functions/Util.isAbsoluteURL.html +4 -4
  71. package/docs/functions/Util.isModelLike.html +4 -4
  72. package/docs/functions/Util.isNil.html +4 -4
  73. package/docs/functions/Util.isPanoramaLike.html +4 -4
  74. package/docs/functions/Util.nextFrame.html +4 -4
  75. package/docs/functions/Util.notNil.html +4 -4
  76. package/docs/functions/Util.requestAnimationFrameInterval.html +4 -4
  77. package/docs/functions/Util.tweenProgress.html +4 -4
  78. package/docs/functions/Util.uuid.html +4 -4
  79. package/docs/functions/pluginFlag.html +4 -4
  80. package/docs/index.html +4 -4
  81. package/docs/interfaces/AddTagConfig.html +5 -5
  82. package/docs/interfaces/CSS3DRenderPluginEventMap.html +10 -10
  83. package/docs/interfaces/CSS3DRenderPluginState.html +7 -7
  84. package/docs/interfaces/CameraMovementPluginExportType.html +6 -6
  85. package/docs/interfaces/CruisePluginTypes.Config.html +7 -7
  86. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +11 -11
  87. package/docs/interfaces/CruisePluginTypes.EventMap.html +19 -19
  88. package/docs/interfaces/CruisePluginTypes.MoveAction.html +11 -11
  89. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +13 -13
  90. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +13 -13
  91. package/docs/interfaces/CruisePluginTypes.PluginData.html +8 -8
  92. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +6 -6
  93. package/docs/interfaces/CruisePluginTypes.PluginState.html +10 -10
  94. package/docs/interfaces/EventMap.html +14 -14
  95. package/docs/interfaces/FloorplanBounding.html +7 -7
  96. package/docs/interfaces/FloorplanData.html +9 -9
  97. package/docs/interfaces/FloorplanEntrance.html +10 -10
  98. package/docs/interfaces/FloorplanExtraObject.html +9 -9
  99. package/docs/interfaces/FloorplanExtraObject3D.html +7 -7
  100. package/docs/interfaces/FloorplanFloorData.html +8 -8
  101. package/docs/interfaces/FloorplanImagePosition.html +6 -6
  102. package/docs/interfaces/FloorplanObserver.html +8 -8
  103. package/docs/interfaces/FloorplanOutlineItem.html +8 -8
  104. package/docs/interfaces/FloorplanPosition.html +6 -6
  105. package/docs/interfaces/FloorplanRoomItem.html +12 -12
  106. package/docs/interfaces/FloorplanRoomLabelItem.html +6 -6
  107. package/docs/interfaces/FloorplanServerBounding.html +7 -7
  108. package/docs/interfaces/FloorplanServerComputedData.html +9 -9
  109. package/docs/interfaces/FloorplanServerData.html +6 -6
  110. package/docs/interfaces/FloorplanServerDoorItem.html +9 -9
  111. package/docs/interfaces/FloorplanServerDoorPosition.html +7 -7
  112. package/docs/interfaces/FloorplanServerEntrance.html +10 -10
  113. package/docs/interfaces/FloorplanServerFloorData.html +8 -8
  114. package/docs/interfaces/FloorplanServerImagePosition.html +6 -6
  115. package/docs/interfaces/FloorplanServerObserver.html +8 -8
  116. package/docs/interfaces/FloorplanServerOutlineItem.html +8 -8
  117. package/docs/interfaces/FloorplanServerPosition.html +6 -6
  118. package/docs/interfaces/FloorplanServerRoomItem.html +13 -13
  119. package/docs/interfaces/FloorplanServerRoomLabelItem.html +6 -6
  120. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +7 -7
  121. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +9 -9
  122. package/docs/interfaces/GuideLinePluginType.EventMap.html +12 -12
  123. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +7 -7
  124. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +5 -5
  125. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +12 -12
  126. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +7 -7
  127. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +17 -17
  128. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +6 -6
  129. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +17 -17
  130. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +4 -4
  131. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +6 -6
  132. package/docs/interfaces/GuideLinePluginType.PluginState.html +7 -7
  133. package/docs/interfaces/GuideLinePluginType.Route.html +10 -10
  134. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +8 -8
  135. package/docs/interfaces/HelperOffset.html +7 -7
  136. package/docs/interfaces/ImagePlaneGroup.html +5 -5
  137. package/docs/interfaces/ItemLabelPluginData.html +5 -5
  138. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +10 -10
  139. package/docs/interfaces/ItemLabelPluginParametersType.html +8 -8
  140. package/docs/interfaces/MinMax.html +6 -6
  141. package/docs/interfaces/ModelChassisCompassPluginData.html +6 -6
  142. package/docs/interfaces/ModelChassisCompassPluginExportType.html +7 -7
  143. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +6 -6
  144. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +7 -7
  145. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +7 -7
  146. package/docs/interfaces/ModelItemLabelPluginData.html +5 -5
  147. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +10 -10
  148. package/docs/interfaces/ModelItemLabelPluginParametersType.html +6 -6
  149. package/docs/interfaces/ModelRoomLabelPluginData.html +5 -5
  150. package/docs/interfaces/ModelTVVideoPluginData.html +8 -8
  151. package/docs/interfaces/ModelTVVideoPluginExportType.html +7 -7
  152. package/docs/interfaces/ModelTVVideoPluginParameterType.html +5 -5
  153. package/docs/interfaces/ModelViewPluginExportType.html +10 -10
  154. package/docs/interfaces/Object3DHelperState.html +7 -7
  155. package/docs/interfaces/ObjectHelperControllers.html +8 -8
  156. package/docs/interfaces/PaintBrushAction.html +11 -11
  157. package/docs/interfaces/PaintBrushConfigs.html +11 -11
  158. package/docs/interfaces/PaintBrushState.html +9 -9
  159. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +9 -9
  160. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +4 -4
  161. package/docs/interfaces/PanoMeasureParameterType.html +42 -17
  162. package/docs/interfaces/PanoMeasurePluginLineJson.html +7 -7
  163. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +6 -6
  164. package/docs/interfaces/PanoMeasurePluginPointJson.html +6 -6
  165. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +7 -7
  166. package/docs/interfaces/PanoRulerPluginExportType.html +9 -9
  167. package/docs/interfaces/PanoRulerPluginOptions.html +6 -6
  168. package/docs/interfaces/PanoRulerPluginParameterType.html +7 -7
  169. package/docs/interfaces/PanoRulerProPluginExportType.html +8 -8
  170. package/docs/interfaces/PanoRulerProPluginOptions.html +6 -6
  171. package/docs/interfaces/PanoRulerProPluginParameterType.html +6 -6
  172. package/docs/interfaces/PanoRulerProPluginState.html +7 -7
  173. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +4 -4
  174. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +4 -4
  175. package/docs/interfaces/PanoSpatialTagPluginData.html +10 -10
  176. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +9 -9
  177. package/docs/interfaces/PanoSpatialTagPluginExportType.html +12 -12
  178. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +9 -9
  179. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +12 -12
  180. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +10 -10
  181. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +9 -9
  182. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +5 -5
  183. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +7 -7
  184. package/docs/interfaces/PanoVideoPluginType.PluginData.html +5 -5
  185. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +8 -8
  186. package/docs/interfaces/PanoVideoPluginType.PluginState.html +5 -5
  187. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +7 -7
  188. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +9 -9
  189. package/docs/interfaces/Point.html +7 -7
  190. package/docs/interfaces/Room.html +8 -8
  191. package/docs/interfaces/RoomInfo.html +6 -6
  192. package/docs/interfaces/RoomLabel.html +13 -13
  193. package/docs/interfaces/RoomRules.html +4 -4
  194. package/docs/interfaces/Rooms.html +4 -4
  195. package/docs/interfaces/Scissor.html +8 -8
  196. package/docs/interfaces/State.html +7 -7
  197. package/docs/interfaces/TagCacheInterface.html +11 -11
  198. package/docs/interfaces/TagConfig.html +12 -12
  199. package/docs/interfaces/TagGLTFObjectGroup.html +5 -5
  200. package/docs/interfaces/TagIconUrl.html +11 -11
  201. package/docs/interfaces/TagObjectGroup.html +5 -5
  202. package/docs/interfaces/TagStyle.html +5 -5
  203. package/docs/interfaces/Tags.html +8 -8
  204. package/docs/interfaces/TemporaryState.html +5 -5
  205. package/docs/interfaces/Util.MagnifierParameter.html +10 -10
  206. package/docs/interfaces/Util.MouseGroupParameter.html +7 -7
  207. package/docs/interfaces/Util.PointIntersection.html +7 -7
  208. package/docs/modules/CruisePluginTypes.html +4 -4
  209. package/docs/modules/GuideLineItem.html +4 -4
  210. package/docs/modules/GuideLineModeItem.html +4 -4
  211. package/docs/modules/GuideLinePluginType.html +4 -4
  212. package/docs/modules/PanoVideoPluginType.html +4 -4
  213. package/docs/modules/Util.html +4 -4
  214. package/docs/modules.html +4 -4
  215. package/docs/types/ArrayPosition.html +4 -4
  216. package/docs/types/AudioAppearance.html +4 -4
  217. package/docs/types/AudioTagTypeConfigKey.html +4 -4
  218. package/docs/types/CSS3DRenderExportType.html +4 -4
  219. package/docs/types/CSS3DRenderPluginExportType.html +4 -4
  220. package/docs/types/CSS3DRenderPluginParameterType.html +4 -4
  221. package/docs/types/ClassFunctionParameters.html +4 -4
  222. package/docs/types/Color.html +4 -4
  223. package/docs/types/ContentTypeConfigKey.html +4 -4
  224. package/docs/types/ContentTypeConfigKeySplit.html +4 -4
  225. package/docs/types/ContentTypeMap.html +4 -4
  226. package/docs/types/Create3DDomContainerReturnType.html +4 -4
  227. package/docs/types/Create3DElementReturnType.html +4 -4
  228. package/docs/types/CruisePluginExportType.html +4 -4
  229. package/docs/types/CruisePluginTypes.CruiseData.html +4 -4
  230. package/docs/types/CruisePluginTypes.MoveEffect.html +4 -4
  231. package/docs/types/DeprecatedMediaPlaneProperty.html +4 -4
  232. package/docs/types/DeprecatedTagProperty.html +4 -4
  233. package/docs/types/Direction-1.html +4 -4
  234. package/docs/types/Direction4.html +4 -4
  235. package/docs/types/ElementRenderer.html +4 -4
  236. package/docs/types/FloorplanRuleLabels.html +4 -4
  237. package/docs/types/FloorplanServerRuleLabels.html +4 -4
  238. package/docs/types/GuideLinePluginExportType.html +4 -4
  239. package/docs/types/GuideLinePluginType.GuideLineItem.html +4 -4
  240. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +4 -4
  241. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +4 -4
  242. package/docs/types/GuideLinePluginType.GuideLineStyle.html +4 -4
  243. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +4 -4
  244. package/docs/types/GuideLinePluginType.PathItem.html +4 -4
  245. package/docs/types/GuideLinePluginType.PluginData.html +4 -4
  246. package/docs/types/HelperEventMap.html +4 -4
  247. package/docs/types/LoadTagConfig.html +4 -4
  248. package/docs/types/MapviewFloorplanPluginParameterType.html +4 -4
  249. package/docs/types/MapviewFloorplanPluginReturnType.html +4 -4
  250. package/docs/types/MediaData.html +4 -4
  251. package/docs/types/MediaStore.html +4 -4
  252. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +4 -4
  253. package/docs/types/ModelFloorplanPluginParameterType.html +4 -4
  254. package/docs/types/ModelFloorplanPluginReturnType.html +4 -4
  255. package/docs/types/ModelRoomLabelPluginParameters.html +4 -4
  256. package/docs/types/ModelRoomLabelPluginReturnType.html +4 -4
  257. package/docs/types/MoveArgs.html +4 -4
  258. package/docs/types/MoveOpts.html +4 -4
  259. package/docs/types/Object3DHelperEventMap.html +4 -4
  260. package/docs/types/ObjectFit.html +4 -4
  261. package/docs/types/PaintBrushEventMap.html +4 -4
  262. package/docs/types/PanoCompassPluginData.html +4 -4
  263. package/docs/types/PanoCompassPluginExportType.html +4 -4
  264. package/docs/types/PanoCompassPluginParameterType.html +4 -4
  265. package/docs/types/PanoFloorplanRadarPluginParameterType.html +4 -4
  266. package/docs/types/PanoFloorplanRadarPluginReturnType.html +4 -4
  267. package/docs/types/PanoIndex.html +4 -4
  268. package/docs/types/PanoMeasurePluginEvent.html +4 -4
  269. package/docs/types/PanoMeasureReturnType.html +4 -4
  270. package/docs/types/PanoSpatialTagPluginId.html +4 -4
  271. package/docs/types/PanoTagPluginExportInterface.html +4 -4
  272. package/docs/types/PanoTagPluginParamsInterface.html +4 -4
  273. package/docs/types/PanoVideoPluginParameterType.html +4 -4
  274. package/docs/types/PanoVideoPluginReturnType.html +4 -4
  275. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +4 -4
  276. package/docs/types/PlaneTag.html +4 -4
  277. package/docs/types/Point2DTag.html +4 -4
  278. package/docs/types/Point3DTag.html +4 -4
  279. package/docs/types/PointTag.html +4 -4
  280. package/docs/types/PointTagInstance.html +4 -4
  281. package/docs/types/Position.html +4 -4
  282. package/docs/types/RotateArgs.html +4 -4
  283. package/docs/types/RotateOpts.html +4 -4
  284. package/docs/types/RuleLabelsKey.html +4 -4
  285. package/docs/types/RuleLabelsValue.html +4 -4
  286. package/docs/types/StickType.html +4 -4
  287. package/docs/types/Tag.html +4 -4
  288. package/docs/types/Tag2D.html +4 -4
  289. package/docs/types/Tag3D.html +4 -4
  290. package/docs/types/TagContentType.html +4 -4
  291. package/docs/types/TagDimensionType.html +4 -4
  292. package/docs/types/TagElement.html +4 -4
  293. package/docs/types/TagEvents.html +4 -4
  294. package/docs/types/TagGLTFObject.html +4 -4
  295. package/docs/types/TagHooks.html +4 -4
  296. package/docs/types/TagId.html +4 -4
  297. package/docs/types/TagInstance.html +4 -4
  298. package/docs/types/TagPointType.html +4 -4
  299. package/docs/types/TagRendererMap.html +4 -4
  300. package/docs/types/TopviewFloorplanPluginParameterType.html +4 -4
  301. package/docs/types/TopviewFloorplanPluginReturnType.html +4 -4
  302. package/docs/types/WorkCode.html +4 -4
  303. package/docs/variables/FLOOR_TYPE_MAP.html +4 -4
  304. package/docs/variables/PLUGIN.html +4 -4
  305. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +4 -4
  306. package/docs/variables/ROOM_TYPE_MAP.html +4 -4
  307. package/docs/variables/itemLabelPluginServerParams.html +4 -4
  308. package/docs/variables/modelItemLabelPluginServerParams.html +4 -4
  309. package/docs/variables/modelRoomLabelPluginServerParams.html +4 -4
  310. package/libs/PanoMeasurePlugin/Components/Controller0.js +32 -31
  311. package/libs/PanoMeasurePlugin/Components/Controller1.js +14 -13
  312. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +1 -0
  313. package/libs/PanoMeasurePlugin/Controller/BaseController.js +14 -7
  314. package/libs/PanoMeasurePlugin/Controller/EditController.js +12 -11
  315. package/libs/PanoMeasurePlugin/Controller/WatchController.js +74 -59
  316. package/libs/PanoMeasurePlugin/Controller/index.js +18 -17
  317. package/libs/PanoMeasurePlugin/Model/area.d.ts +1 -1
  318. package/libs/PanoMeasurePlugin/Model/area.js +51 -35
  319. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +14 -13
  320. package/libs/PanoMeasurePlugin/index.js +25 -24
  321. package/libs/PanoMeasurePlugin/typings/index.d.ts +4 -0
  322. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +47 -29
  323. package/libs/PanoTagPlugin/utils/model/mediaPlane.d.ts +1 -0
  324. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +83 -68
  325. package/libs/base/BasePlugin.js +1 -1
  326. package/libs/index.js +1 -1
  327. package/libs/shared-utils/logger.js +1 -1
  328. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- var uf = Object.defineProperty, ff = Object.defineProperties;
2
- var mf = Object.getOwnPropertyDescriptors;
1
+ var ff = Object.defineProperty, mf = Object.defineProperties;
2
+ var gf = Object.getOwnPropertyDescriptors;
3
3
  var il = Object.getOwnPropertySymbols;
4
- var gf = Object.prototype.hasOwnProperty, pf = Object.prototype.propertyIsEnumerable;
5
- var Ir = (i, t, e) => t in i ? uf(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, N = (i, t) => {
4
+ var pf = Object.prototype.hasOwnProperty, Af = Object.prototype.propertyIsEnumerable;
5
+ var Ir = (i, t, e) => t in i ? ff(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, N = (i, t) => {
6
6
  for (var e in t || (t = {}))
7
- gf.call(t, e) && Ir(i, e, t[e]);
7
+ pf.call(t, e) && Ir(i, e, t[e]);
8
8
  if (il)
9
9
  for (var e of il(t))
10
- pf.call(t, e) && Ir(i, e, t[e]);
10
+ Af.call(t, e) && Ir(i, e, t[e]);
11
11
  return i;
12
- }, Ae = (i, t) => ff(i, mf(t));
12
+ }, Ae = (i, t) => mf(i, gf(t));
13
13
  var f = (i, t, e) => (Ir(i, typeof t != "symbol" ? t + "" : t, e), e);
14
14
  var U = (i, t, e) => new Promise((n, s) => {
15
15
  var o = (l) => {
@@ -27,19 +27,19 @@ var U = (i, t, e) => new Promise((n, s) => {
27
27
  }, a = (l) => l.done ? n(l.value) : Promise.resolve(l.value).then(o, r);
28
28
  a((e = e.apply(i, t)).next());
29
29
  });
30
- import { Camera as Af, Subscribe as mt, Five as at } from "@realsee/five";
30
+ import { Camera as vf, Subscribe as mt, Five as at } from "@realsee/five";
31
31
  import * as E from "three";
32
- import { Vector3 as ie, Group as ri, Raycaster as bn, MeshBasicMaterial as rs, CanvasTexture as vf, AnimationMixer as bf, Color as bi, TextureLoader as ph, Vector2 as et, Object3D as Ah, Face3 as yf, PlaneGeometry as wf, sRGBEncoding as Cf, LinearFilter as Ur, Mesh as ts, CurvePath as If, LineCurve3 as Pf, TubeGeometry as Ef, ShaderMaterial as vh, SphereGeometry as kf, DoubleSide as bh, RingGeometry as Mf, Quaternion as Aa, Euler as sl, Matrix4 as Ji, VideoTexture as xf, Vector4 as Df, SphereBufferGeometry as Sf } from "three";
33
- import { CSS3DRenderer as Tf, CSS3DObject as Xr } from "three/examples/jsm/renderers/CSS3DRenderer";
32
+ import { Vector3 as ie, Group as ri, Raycaster as bn, MeshBasicMaterial as rs, CanvasTexture as bf, AnimationMixer as yf, Color as bi, TextureLoader as ph, Vector2 as et, Object3D as Ah, Face3 as wf, PlaneGeometry as Cf, sRGBEncoding as If, LinearFilter as Ur, Mesh as ts, CurvePath as Pf, LineCurve3 as Ef, TubeGeometry as kf, ShaderMaterial as vh, SphereGeometry as Mf, DoubleSide as bh, RingGeometry as xf, Quaternion as Aa, Euler as sl, Matrix4 as Ji, VideoTexture as Df, Vector4 as Sf, SphereBufferGeometry as Tf } from "three";
33
+ import { CSS3DRenderer as Lf, CSS3DObject as Xr } from "three/examples/jsm/renderers/CSS3DRenderer";
34
34
  import fs from "hammerjs";
35
35
  import { Line as yh } from "@realsee/five/line";
36
36
  import { FBXLoader as wh } from "three/examples/jsm/loaders/FBXLoader";
37
- import Lf from "earcut";
37
+ import jf from "earcut";
38
38
  import ol from "animejs";
39
- import { GLTFLoader as jf } from "@realsee/five/gltf-loader";
40
- function zf() {
39
+ import { GLTFLoader as zf } from "@realsee/five/gltf-loader";
40
+ function Of() {
41
41
  console.debug(
42
- "%c %c@realsee/dnalogel %cv2.24.0",
42
+ "%c %c@realsee/dnalogel %cv2.24.2",
43
43
  [
44
44
  "background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
45
45
  "background-repeat: no-repeat",
@@ -50,7 +50,7 @@ function zf() {
50
50
  "background-color: #12ce9b;color:black;padding:0 6px;border-radius: 3px"
51
51
  );
52
52
  }
53
- function Of() {
53
+ function Bf() {
54
54
  const i = typeof OffscreenCanvas != "undefined", t = i && new OffscreenCanvas(1, 1).getContext("webgl") !== null;
55
55
  i && !t && Object.assign(window, {
56
56
  OffscreenCanvas: function(e, n) {
@@ -64,7 +64,7 @@ function Ch() {
64
64
  const rl = () => Promise.resolve(), al = {
65
65
  __queue: Promise.resolve()
66
66
  };
67
- function Bf(i = rl) {
67
+ function Rf(i = rl) {
68
68
  al.__queue = al.__queue.then(i).catch(rl);
69
69
  }
70
70
  function Ts(i, t, e) {
@@ -84,14 +84,14 @@ function Ls(i) {
84
84
  };
85
85
  return { control: e, end: n };
86
86
  }
87
- function Rf(i, t, e = Ch) {
87
+ function Vf(i, t, e = Ch) {
88
88
  new Promise((n) => {
89
89
  setTimeout(() => {
90
90
  e(), n(!0);
91
91
  }, t * i);
92
92
  });
93
93
  }
94
- const Vf = window, ll = window.requestAnimationFrame || Vf.webkitRequestAnimationFrame || ((i) => setTimeout(i, 16));
94
+ const Qf = window, ll = window.requestAnimationFrame || Qf.webkitRequestAnimationFrame || ((i) => setTimeout(i, 16));
95
95
  function Js(i, t = 0) {
96
96
  t <= 0 ? ll(i) : ll(() => Js(i, t - 1));
97
97
  }
@@ -477,22 +477,22 @@ var jt = Object.freeze({
477
477
  typeof n == "string" ? this._valuesStartRepeat[t] = this._valuesStartRepeat[t] + parseFloat(n) : this._valuesStartRepeat[t] = this._valuesEnd[t], this._valuesEnd[t] = e;
478
478
  }, i;
479
479
  }()
480
- ), Qf = "20.0.3", Gf = va.nextId, Wt = Zr, Nf = Wt.getAll.bind(Wt), Hf = Wt.removeAll.bind(Wt), _f = Wt.add.bind(Wt), Ph = Wt.remove.bind(Wt), Wf = Wt.update.bind(Wt), cl = {
480
+ ), Gf = "20.0.3", Nf = va.nextId, Wt = Zr, Hf = Wt.getAll.bind(Wt), _f = Wt.removeAll.bind(Wt), Wf = Wt.add.bind(Wt), Ph = Wt.remove.bind(Wt), Ff = Wt.update.bind(Wt), cl = {
481
481
  Easing: jt,
482
482
  Group: Ih,
483
483
  Interpolation: Sn,
484
484
  now: ni,
485
485
  Sequence: va,
486
- nextId: Gf,
486
+ nextId: Nf,
487
487
  Tween: yo,
488
- VERSION: Qf,
489
- getAll: Nf,
490
- removeAll: Hf,
491
- add: _f,
488
+ VERSION: Gf,
489
+ getAll: Hf,
490
+ removeAll: _f,
491
+ add: Wf,
492
492
  remove: Ph,
493
- update: Wf
493
+ update: Ff
494
494
  };
495
- function Ff(i, t, e, n = jt.Linear.None) {
495
+ function Yf(i, t, e, n = jt.Linear.None) {
496
496
  const s = new yo(i).to(t, e).easing(n).start();
497
497
  function o(r) {
498
498
  s.update(r) && requestAnimationFrame(o);
@@ -504,10 +504,10 @@ const ns = Symbol("$$PAINT_BRUSH_EVENT$$");
504
504
  function js(i) {
505
505
  return i[ns] || (i[ns] = {}), i[ns];
506
506
  }
507
- function Yf(i) {
507
+ function Uf(i) {
508
508
  i[ns] || delete i[ns];
509
509
  }
510
- let Uf = class {
510
+ let Xf = class {
511
511
  /**
512
512
  * 判断是否注册了事件
513
513
  * @param name 事件类型
@@ -551,7 +551,7 @@ let Uf = class {
551
551
  */
552
552
  off(t, e) {
553
553
  if (t === void 0) {
554
- Yf(this);
554
+ Uf(this);
555
555
  return;
556
556
  }
557
557
  const n = js(this);
@@ -587,7 +587,7 @@ function cn() {
587
587
  function ct() {
588
588
  return (cn() + cn() + "-" + cn() + "-4" + cn().substr(0, 3) + "-" + cn() + "-" + cn() + cn() + cn()).toLowerCase();
589
589
  }
590
- const Xf = `
590
+ const Zf = `
591
591
  <style type="text/css">
592
592
 
593
593
  #_gl_paintBrush {
@@ -688,7 +688,7 @@ transition: all 500ms;
688
688
 
689
689
  </style>
690
690
  `;
691
- let Zf = class extends Uf {
691
+ let Jf = class extends Xf {
692
692
  constructor(e) {
693
693
  super();
694
694
  f(this, "configs");
@@ -724,7 +724,7 @@ let Zf = class extends Uf {
724
724
  const e = document.createElement("div");
725
725
  e.id = "_gl_paintBrush", document.body.appendChild(e), this.container = e;
726
726
  }
727
- return this.container.innerHTML = Xf, this.container;
727
+ return this.container.innerHTML = Zf, this.container;
728
728
  }
729
729
  /**
730
730
  *
@@ -909,7 +909,7 @@ let Zf = class extends Uf {
909
909
  timestamp: s,
910
910
  end: a === r - 1
911
911
  };
912
- Rf(a, 20, () => {
912
+ Vf(a, 20, () => {
913
913
  this.emit("stateChange", l, n);
914
914
  });
915
915
  }
@@ -938,7 +938,7 @@ let Zf = class extends Uf {
938
938
  }
939
939
  }
940
940
  handleDrawLine(e, n, { withUndo: s = !1 }, o = Ch) {
941
- !n || Object.prototype.toString.call(n) != "[object Object]" || Object.keys(n).length === 0 || Bf(() => new Promise((r) => {
941
+ !n || Object.prototype.toString.call(n) != "[object Object]" || Object.keys(n).length === 0 || Rf(() => new Promise((r) => {
942
942
  if (s || (this.canvas[e] || (this.canvas[e] = this.initCanvas("_paintBrush-canvas--sync")), this.data[e] || (this.data[e] = []), this.data[e].push(n)), !this.canvas[e])
943
943
  return;
944
944
  const a = this.canvas[e].getContext("2d");
@@ -949,7 +949,7 @@ let Zf = class extends Uf {
949
949
  if (a.strokeStyle = c, a.beginPath(), a.moveTo(u.x, u.y), d && !s) {
950
950
  let A = [];
951
951
  const p = this;
952
- p.tween = Ff({ step: 0 }, { step: l.length - 1 }, d).onUpdate(({ step: g }) => {
952
+ p.tween = Yf({ step: 0 }, { step: l.length - 1 }, d).onUpdate(({ step: g }) => {
953
953
  var y;
954
954
  if (p.tweening = !0, !p.ready)
955
955
  return a.clearRect(0, 0, p.canvas[h].width, p.canvas[h].height), (y = p.tween) == null ? void 0 : y.stop();
@@ -1003,7 +1003,7 @@ class R2 {
1003
1003
  onUndoText: "回退",
1004
1004
  onExitText: "关闭"
1005
1005
  }, t);
1006
- this.controller = new Zf(e);
1006
+ this.controller = new Jf(e);
1007
1007
  }
1008
1008
  on(t, e) {
1009
1009
  this.controller.on(t, e);
@@ -1054,7 +1054,7 @@ const V2 = (i, t) => {
1054
1054
  lockedPanoIndex: null,
1055
1055
  lockedLatitude: null,
1056
1056
  lockedLongitude: null
1057
- }), t == null ? void 0 : t.config), l = new E.Scene(), c = new Af(60);
1057
+ }), t == null ? void 0 : t.config), l = new E.Scene(), c = new vf(60);
1058
1058
  let d = new E.Object3D(), h, u;
1059
1059
  {
1060
1060
  const V = new E.DirectionalLight(16777215, 0.5);
@@ -1156,7 +1156,7 @@ function to(i, t) {
1156
1156
  const e = Math.round(i);
1157
1157
  return e % 2 === 0 ? e : e + (t != null && t.floor ? -1 : 1);
1158
1158
  }
1159
- function Jf(i, t, e = !0) {
1159
+ function qf(i, t, e = !0) {
1160
1160
  if (!i)
1161
1161
  return console.error("createResizeObserver: element is undefined"), { observe: () => {
1162
1162
  }, unobserve: () => {
@@ -1174,7 +1174,7 @@ function Jf(i, t, e = !0) {
1174
1174
  unobserve: () => s.unobserve(i)
1175
1175
  };
1176
1176
  }
1177
- class dl extends Tf {
1177
+ class dl extends Lf {
1178
1178
  constructor() {
1179
1179
  super();
1180
1180
  f(this, "wrapper");
@@ -1192,7 +1192,7 @@ class dl extends Tf {
1192
1192
  }
1193
1193
  appendToElement(e) {
1194
1194
  e.appendChild(this.domElement);
1195
- const n = (r, a) => this.setSize(r, a), { observe: s, unobserve: o } = Jf(e, n, !0);
1195
+ const n = (r, a) => this.setSize(r, a), { observe: s, unobserve: o } = qf(e, n, !0);
1196
1196
  s(), this.resizeDisoper = o, this.wrapper = e;
1197
1197
  }
1198
1198
  renderEveryFrame(e, n) {
@@ -1211,14 +1211,14 @@ class dl extends Tf {
1211
1211
  this.stopRender(), (e = this.resizeDisoper) == null || e.call(this), this.domElement.remove();
1212
1212
  }
1213
1213
  }
1214
- function qf(i) {
1214
+ function Kf(i) {
1215
1215
  return typeof Symbol == "undefined" ? `$Symbol<${i}>$` : Symbol(i);
1216
1216
  }
1217
- const is = qf("$$EVENT$$");
1217
+ const is = Kf("$$EVENT$$");
1218
1218
  function zs(i) {
1219
1219
  return i[is] || (i[is] = {}), i[is];
1220
1220
  }
1221
- function Kf(i) {
1221
+ function $f(i) {
1222
1222
  i[is] || delete i[is];
1223
1223
  }
1224
1224
  class yi {
@@ -1265,7 +1265,7 @@ class yi {
1265
1265
  */
1266
1266
  off(t, e) {
1267
1267
  if (t === void 0) {
1268
- Kf(this);
1268
+ $f(this);
1269
1269
  return;
1270
1270
  }
1271
1271
  const n = zs(this);
@@ -1295,8 +1295,8 @@ class yi {
1295
1295
  return n;
1296
1296
  }
1297
1297
  }
1298
- const $f = ({ x: i, y: t, z: e }) => new ie(i, t, e), kt = (i) => new ie().fromArray(i), as = (i) => i instanceof ie ? i : Array.isArray(i) ? kt(i) : $f(i);
1299
- class em extends E.Mesh {
1298
+ const em = ({ x: i, y: t, z: e }) => new ie(i, t, e), kt = (i) => new ie().fromArray(i), as = (i) => i instanceof ie ? i : Array.isArray(i) ? kt(i) : em(i);
1299
+ class tm extends E.Mesh {
1300
1300
  constructor(e, n) {
1301
1301
  const s = new E.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: E.DoubleSide }), o = new E.PlaneGeometry(e, n);
1302
1302
  super(o, s);
@@ -1311,11 +1311,11 @@ function sn(...i) {
1311
1311
  const t = new ie();
1312
1312
  return i.forEach((e) => t.add(e)), t.divideScalar(i.length), t;
1313
1313
  }
1314
- const Eh = 1, tm = `CSS3DObjectPlus@${Eh}`, nm = 216e-5, im = 3e-3;
1315
- class sm extends Xr {
1314
+ const Eh = 1, nm = `CSS3DObjectPlus@${Eh}`, im = 216e-5, sm = 3e-3;
1315
+ class om extends Xr {
1316
1316
  constructor(e) {
1317
1317
  var S, P, R;
1318
- const n = e.container, s = e.cornerPoints, o = (S = e.ratio) != null ? S : im, r = (P = e.dpr) != null ? P : 1, a = (R = e.pointerEvents) != null ? R : "auto", l = Math.max(nm, o), c = s[0].distanceTo(s[1]), d = s[1].distanceTo(s[2]), h = to(c / o * r), u = to(d / o * r), m = sn(...s);
1318
+ const n = e.container, s = e.cornerPoints, o = (S = e.ratio) != null ? S : sm, r = (P = e.dpr) != null ? P : 1, a = (R = e.pointerEvents) != null ? R : "auto", l = Math.max(im, o), c = s[0].distanceTo(s[1]), d = s[1].distanceTo(s[2]), h = to(c / o * r), u = to(d / o * r), m = sn(...s);
1319
1319
  let A;
1320
1320
  if (l === o)
1321
1321
  n.style.width = `${h}px`, n.style.height = `${u}px`, A = n;
@@ -1345,7 +1345,7 @@ class sm extends Xr {
1345
1345
  * @description: 生成透明Mesh
1346
1346
  */
1347
1347
  f(this, "createOpacityMesh", (e) => {
1348
- const { domWidthPx: n, domHeightPx: s } = e, o = new em(n, s);
1348
+ const { domWidthPx: n, domHeightPx: s } = e, o = new tm(n, s);
1349
1349
  return o.position.copy(e.position), o.rotation.copy(e.rotation), o.scale.copy(e.scale), o;
1350
1350
  });
1351
1351
  f(this, "addParentVisibleListener", () => {
@@ -1367,7 +1367,7 @@ class sm extends Xr {
1367
1367
  const L = o / l;
1368
1368
  this.width = L * c, this.height = L * d, this.domWidthPx = L * h, this.domHeightPx = L * u, this.centerPosition = new ie().subVectors(m, s[0]).multiplyScalar(L).add(s[0]);
1369
1369
  }
1370
- n.classList.add(`${tm}__container`);
1370
+ n.classList.add(`${nm}__container`);
1371
1371
  const p = new ie().subVectors(s[1], s[0]), g = new ie().subVectors(s[3], s[0]), v = new ie().crossVectors(p, g).normalize();
1372
1372
  this.lookAt(v);
1373
1373
  const y = this.up.clone().applyQuaternion(this.quaternion), I = g.clone(), k = new ie().crossVectors(y, I).normalize();
@@ -1416,7 +1416,7 @@ class sm extends Xr {
1416
1416
  this.scale.applyMatrix4(e), (n = this.opacityMesh) == null || n.scale.applyMatrix4(e);
1417
1417
  }
1418
1418
  }
1419
- class om extends E.Scene {
1419
+ class rm extends E.Scene {
1420
1420
  constructor() {
1421
1421
  super();
1422
1422
  }
@@ -1426,7 +1426,7 @@ class om extends E.Scene {
1426
1426
  }), this;
1427
1427
  }
1428
1428
  }
1429
- class rm extends E.Scene {
1429
+ class am extends E.Scene {
1430
1430
  constructor(e) {
1431
1431
  super();
1432
1432
  f(this, "scene");
@@ -1470,12 +1470,12 @@ class kh extends E.Group {
1470
1470
  this.CSS3DObjectLength = fn(this).length;
1471
1471
  }
1472
1472
  }
1473
- class am extends kh {
1473
+ class lm extends kh {
1474
1474
  constructor() {
1475
1475
  super("front");
1476
1476
  }
1477
1477
  }
1478
- class lm extends kh {
1478
+ class cm extends kh {
1479
1479
  constructor(e) {
1480
1480
  super("behind");
1481
1481
  f(this, "scene");
@@ -1489,7 +1489,7 @@ class lm extends kh {
1489
1489
  }), super.add(...e), this;
1490
1490
  }
1491
1491
  }
1492
- const cm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${cm}`, Zn = () => {
1492
+ const dm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${dm}`, Zn = () => {
1493
1493
  console.error(`${qi} is disposed`);
1494
1494
  }, Ye = {
1495
1495
  css3DObjects: [],
@@ -1503,10 +1503,10 @@ const cm = 3, Jr = "CSS3DRenderer", qi = `${Jr}@${cm}`, Zn = () => {
1503
1503
  function hl(i) {
1504
1504
  return Ye.css3DObjects.find((t) => t.id === i);
1505
1505
  }
1506
- function dm(i) {
1506
+ function hm(i) {
1507
1507
  Ye.frontModeStore.css3DRenderer.setWrapper(i);
1508
1508
  }
1509
- function hm(i) {
1509
+ function um(i) {
1510
1510
  Ye.behindModeStore.css3DRenderer.setWrapper(i);
1511
1511
  }
1512
1512
  class ls {
@@ -1520,7 +1520,7 @@ class ls {
1520
1520
  });
1521
1521
  f(this, "_scene");
1522
1522
  f(this, "store", {
1523
- frontModeGroup: new am()
1523
+ frontModeGroup: new lm()
1524
1524
  });
1525
1525
  /**
1526
1526
  * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
@@ -1611,7 +1611,7 @@ class ls {
1611
1611
  s && (e ? s.add(n) : s.remove(n));
1612
1612
  });
1613
1613
  f(this, "createObject", (t, e) => {
1614
- const n = new sm(N({ cornerPoints: t }, e));
1614
+ const n = new om(N({ cornerPoints: t }, e));
1615
1615
  return n.element.classList.add(`${Jr}__container`), n.element.id = `${Jr}__container--${n.uuid}`, n;
1616
1616
  });
1617
1617
  t && this.setScene(t);
@@ -1676,7 +1676,7 @@ class ls {
1676
1676
  if (e)
1677
1677
  return e;
1678
1678
  if (t) {
1679
- const s = new om();
1679
+ const s = new rm();
1680
1680
  Ye.frontModeStore.css3DScene = s;
1681
1681
  }
1682
1682
  return Ye.frontModeStore.css3DScene;
@@ -1692,7 +1692,7 @@ class ls {
1692
1692
  console.error(`${qi}: scene is required when mode is behind`);
1693
1693
  return;
1694
1694
  }
1695
- const r = new rm(o);
1695
+ const r = new am(o);
1696
1696
  Ye.behindModeStore.css3DScene = r, Ye.behindModeStore.scene = o;
1697
1697
  }
1698
1698
  return Ye.behindModeStore.css3DScene;
@@ -1705,7 +1705,7 @@ class ls {
1705
1705
  var n;
1706
1706
  const e = this.getBehindCSS3DScene({ createSceneIfNotExists: t });
1707
1707
  if (t && e && this.scene) {
1708
- const s = (n = this.store.behindModeGroup) != null ? n : new lm(this.scene);
1708
+ const s = (n = this.store.behindModeGroup) != null ? n : new cm(this.scene);
1709
1709
  this.store.behindModeGroup = s, e.getObjectById(s.id) || e.add(s);
1710
1710
  }
1711
1711
  return this.store.behindModeGroup;
@@ -1753,7 +1753,7 @@ class ls {
1753
1753
  this.handleDisable();
1754
1754
  }
1755
1755
  }
1756
- f(ls, "setFrontModeContainer", dm), f(ls, "setBehindModeContainer", hm);
1756
+ f(ls, "setFrontModeContainer", hm), f(ls, "setBehindModeContainer", um);
1757
1757
  function Mh(i) {
1758
1758
  return U(this, null, function* () {
1759
1759
  return new Promise((t) => {
@@ -1813,7 +1813,7 @@ class qr {
1813
1813
  return this.min < t.min && this.max > t.max;
1814
1814
  }
1815
1815
  }
1816
- class um {
1816
+ class fm {
1817
1817
  constructor(t, e) {
1818
1818
  f(this, "min");
1819
1819
  f(this, "max");
@@ -1841,7 +1841,7 @@ function Os(i, t, e) {
1841
1841
  const n = i[t], s = i[e];
1842
1842
  n === void 0 || s === void 0 || (i[t] = s, i[e] = n);
1843
1843
  }
1844
- function fm(i, t, e) {
1844
+ function mm(i, t, e) {
1845
1845
  const n = e / 2;
1846
1846
  for (let s = 1; s <= n; s++) {
1847
1847
  const o = e - (s - 1);
@@ -1932,7 +1932,7 @@ let ya = class {
1932
1932
  if (!this.five.renderer || !this.containerDom)
1933
1933
  return;
1934
1934
  const { scale: t, context: e, width: n, height: s } = this, o = this.renderCenter.clone().project(this.five.camera), r = this.five.renderer.getSize(new E.Vector2()), a = 1, l = n / t, c = s / t, d = a * t, h = (o.x + 1) / 2 * r.x, u = (o.y + 1) / 2 * r.y, m = this.five.getPixels(h - l / 2, u - l / 2, l, c, d), A = Math.floor(n * a), p = Math.floor(s * a);
1935
- fm(m, A, p);
1935
+ mm(m, A, p);
1936
1936
  const g = new ImageData(A, p);
1937
1937
  g.data.set(m), e.putImageData(g, 0, 0);
1938
1938
  }
@@ -1943,7 +1943,7 @@ let ya = class {
1943
1943
  t.setAttribute("width", (this.width * e).toString()), t.setAttribute("height", (this.height * e).toString()), t.style.border = "2px solid rgba(255,255,255,0.20)", t.style.width = this.width + "px", t.style.height = this.height + "px", t.style.top = this.config.initialPosition.top, t.style.left = this.config.initialPosition.left, t.style.transform = "translate(0,0,100px)", t.style.visibility = "visible", this.config.dragEnabled && (this.canvas.style.cursor = "pointer");
1944
1944
  }
1945
1945
  };
1946
- function mm(i, t) {
1946
+ function gm(i, t) {
1947
1947
  const { offsetWidth: e, offsetHeight: n } = t, { top: s, left: o } = t.getBoundingClientRect();
1948
1948
  return new E.Vector2().set((i.x - o) / e * 2 - 1, -(i.y - s) / n * 2 + 1);
1949
1949
  }
@@ -1951,7 +1951,7 @@ function Sh(i, t) {
1951
1951
  const { offsetWidth: e, offsetHeight: n } = t;
1952
1952
  return new E.Vector2().set(i.x / e * 2 - 1, -i.y / n * 2 + 1);
1953
1953
  }
1954
- function gm(i, t) {
1954
+ function pm(i, t) {
1955
1955
  const e = i.getElement();
1956
1956
  if (!e)
1957
1957
  return;
@@ -1962,14 +1962,14 @@ function Th(i, t) {
1962
1962
  const { x: e, y: n } = t, s = e * 2 - 1, o = n * 2 - 1, r = new E.Vector2().fromArray([s, o]), a = new E.Raycaster();
1963
1963
  return a.setFromCamera(r, i.camera), i.model.intersectRaycaster(a)[0];
1964
1964
  }
1965
- const pm = "data:image/png;base64,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", Am = `
1965
+ const Am = "data:image/png;base64,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", vm = `
1966
1966
  varying vec2 vUv;
1967
1967
  void main() {
1968
1968
  vUv = uv;
1969
1969
  vec4 mvPosition = modelViewMatrix * vec4(position, 1);
1970
1970
  gl_Position = projectionMatrix * mvPosition;
1971
1971
  }
1972
- `, vm = `
1972
+ `, bm = `
1973
1973
  varying vec2 vUv;
1974
1974
  void main() {
1975
1975
  vec2 uv = vec2(vUv.x, vUv.y);
@@ -1978,8 +1978,8 @@ void main() {
1978
1978
  gl_FragColor = vec4(1.0,1.0,1.0,match);
1979
1979
  }
1980
1980
  `;
1981
- function bm() {
1982
- const i = new E.PlaneGeometry(0.4, 0.4), t = pm, e = new E.TextureLoader().load(t);
1981
+ function ym() {
1982
+ const i = new E.PlaneGeometry(0.4, 0.4), t = Am, e = new E.TextureLoader().load(t);
1983
1983
  e.encoding = E.sRGBEncoding, e.minFilter = E.LinearFilter;
1984
1984
  const n = new E.MeshBasicMaterial({
1985
1985
  map: e,
@@ -1988,18 +1988,18 @@ function bm() {
1988
1988
  });
1989
1989
  return new E.Mesh(i, n);
1990
1990
  }
1991
- function ym() {
1991
+ function wm() {
1992
1992
  const i = new E.CurvePath();
1993
1993
  i.add(new E.LineCurve3(new E.Vector3(0, 0, 0), new E.Vector3(0, 0, 0.1)));
1994
1994
  const t = new E.TubeGeometry(i, 8, 3e-3), e = new E.ShaderMaterial({
1995
- vertexShader: Am,
1996
- fragmentShader: vm,
1995
+ vertexShader: vm,
1996
+ fragmentShader: bm,
1997
1997
  depthTest: !1,
1998
1998
  transparent: !0
1999
1999
  });
2000
2000
  return new E.Mesh(t, e);
2001
2001
  }
2002
- function wm() {
2002
+ function Cm() {
2003
2003
  const i = new E.SphereGeometry(0.01, 20, 20), t = new E.MeshBasicMaterial({
2004
2004
  color: 10349931,
2005
2005
  depthTest: !1,
@@ -2014,7 +2014,7 @@ class Lh extends E.Object3D {
2014
2014
  f(this, "planeMesh");
2015
2015
  f(this, "lineMesh");
2016
2016
  f(this, "ballMesh");
2017
- this.planeMesh = bm(), this.lineMesh = ym(), this.ballMesh = wm(), this.add(this.planeMesh, this.lineMesh, this.ballMesh);
2017
+ this.planeMesh = ym(), this.lineMesh = wm(), this.ballMesh = Cm(), this.add(this.planeMesh, this.lineMesh, this.ballMesh);
2018
2018
  }
2019
2019
  updateWithIntersect(e) {
2020
2020
  if (!e.face)
@@ -2027,7 +2027,7 @@ class Lh extends E.Object3D {
2027
2027
  (e = this.planeMesh.material.map) == null || e.dispose();
2028
2028
  }
2029
2029
  }
2030
- const jh = "data:image/png;base64,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", Cm = "data:image/png;base64,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", Im = `
2030
+ const jh = "data:image/png;base64,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", Im = "data:image/png;base64,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", Pm = `
2031
2031
  <style>
2032
2032
  .range-piece__container {
2033
2033
  position: absolute;
@@ -2059,7 +2059,7 @@ const jh = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAADYCAYAAACJIC3tAA
2059
2059
  height: 100%;
2060
2060
  opacity: 1;
2061
2061
  position: absolute;
2062
- background: url(${Cm}) center / contain no-repeat;
2062
+ background: url(${Im}) center / contain no-repeat;
2063
2063
  }
2064
2064
  @keyframes dotting {
2065
2065
  0% {
@@ -2176,17 +2176,17 @@ class Oh {
2176
2176
  this.hooks.off(), this.disable(), this.magnifier = null, this.pointHelper = null, this.pointDomHelper = null;
2177
2177
  }
2178
2178
  }
2179
- function Pm(i) {
2179
+ function Bh(i) {
2180
2180
  return !wi(i);
2181
2181
  }
2182
2182
  function wi(i) {
2183
2183
  return i != null;
2184
2184
  }
2185
- function Bh(i) {
2185
+ function Rh(i) {
2186
2186
  return /^https?:\/\/|^\/\//.test(i) || /^data:/.test(i);
2187
2187
  }
2188
2188
  function wa(i, t) {
2189
- return Bh(t) ? t : `${i}${t}`;
2189
+ return Rh(t) ? t : `${i}${t}`;
2190
2190
  }
2191
2191
  class wo extends yo {
2192
2192
  constructor() {
@@ -2242,29 +2242,29 @@ const G2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2242
2242
  PointDomHelper: zh,
2243
2243
  PointHelper: Lh,
2244
2244
  PointSelectorHelper: Oh,
2245
- Rectangle: um,
2245
+ Rectangle: fm,
2246
2246
  absoluteUrl: wa,
2247
- getCoordsFromClient: mm,
2247
+ getCoordsFromClient: gm,
2248
2248
  getCoordsFromElement: Sh,
2249
2249
  getFrameTime: km,
2250
2250
  getIntersectFromRelativePosition: Th,
2251
- getRaycasterFromFivePointer: gm,
2252
- isAbsoluteURL: Bh,
2251
+ getRaycasterFromFivePointer: pm,
2252
+ isAbsoluteURL: Rh,
2253
2253
  isModelLike: Dh,
2254
- isNil: Pm,
2254
+ isNil: Bh,
2255
2255
  isPanoramaLike: ba,
2256
2256
  nextFrame: Io,
2257
2257
  notNil: wi,
2258
2258
  requestAnimationFrameInterval: ms,
2259
2259
  tweenProgress: Co,
2260
2260
  uuid: ct
2261
- }, Symbol.toStringTag, { value: "Module" })), Rh = "v2.0.1", kr = `CSS3DRenderPlugin@${Rh}`;
2261
+ }, Symbol.toStringTag, { value: "Module" })), Vh = "v2.0.1", kr = `CSS3DRenderPlugin@${Vh}`;
2262
2262
  let Mm = class extends ls {
2263
2263
  constructor(e) {
2264
2264
  super();
2265
2265
  f(this, "five");
2266
2266
  f(this, "behindFiveContainer");
2267
- f(this, "VERSION", Rh);
2267
+ f(this, "VERSION", Vh);
2268
2268
  f(this, "staticPrefix", "//vr-image-4.realsee-cdn.cn");
2269
2269
  /**
2270
2270
  * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
@@ -2354,7 +2354,7 @@ let Mm = class extends ls {
2354
2354
  return wa(this.staticPrefix, e);
2355
2355
  }
2356
2356
  };
2357
- const Vh = (i) => new Mm(i), Po = Vh;
2357
+ const Qh = (i) => new Mm(i), Po = Qh;
2358
2358
  function Mr(i, t, e = new ie(1, 1, 1), n = !1) {
2359
2359
  const s = new yh(i, t);
2360
2360
  return s.setMaterial({ dashed: n, color: e, linewidth: 1 }), s.remove(s.points), s;
@@ -2427,14 +2427,14 @@ function xm(i) {
2427
2427
  return !!i && (typeof i == "object" || typeof i == "function") && typeof /** @type {any} */
2428
2428
  i.then == "function";
2429
2429
  }
2430
- function Qh(i) {
2430
+ function Gh(i) {
2431
2431
  return i();
2432
2432
  }
2433
2433
  function ul() {
2434
2434
  return /* @__PURE__ */ Object.create(null);
2435
2435
  }
2436
2436
  function Je(i) {
2437
- i.forEach(Qh);
2437
+ i.forEach(Gh);
2438
2438
  }
2439
2439
  function on(i) {
2440
2440
  return typeof i == "function";
@@ -2451,11 +2451,11 @@ function Dm(i) {
2451
2451
  }
2452
2452
  function Ci(i, t, e, n) {
2453
2453
  if (i) {
2454
- const s = Gh(i, t, e, n);
2454
+ const s = Nh(i, t, e, n);
2455
2455
  return i[0](s);
2456
2456
  }
2457
2457
  }
2458
- function Gh(i, t, e, n) {
2458
+ function Nh(i, t, e, n) {
2459
2459
  return i[1] && n ? tt(e.ctx.slice(), i[1](n(t))) : e.ctx;
2460
2460
  }
2461
2461
  function Ii(i, t, e, n) {
@@ -2475,7 +2475,7 @@ function Ii(i, t, e, n) {
2475
2475
  }
2476
2476
  function Pi(i, t, e, n, s, o) {
2477
2477
  if (s) {
2478
- const r = Gh(t, e, n, o);
2478
+ const r = Nh(t, e, n, o);
2479
2479
  i.p(r, s);
2480
2480
  }
2481
2481
  }
@@ -2502,17 +2502,17 @@ function fl(i) {
2502
2502
  "px"
2503
2503
  ];
2504
2504
  }
2505
- const Nh = typeof window != "undefined";
2506
- let Ca = Nh ? () => window.performance.now() : () => Date.now(), Ia = Nh ? (i) => requestAnimationFrame(i) : J;
2505
+ const Hh = typeof window != "undefined";
2506
+ let Ca = Hh ? () => window.performance.now() : () => Date.now(), Ia = Hh ? (i) => requestAnimationFrame(i) : J;
2507
2507
  const ai = /* @__PURE__ */ new Set();
2508
- function Hh(i) {
2508
+ function _h(i) {
2509
2509
  ai.forEach((t) => {
2510
2510
  t.c(i) || (ai.delete(t), t.f());
2511
- }), ai.size !== 0 && Ia(Hh);
2511
+ }), ai.size !== 0 && Ia(_h);
2512
2512
  }
2513
2513
  function Pa(i) {
2514
2514
  let t;
2515
- return ai.size === 0 && Ia(Hh), {
2515
+ return ai.size === 0 && Ia(_h), {
2516
2516
  promise: new Promise((e) => {
2517
2517
  ai.add(t = { c: i, f: e });
2518
2518
  }),
@@ -2532,7 +2532,7 @@ function ue(i, t, e) {
2532
2532
  const n = Ea(i);
2533
2533
  if (!n.getElementById(t)) {
2534
2534
  const s = D("style");
2535
- s.id = t, s.textContent = e, _h(n, s);
2535
+ s.id = t, s.textContent = e, Wh(n, s);
2536
2536
  }
2537
2537
  }
2538
2538
  function Ea(i) {
@@ -2547,9 +2547,9 @@ function Ea(i) {
2547
2547
  }
2548
2548
  function Tm(i) {
2549
2549
  const t = D("style");
2550
- return t.textContent = "/* empty */", _h(Ea(i), t), t.sheet;
2550
+ return t.textContent = "/* empty */", Wh(Ea(i), t), t.sheet;
2551
2551
  }
2552
- function _h(i, t) {
2552
+ function Wh(i, t) {
2553
2553
  return x(
2554
2554
  /** @type {Document} */
2555
2555
  i.head || i,
@@ -2584,7 +2584,7 @@ function Ee() {
2584
2584
  function be(i, t, e, n) {
2585
2585
  return i.addEventListener(t, e, n), () => i.removeEventListener(t, e, n);
2586
2586
  }
2587
- function Wh(i) {
2587
+ function Fh(i) {
2588
2588
  return function(t) {
2589
2589
  return t.stopPropagation(), i.call(this, t);
2590
2590
  };
@@ -2639,7 +2639,7 @@ function Eo(i, t) {
2639
2639
  function q(i, t, e) {
2640
2640
  i.classList.toggle(t, !!e);
2641
2641
  }
2642
- function Fh(i, t, { bubbles: e = !1, cancelable: n = !1 } = {}) {
2642
+ function Yh(i, t, { bubbles: e = !1, cancelable: n = !1 } = {}) {
2643
2643
  return new CustomEvent(i, { detail: t, bubbles: e, cancelable: n });
2644
2644
  }
2645
2645
  class no {
@@ -2763,13 +2763,13 @@ function yn() {
2763
2763
  throw new Error("Function called outside component initialization");
2764
2764
  return ds;
2765
2765
  }
2766
- function Yh(i) {
2766
+ function Uh(i) {
2767
2767
  yn().$$.before_update.push(i);
2768
2768
  }
2769
2769
  function wt(i) {
2770
2770
  yn().$$.on_mount.push(i);
2771
2771
  }
2772
- function Uh(i) {
2772
+ function Xh(i) {
2773
2773
  yn().$$.after_update.push(i);
2774
2774
  }
2775
2775
  function Ot(i) {
@@ -2780,7 +2780,7 @@ function ko() {
2780
2780
  return (t, e, { cancelable: n = !1 } = {}) => {
2781
2781
  const s = i.$$.callbacks[t];
2782
2782
  if (s) {
2783
- const o = Fh(
2783
+ const o = Yh(
2784
2784
  /** @type {string} */
2785
2785
  t,
2786
2786
  e,
@@ -2805,13 +2805,13 @@ function ki(i, t) {
2805
2805
  }
2806
2806
  const ti = [], Qe = [];
2807
2807
  let li = [];
2808
- const $r = [], Xh = /* @__PURE__ */ Promise.resolve();
2808
+ const $r = [], Zh = /* @__PURE__ */ Promise.resolve();
2809
2809
  let ea = !1;
2810
- function Zh() {
2811
- ea || (ea = !0, Xh.then(Ma));
2810
+ function Jh() {
2811
+ ea || (ea = !0, Zh.then(Ma));
2812
2812
  }
2813
2813
  function ml() {
2814
- return Zh(), Xh;
2814
+ return Jh(), Zh;
2815
2815
  }
2816
2816
  function Ne(i) {
2817
2817
  li.push(i);
@@ -2864,7 +2864,7 @@ function xa() {
2864
2864
  })), Wi;
2865
2865
  }
2866
2866
  function Tn(i, t, e) {
2867
- i.dispatchEvent(Fh(`${t ? "intro" : "outro"}${e}`));
2867
+ i.dispatchEvent(Yh(`${t ? "intro" : "outro"}${e}`));
2868
2868
  }
2869
2869
  const qs = /* @__PURE__ */ new Set();
2870
2870
  let Nt;
@@ -3069,7 +3069,7 @@ function ao(i, t) {
3069
3069
  i;
3070
3070
  }
3071
3071
  }
3072
- function Jh(i, t, e) {
3072
+ function qh(i, t, e) {
3073
3073
  const n = t.slice(), { resolved: s } = i;
3074
3074
  i.current === i.then && (n[i.value] = s), i.current === i.catch && (n[i.error] = s), i.block.p(n, e);
3075
3075
  }
@@ -3130,7 +3130,7 @@ function dt(i, t) {
3130
3130
  r in e || (e[r] = void 0);
3131
3131
  return e;
3132
3132
  }
3133
- function qh(i) {
3133
+ function Kh(i) {
3134
3134
  return typeof i == "object" && i !== null ? i : {};
3135
3135
  }
3136
3136
  function Ta(i, t, e) {
@@ -3143,7 +3143,7 @@ function ne(i) {
3143
3143
  function ee(i, t, e) {
3144
3144
  const { fragment: n, after_update: s } = i.$$;
3145
3145
  n && n.m(t, e), Ne(() => {
3146
- const o = i.$$.on_mount.map(Qh).filter(on);
3146
+ const o = i.$$.on_mount.map(Gh).filter(on);
3147
3147
  i.$$.on_destroy ? i.$$.on_destroy.push(...o) : Je(o), i.$$.on_mount = [];
3148
3148
  }), s.forEach(Ne);
3149
3149
  }
@@ -3152,7 +3152,7 @@ function te(i, t) {
3152
3152
  e.fragment !== null && (Vm(e.after_update), Je(e.on_destroy), e.fragment && e.fragment.d(t), e.on_destroy = e.fragment = null, e.ctx = []);
3153
3153
  }
3154
3154
  function Qm(i, t) {
3155
- i.$$.dirty[0] === -1 && (ti.push(i), Zh(), i.$$.dirty.fill(0)), i.$$.dirty[t / 31 | 0] |= 1 << t % 31;
3155
+ i.$$.dirty[0] === -1 && (ti.push(i), Jh(), i.$$.dirty.fill(0)), i.$$.dirty[t / 31 | 0] |= 1 << t % 31;
3156
3156
  }
3157
3157
  function ae(i, t, e, n, s, o, r, a = [-1]) {
3158
3158
  const l = ds;
@@ -3336,7 +3336,7 @@ class Fm extends le {
3336
3336
  super(), ae(this, t, Wm, _m, oe, { five: 2, roomLabel: 0 }, Hm);
3337
3337
  }
3338
3338
  }
3339
- var Kh = function() {
3339
+ var $h = function() {
3340
3340
  if (typeof Map != "undefined")
3341
3341
  return Map;
3342
3342
  function i(t, e) {
@@ -3450,7 +3450,7 @@ var Zm = 20, Jm = ["top", "right", "bottom", "left", "width", "height", "size",
3450
3450
  return this.instance_ || (this.instance_ = new i()), this.instance_;
3451
3451
  }, i.instance_ = null, i;
3452
3452
  }()
3453
- ), $h = function(i, t) {
3453
+ ), eu = function(i, t) {
3454
3454
  for (var e = 0, n = Object.keys(t); e < n.length; e++) {
3455
3455
  var s = n[e];
3456
3456
  Object.defineProperty(i, s, {
@@ -3464,7 +3464,7 @@ var Zm = 20, Jm = ["top", "right", "bottom", "left", "width", "height", "size",
3464
3464
  }, hi = function(i) {
3465
3465
  var t = i && i.ownerDocument && i.ownerDocument.defaultView;
3466
3466
  return t || lo;
3467
- }, eu = Mo(0, 0, 0, 0);
3467
+ }, tu = Mo(0, 0, 0, 0);
3468
3468
  function co(i) {
3469
3469
  return parseFloat(i) || 0;
3470
3470
  }
@@ -3490,7 +3490,7 @@ function eg(i) {
3490
3490
  function tg(i) {
3491
3491
  var t = i.clientWidth, e = i.clientHeight;
3492
3492
  if (!t && !e)
3493
- return eu;
3493
+ return tu;
3494
3494
  var n = hi(i).getComputedStyle(i), s = $m(n), o = s.left + s.right, r = s.top + s.bottom, a = co(n.width), l = co(n.height);
3495
3495
  if (n.boxSizing === "border-box" && (Math.round(a + o) !== t && (a -= gl(n, "left", "right") + o), Math.round(l + r) !== e && (l -= gl(n, "top", "bottom") + r)), !ig(i)) {
3496
3496
  var c = Math.round(a + o) - t, d = Math.round(l + r) - e;
@@ -3509,11 +3509,11 @@ function ig(i) {
3509
3509
  return i === hi(i).document.documentElement;
3510
3510
  }
3511
3511
  function sg(i) {
3512
- return ta ? ng(i) ? eg(i) : tg(i) : eu;
3512
+ return ta ? ng(i) ? eg(i) : tg(i) : tu;
3513
3513
  }
3514
3514
  function og(i) {
3515
3515
  var t = i.x, e = i.y, n = i.width, s = i.height, o = typeof DOMRectReadOnly != "undefined" ? DOMRectReadOnly : Object, r = Object.create(o.prototype);
3516
- return $h(r, {
3516
+ return eu(r, {
3517
3517
  x: t,
3518
3518
  y: e,
3519
3519
  width: n,
@@ -3546,7 +3546,7 @@ var rg = (
3546
3546
  function() {
3547
3547
  function i(t, e) {
3548
3548
  var n = og(e);
3549
- $h(this, { target: t, contentRect: n });
3549
+ eu(this, { target: t, contentRect: n });
3550
3550
  }
3551
3551
  return i;
3552
3552
  }()
@@ -3554,7 +3554,7 @@ var rg = (
3554
3554
  /** @class */
3555
3555
  function() {
3556
3556
  function i(t, e, n) {
3557
- if (this.activeObservations_ = [], this.observations_ = new Kh(), typeof t != "function")
3557
+ if (this.activeObservations_ = [], this.observations_ = new $h(), typeof t != "function")
3558
3558
  throw new TypeError("The callback provided as parameter 1 is not a function.");
3559
3559
  this.callback_ = t, this.controller_ = e, this.callbackCtx_ = n;
3560
3560
  }
@@ -3596,7 +3596,7 @@ var rg = (
3596
3596
  return this.activeObservations_.length > 0;
3597
3597
  }, i;
3598
3598
  }()
3599
- ), tu = typeof WeakMap != "undefined" ? /* @__PURE__ */ new WeakMap() : new Kh(), nu = (
3599
+ ), nu = typeof WeakMap != "undefined" ? /* @__PURE__ */ new WeakMap() : new $h(), iu = (
3600
3600
  /** @class */
3601
3601
  function() {
3602
3602
  function i(t) {
@@ -3605,7 +3605,7 @@ var rg = (
3605
3605
  if (!arguments.length)
3606
3606
  throw new TypeError("1 argument required, but only 0 present.");
3607
3607
  var e = Km.getInstance(), n = new lg(t, e, this);
3608
- tu.set(this, n);
3608
+ nu.set(this, n);
3609
3609
  }
3610
3610
  return i;
3611
3611
  }()
@@ -3615,13 +3615,13 @@ var rg = (
3615
3615
  "unobserve",
3616
3616
  "disconnect"
3617
3617
  ].forEach(function(i) {
3618
- nu.prototype[i] = function() {
3618
+ iu.prototype[i] = function() {
3619
3619
  var t;
3620
- return (t = tu.get(this))[i].apply(t, arguments);
3620
+ return (t = nu.get(this))[i].apply(t, arguments);
3621
3621
  };
3622
3622
  });
3623
3623
  var cg = function() {
3624
- return typeof lo.ResizeObserver != "undefined" ? lo.ResizeObserver : nu;
3624
+ return typeof lo.ResizeObserver != "undefined" ? lo.ResizeObserver : iu;
3625
3625
  }();
3626
3626
  function xi(i) {
3627
3627
  new cg((e, n) => {
@@ -3784,7 +3784,7 @@ function fg(i, t, e) {
3784
3784
  function m(v) {
3785
3785
  e(4, l = v);
3786
3786
  }
3787
- s.on("cameraUpdate", u), s.on("modelShownFloorChange", m), Uh(() => {
3787
+ s.on("cameraUpdate", u), s.on("modelShownFloorChange", m), Xh(() => {
3788
3788
  e(0, o = h({ rendererSize: n, shownFloor: l }));
3789
3789
  }), Ot(() => {
3790
3790
  s.off("cameraUpdate", u), s.off("modelShownFloorChange", m);
@@ -3971,7 +3971,7 @@ function Ht(i, t, e = { deep: !1 }) {
3971
3971
  function fi(i) {
3972
3972
  return i < 0.5 ? 4 * i * i * i : 0.5 * Math.pow(2 * i - 2, 3) + 1;
3973
3973
  }
3974
- function iu(i) {
3974
+ function su(i) {
3975
3975
  const t = i - 1;
3976
3976
  return t * t * t + 1;
3977
3977
  }
@@ -3984,7 +3984,7 @@ function nt(i, { delay: t = 0, duration: e = 400, easing: n = nn } = {}) {
3984
3984
  css: (o) => `opacity: ${o * s}`
3985
3985
  };
3986
3986
  }
3987
- function vl(i, { delay: t = 0, duration: e = 400, easing: n = iu, x: s = 0, y: o = 0, opacity: r = 0 } = {}) {
3987
+ function vl(i, { delay: t = 0, duration: e = 400, easing: n = su, x: s = 0, y: o = 0, opacity: r = 0 } = {}) {
3988
3988
  const a = getComputedStyle(i), l = +a.opacity, c = a.transform === "none" ? "" : a.transform, d = l * (1 - r), [h, u] = fl(s), [m, A] = fl(o);
3989
3989
  return {
3990
3990
  delay: t,
@@ -4009,7 +4009,7 @@ function uo(i, { delay: t = 0, speed: e, duration: n, easing: s = fi } = {}) {
4009
4009
  };
4010
4010
  }
4011
4011
  const gn = "data:image/png;base64,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";
4012
- function su(i) {
4012
+ function ou(i) {
4013
4013
  return i * 180 / Math.PI;
4014
4014
  }
4015
4015
  function Cg(i) {
@@ -4082,7 +4082,7 @@ function Ig(i) {
4082
4082
  }
4083
4083
  function Pg(i, t, e) {
4084
4084
  let { panoIndex: n } = t, { floorplanData: s } = t, { lastPanoramaLongitude: o } = t, { cameraImageUrl: r } = t;
4085
- const { observers: a } = s, l = a[n], c = l.positionInImage.x, d = l.positionInImage.y, h = c * 100 + "%", u = d * 100 + "%", m = -su(o) + 45, A = document.body.clientWidth, p = document.body.clientHeight, v = `${(A < 500 || p < 500 ? 17 : 37) / 16}rem`;
4085
+ const { observers: a } = s, l = a[n], c = l.positionInImage.x, d = l.positionInImage.y, h = c * 100 + "%", u = d * 100 + "%", m = -ou(o) + 45, A = document.body.clientWidth, p = document.body.clientHeight, v = `${(A < 500 || p < 500 ? 17 : 37) / 16}rem`;
4086
4086
  return i.$$set = (y) => {
4087
4087
  "panoIndex" in y && e(5, n = y.panoIndex), "floorplanData" in y && e(6, s = y.floorplanData), "lastPanoramaLongitude" in y && e(7, o = y.lastPanoramaLongitude), "cameraImageUrl" in y && e(0, r = y.cameraImageUrl);
4088
4088
  }, [
@@ -4415,7 +4415,7 @@ function Fg(i, t, e) {
4415
4415
  12 && e(0, s = (l = (a = r.outlines) == null ? void 0 : a[o]) == null ? void 0 : l.svgContent);
4416
4416
  }, [s, n, o, r];
4417
4417
  }
4418
- class ou extends le {
4418
+ class ru extends le {
4419
4419
  constructor(t) {
4420
4420
  super(), ae(this, t, Fg, Wg, oe, { floorIndex: 2, floorplanData: 3 }, Ng);
4421
4421
  }
@@ -5347,7 +5347,7 @@ function Do(i, t = {}) {
5347
5347
  return a === 0 ? (e += "M" + d, e) : s != null && s[a] ? (e += "A" + s[a] + "," + d, e) : (e += "L" + d, e);
5348
5348
  }), e + (n ? "Z" : "");
5349
5349
  }
5350
- function ru({ x: i, y: t }, e) {
5350
+ function au({ x: i, y: t }, e) {
5351
5351
  const { max: n, min: s } = e;
5352
5352
  return { x: i - s.x, y: n.y - t };
5353
5353
  }
@@ -5746,7 +5746,7 @@ function xp(i, t, e) {
5746
5746
  }, i.$$.update = () => {
5747
5747
  i.$$.dirty & /*floorplanData, floorIndex*/
5748
5748
  24 && e(0, n = o.floorDatas[s].rooms.map((l) => Ae(N({}, l), {
5749
- path: l.path.map((c) => ru(c, o.bounding))
5749
+ path: l.path.map((c) => au(c, o.bounding))
5750
5750
  })));
5751
5751
  }, [n, r, a, s, o];
5752
5752
  }
@@ -5821,7 +5821,7 @@ function Lp(i, t, e) {
5821
5821
  }
5822
5822
  const { bounding: u } = a, m = Do(o.path, {
5823
5823
  needZ: !0,
5824
- format: (A) => ru(A, u)
5824
+ format: (A) => au(A, u)
5825
5825
  });
5826
5826
  return i.$$set = (A) => {
5827
5827
  "room" in A && e(0, o = A.room), "floorIndex" in A && e(1, r = A.floorIndex), "floorplanData" in A && e(6, a = A.floorplanData), "highlightData" in A && e(7, l = A.highlightData), "hoveredRoom" in A && e(8, c = A.hoveredRoom);
@@ -6020,7 +6020,7 @@ function Bp(i, t, e) {
6020
6020
  l
6021
6021
  ];
6022
6022
  }
6023
- class au extends le {
6023
+ class lu extends le {
6024
6024
  constructor(t) {
6025
6025
  super(), ae(
6026
6026
  this,
@@ -6066,7 +6066,7 @@ function Bl(i) {
6066
6066
  let s = {};
6067
6067
  for (let o = 0; o < n.length; o += 1)
6068
6068
  s = tt(s, n[o]);
6069
- return t = new au({ props: s }), {
6069
+ return t = new lu({ props: s }), {
6070
6070
  c() {
6071
6071
  ne(t.$$.fragment);
6072
6072
  },
@@ -6304,7 +6304,7 @@ function Vp(i) {
6304
6304
  let A = {};
6305
6305
  for (let v = 0; v < m.length; v += 1)
6306
6306
  A = tt(A, m[v]);
6307
- o = new ou({ props: A });
6307
+ o = new ru({ props: A });
6308
6308
  let p = (
6309
6309
  /*roomLabelsEnable*/
6310
6310
  i[4] && Rl(i)
@@ -6986,7 +6986,7 @@ let gs = class {
6986
6986
  /**
6987
6987
  * @realsee/dnalogel 版本号
6988
6988
  */
6989
- f(this, "VERSION", "2.24.0");
6989
+ f(this, "VERSION", "2.24.2");
6990
6990
  f(this, "five");
6991
6991
  /**
6992
6992
  * 插件事件钩子
@@ -7010,7 +7010,7 @@ let gs = class {
7010
7010
  }, Rn = class extends gs {
7011
7011
  };
7012
7012
  var Pt = /* @__PURE__ */ ((i) => (i.UnknownError = "UnknownError", i.DataNotLoaded = "DataNotLoaded", i.BreakOffByHide = "BreakOffByHide", i.BreakOffByDisable = "BreakOffByDisable", i.ModelNotLoaded = "ModelNotLoaded", i.ChangeModeError = "ChangeModeError", i.UpdateCameraError = "UpdateCameraError", i))(Pt || {});
7013
- const lu = 500, Kp = 80;
7013
+ const cu = 500, Kp = 80;
7014
7014
  function na(i, t, e = 4) {
7015
7015
  return Math.floor(i * Math.pow(10, e)) === Math.floor(t * Math.pow(10, e));
7016
7016
  }
@@ -7047,7 +7047,7 @@ function Va(i, t) {
7047
7047
  const { latitude: e, longitude: n, fov: s } = t, { latitude: o, longitude: r } = i.getCurrentState(), a = i.camera.fov;
7048
7048
  return !(!na(e, o, 2) || !na(n, r, 2) || s !== a);
7049
7049
  }
7050
- function cu(i, t, e = !0) {
7050
+ function du(i, t, e = !0) {
7051
7051
  return U(this, null, function* () {
7052
7052
  if (Va(i, t) === !0)
7053
7053
  return;
@@ -7191,13 +7191,13 @@ let nA = class extends Rn {
7191
7191
  this.showRejection = (u) => {
7192
7192
  a = !0, l = u;
7193
7193
  };
7194
- const [c] = yield ui(cu(this.five, this.showState, s.userAction));
7194
+ const [c] = yield ui(du(this.five, this.showState, s.userAction));
7195
7195
  if (c)
7196
7196
  throw c;
7197
7197
  if (a)
7198
7198
  throw l ? new Error(l) : new Error(Pt.UnknownError);
7199
7199
  this.updateSize(), this.floorIndex = s.floorIndex, this.five.model.show(this.floorIndex);
7200
- const d = s.modelOpacity, h = s.immediately ? 0 : lu;
7200
+ const d = s.modelOpacity, h = s.immediately ? 0 : cu;
7201
7201
  mi(this.five, d, h), this.render(h);
7202
7202
  });
7203
7203
  return this.showPromise = o().then(() => {
@@ -7520,13 +7520,13 @@ let oA = class extends Rn {
7520
7520
  this.showRejection = (u) => {
7521
7521
  a = !0, l = u;
7522
7522
  };
7523
- const [c] = yield ui(cu(this.five, this.showState, s.userAction));
7523
+ const [c] = yield ui(du(this.five, this.showState, s.userAction));
7524
7524
  if (c)
7525
7525
  throw c;
7526
7526
  if (a)
7527
7527
  throw l ? new Error(l) : new Error(Pt.UnknownError);
7528
7528
  this.updateSize(), this.updatePosition(), this.floorIndex = s.floorIndex, this.five.model.show(this.floorIndex);
7529
- const d = s.modelOpacity, h = s.immediately ? 0 : lu;
7529
+ const d = s.modelOpacity, h = s.immediately ? 0 : cu;
7530
7530
  mi(this.five, d, h), this.render(h);
7531
7531
  });
7532
7532
  return this.showPromise = o().then(() => {
@@ -8247,7 +8247,7 @@ function Ul(i) {
8247
8247
  let s = {};
8248
8248
  for (let o = 0; o < n.length; o += 1)
8249
8249
  s = tt(s, n[o]);
8250
- return t = new au({ props: s }), {
8250
+ return t = new lu({ props: s }), {
8251
8251
  c() {
8252
8252
  ne(t.$$.fragment);
8253
8253
  },
@@ -8315,7 +8315,7 @@ function pA(i) {
8315
8315
  let l = {};
8316
8316
  for (let d = 0; d < a.length; d += 1)
8317
8317
  l = tt(l, a[d]);
8318
- t = new ou({ props: l }), n = new gA({
8318
+ t = new ru({ props: l }), n = new gA({
8319
8319
  props: {
8320
8320
  extraObjects: (
8321
8321
  /*currentFloorExtraObjects*/
@@ -8935,7 +8935,7 @@ const iE = (i, t) => new IA(i, t), sE = [
8935
8935
  }
8936
8936
  return n && i.position.set(n.x, n.y, n.z), i;
8937
8937
  };
8938
- function du(i, t) {
8938
+ function hu(i, t) {
8939
8939
  i.traverse((e) => {
8940
8940
  var n;
8941
8941
  if (e.type === "Mesh") {
@@ -8955,7 +8955,7 @@ const aE = (i, t) => {
8955
8955
  if (l = (k = g == null ? void 0 : g.north_rad) != null ? k : n, typeof l != "number")
8956
8956
  throw new Error('"northRad"配置参数缺失:未配置指南针指向!');
8957
8957
  const I = yield new wh().loadAsync(v);
8958
- return du(I, {
8958
+ return hu(I, {
8959
8959
  transparent: !0,
8960
8960
  side: E.DoubleSide,
8961
8961
  blending: E.AdditiveBlending
@@ -8998,7 +8998,7 @@ function EA(i, t) {
8998
8998
  const e = (c = t == null ? void 0 : t.size) != null ? c : 512, n = (d = t == null ? void 0 : t.fontSize) != null ? d : e * (35 / 256) * 1.2, s = (h = t == null ? void 0 : t.backgroundColor) != null ? h : "rgba(0,0,0,0)", o = (u = t == null ? void 0 : t.fontColor) != null ? u : "#fff", r = (m = t == null ? void 0 : t.textAlign) != null ? m : "center", a = document.createElement("canvas");
8999
8999
  a.setAttribute("width", e + ""), a.setAttribute("height", e + "");
9000
9000
  const l = a.getContext("2d");
9001
- return l.fillStyle = s, l.fillRect(0, 0, e, e), l.font = `${n}px "微软雅黑"`, l.textAlign = r, l.fillStyle = o, l.fillText(i, e / 2, e * 0.7), new vf(a);
9001
+ return l.fillStyle = s, l.fillRect(0, 0, e, e), l.font = `${n}px "微软雅黑"`, l.textAlign = r, l.fillStyle = o, l.fillText(i, e / 2, e * 0.7), new bf(a);
9002
9002
  }
9003
9003
  const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9004
9004
  var p, g, v;
@@ -9011,7 +9011,7 @@ const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9011
9011
  if (e.rad = S, S === void 0)
9012
9012
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): rad is ${S}`));
9013
9013
  const R = yield new wh().loadAsync(P);
9014
- R.position.copy(k), R.rotation.z = S, R.scale.set(0.8, 0.8, 0.8), du(R, { transparent: !0, side: E.DoubleSide });
9014
+ R.position.copy(k), R.rotation.z = S, R.scale.set(0.8, 0.8, 0.8), hu(R, { transparent: !0, side: E.DoubleSide });
9015
9015
  const L = (Z = (_ = (V = (H = R.children) == null ? void 0 : H[0]) == null ? void 0 : V.children) == null ? void 0 : _[3]) == null ? void 0 : Z.clone();
9016
9016
  if (!L)
9017
9017
  return Promise.reject(new Error(`ModelEntryDoorGuidePlugin.load(): textMesh is ${L}`));
@@ -9022,7 +9022,7 @@ const kA = ({ x: i, y: t, z: e }) => new ie(i, t, e), lE = (i, t) => {
9022
9022
  return;
9023
9023
  if (!e.object)
9024
9024
  return console.error("ModelEntryDoorGuidePlugin.initAnimation(): state.object is ", e.object);
9025
- const y = 1, I = new bf(e.object);
9025
+ const y = 1, I = new yf(e.object);
9026
9026
  a.push(I);
9027
9027
  const k = I.clipAction(e.object.animations[0]);
9028
9028
  k.timeScale = y;
@@ -9152,15 +9152,15 @@ const ia = (i, t, e) => {
9152
9152
  function Kl(i, t) {
9153
9153
  return i.x === t.x && i.y === t.y;
9154
9154
  }
9155
- function hu(i, t) {
9155
+ function uu(i, t) {
9156
9156
  return Math.abs(i) === 1 / 0 && Math.abs(t) === 1 / 0 ? !0 : Math.abs(i - t) < 1e-3;
9157
9157
  }
9158
9158
  function fo(i, t) {
9159
9159
  return (t.y - i.y) / (t.x - i.x);
9160
9160
  }
9161
- function uu(i, t, e) {
9161
+ function fu(i, t, e) {
9162
9162
  const n = fo(i[1], i[0]), s = fo(t[1], t[0]);
9163
- if (isNaN(n) || isNaN(s) || hu(n, s))
9163
+ if (isNaN(n) || isNaN(s) || uu(n, s))
9164
9164
  return !1;
9165
9165
  if (Vs(i[0], t))
9166
9166
  return i[0];
@@ -9181,7 +9181,7 @@ function uu(i, t, e) {
9181
9181
  return { x: a, y: l };
9182
9182
  }
9183
9183
  function Vs(i, t) {
9184
- return Kl(i, t[0]) || Kl(i, t[1]) ? !0 : (t[0].x - i.x) * (i.x - t[1].x) >= 0 && (t[0].y - i.y) * (i.y - t[1].y) >= 0 && hu(fo(t[0], i), fo(i, t[1]));
9184
+ return Kl(i, t[0]) || Kl(i, t[1]) ? !0 : (t[0].x - i.x) * (i.x - t[1].x) >= 0 && (t[0].y - i.y) * (i.y - t[1].y) >= 0 && uu(fo(t[0], i), fo(i, t[1]));
9185
9185
  }
9186
9186
  function Qs(i, t, e) {
9187
9187
  return (i.x - e.x) * (t.y - e.y) - (t.x - e.x) * (i.y - e.y);
@@ -9189,8 +9189,8 @@ function Qs(i, t, e) {
9189
9189
  function TA(i, t) {
9190
9190
  return Math.max(i[0].x, i[1].x) >= Math.min(t[0].x, t[1].x) && Math.max(t[0].x, t[1].x) >= Math.min(i[0].x, i[1].x) && Math.max(i[0].y, i[1].y) >= Math.min(t[0].y, t[1].y) && Qs(t[0], i[1], i[0]) * Qs(i[1], t[1], i[0]) > 0 && Qs(i[0], t[1], t[0]) * Qs(t[1], i[1], t[0]) > 0 ? 1 : 0;
9191
9191
  }
9192
- function fu(i, t = 0) {
9193
- t <= 0 ? requestAnimationFrame(i) : requestAnimationFrame(() => fu(i, t - 1));
9192
+ function mu(i, t = 0) {
9193
+ t <= 0 ? requestAnimationFrame(i) : requestAnimationFrame(() => mu(i, t - 1));
9194
9194
  }
9195
9195
  const LA = `<style type="text/css">
9196
9196
  .PanoRulerPlugin-rule-line {
@@ -9402,7 +9402,7 @@ const LA = `<style type="text/css">
9402
9402
  ]
9403
9403
  ], k = [];
9404
9404
  for (let S = 0; S < I.length; S++) {
9405
- const P = uu([p, g], [I[S][0], I[S][1]], !0);
9405
+ const P = fu([p, g], [I[S][0], I[S][1]], !0);
9406
9406
  P && k.push(P);
9407
9407
  }
9408
9408
  return k.length === 0 ? !1 : k;
@@ -9488,7 +9488,7 @@ const LA = `<style type="text/css">
9488
9488
  const ht = (Math.PI / 2 - Math.atan2(ve - Ce, pe - We)) / Math.PI * 180, Me = _.querySelector(".PanoRulerPlugin-rule-label"), it = Me.children[0].clientWidth;
9489
9489
  it >= fe || it / 2 >= je / 100 * fe || it / 2 >= (1 - je / 100) * fe ? _.style.display = "none" : (_.style.display = "block", _.style.width = fe + "px", _.style.left = Ce + "px", _.style.top = pe + "px", _.style.transform = `rotate(${-ht}deg)`, Me.style.left = `${je}%`);
9490
9490
  }
9491
- }, h = () => fu(d), u = () => {
9491
+ }, h = () => mu(d), u = () => {
9492
9492
  var p, g;
9493
9493
  return e.loaded ? (e.enable || (s.setAttribute("class", "PanoRulerPlugin" + (e.options.className ? " " + e.options.className : "")), (g = (p = i.getElement()) == null ? void 0 : p.parentElement) == null || g.append(s), d(), i.on("modeChange", d), i.on("cameraUpdate", h), e.enable = !0), !0) : !1;
9494
9494
  }, m = () => (e.enable && (i.off("modeChange", d), i.off("cameraUpdate", h), s && s.remove(), e.enable = !1), !0);
@@ -9819,7 +9819,7 @@ function HA(i, t, e) {
9819
9819
  [{ x: 0, y: l }, { x: a, y: l }]
9820
9820
  ], P = [];
9821
9821
  for (let R = 0; R < S.length; R++) {
9822
- const L = uu([I, k], [S[R][0], S[R][1]], !0);
9822
+ const L = fu([I, k], [S[R][0], S[R][1]], !0);
9823
9823
  L && P.push(L);
9824
9824
  }
9825
9825
  return P.length === 0 ? !1 : P;
@@ -10217,8 +10217,8 @@ class XA extends Rn {
10217
10217
  return Po(this.five).create3DDomContainer(e);
10218
10218
  }
10219
10219
  }
10220
- const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = new bi(6522623), $A = new bi(16777215), ev = new bi(6522623), tv = 6, nv = 8, iv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==", mu = new ph().load(iv), sv = {
10221
- pointTexture: mu,
10220
+ const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = new bi(6522623), $A = new bi(16777215), ev = new bi(6522623), tv = 6, nv = 8, iv = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMAG/Py2baba05un7UgfgAAAHJJREFUKM9joBpgLHVSCRdA4metAoJlCJHmVWBgAeNzroKCCVCBLpjACqgJVjCBxRBT2FbBQQJYQAohsBAsUIUQWA4WiEIILAULeCEEloAFtBACizAEMLRgGIphLabDMJ2O6TlM72MGECIIMQIZIxqoBQCPvpJ/e9FaAAAAAABJRU5ErkJggg==", gu = new ph().load(iv), sv = {
10221
+ pointTexture: gu,
10222
10222
  pointSize: tv,
10223
10223
  lineWidth: ZA,
10224
10224
  lineColor: qA,
@@ -10226,7 +10226,7 @@ const fE = (i, t) => new XA(i, t), ZA = 1, JA = 3, qA = new bi(16777215), KA = n
10226
10226
  lineRenderOrder: 20,
10227
10227
  pointsRenderOrder: 20
10228
10228
  }, ov = {
10229
- pointTexture: mu,
10229
+ pointTexture: gu,
10230
10230
  pointSize: nv,
10231
10231
  lineWidth: JA,
10232
10232
  lineColor: KA,
@@ -10264,7 +10264,7 @@ function lv(i) {
10264
10264
  const t = document.createElement("div");
10265
10265
  return i != null && i.id && (t.id = i == null ? void 0 : i.id), t.classList.add("five-plugin-measure__distance"), t.style.position = "absolute", t.style.left = "0", t.style.top = "0", t.style.width = "0", t.style.height = "0", t.style.transform = "translate(-10px, -10px)", t.style.transformOrigin = "left top", i != null && i.style && Object.assign(t.style, i.style), t;
10266
10266
  }
10267
- class gu {
10267
+ class pu {
10268
10268
  constructor(t) {
10269
10269
  f(this, "ndcPosition");
10270
10270
  f(this, "contentDom");
@@ -10324,7 +10324,7 @@ class gu {
10324
10324
  this.containerDom.style.transform = `translate(${r}px, ${a}px)`, this.tempShow();
10325
10325
  }
10326
10326
  }
10327
- class cv extends gu {
10327
+ class cv extends pu {
10328
10328
  constructor(e) {
10329
10329
  var n;
10330
10330
  e.contentStyle = Ae(N({}, e.contentStyle), {
@@ -10482,6 +10482,13 @@ let To = class {
10482
10482
  f(this, "updateDistanceUI", () => {
10483
10483
  this.dashed.distanceItem.update(this.five), this.model.getAllLines().forEach((t) => t.distanceItem.update(this.five));
10484
10484
  });
10485
+ f(this, "updateAreaUI", () => {
10486
+ this.dashed.distanceItem.update(this.five), this.model.getAllAreas().forEach((t) => {
10487
+ t.areaItem.updateArea(this.five), t.polyline.lines.forEach((e) => {
10488
+ e.distanceItem.update(this.five);
10489
+ });
10490
+ });
10491
+ });
10485
10492
  var n, s;
10486
10493
  this.five = t.five, this.hook = t.hook, this.model = t.model, this.getMeasureType = t.getMeasureType, this.config = t.config, this.magnifierParams = t.magnifierParams, this.editParams = t.editParams, this.magnifier = t.magnifier, this.container = t.container, this.isMobile = (s = (n = t.openParams) == null ? void 0 : n.isMobile) != null ? s : !1, this.userDistanceItemCreator = t.userDistanceItemCreator, this.group = t.group, this.mouseGroup = t.mouseGroup, this.dashed = new An(new bt([0, 0, 0]), new bt([0, 0, 0]), this.model), this.dashed.distanceItem.setCanSelect(!1), this.dashed.mesh.setMaterial({ dashed: !0, dashScale: 100 }), this.dashed.mesh.name = "dashLine", this.perpendicularDashed = new An(new bt([0, 0, 0]), new bt([0, 0, 0]), this.model), this.perpendicularDashed.distanceItem.setCanSelect(!1), this.perpendicularDashed.mesh.setMaterial({ dashed: !0, dashScale: 40, color: new bi(10218089) }), this.perpendicularDashed.mesh.name = "perpendicularDashLine";
10487
10494
  const e = this.five.getElement();
@@ -10607,7 +10614,7 @@ let To = class {
10607
10614
  this.id = t.id, this.clear(), this.lines.push(...t.lines), this.points.push(...t.points);
10608
10615
  }
10609
10616
  };
10610
- class pu extends Ah {
10617
+ class Au extends Ah {
10611
10618
  constructor() {
10612
10619
  super();
10613
10620
  }
@@ -10633,11 +10640,11 @@ function hv(i) {
10633
10640
  if (t.length < 3)
10634
10641
  return;
10635
10642
  t.at(-1).equals(t[0]) || t.push(t[0]);
10636
- const e = t.flatMap((r) => [r.x, r.y, r.z]), n = new E.Float32BufferAttribute(e, 3), s = Lf(e, void 0, 3), o = new E.BufferGeometry();
10643
+ const e = t.flatMap((r) => [r.x, r.y, r.z]), n = new E.Float32BufferAttribute(e, 3), s = jf(e, void 0, 3), o = new E.BufferGeometry();
10637
10644
  return o.setAttribute("position", n), o.setIndex(s), o.name = "PolygonGeometry", o;
10638
10645
  }
10639
10646
  const uv = new E.BufferGeometry();
10640
- class Au extends pu {
10647
+ class vu extends Au {
10641
10648
  constructor(e) {
10642
10649
  super();
10643
10650
  f(this, "isPolygonMesh", !0);
@@ -10675,16 +10682,16 @@ function fv(i) {
10675
10682
  return;
10676
10683
  let e = 0, n = new ie();
10677
10684
  for (const [s, o, r] of t) {
10678
- const a = vu(s, o, r), l = mv(s, o, r, a);
10685
+ const a = bu(s, o, r), l = mv(s, o, r, a);
10679
10686
  e += a, n.add(l);
10680
10687
  }
10681
10688
  return n = n.divideScalar(e), { center: n, area: e };
10682
10689
  }
10683
- function vu(i, t, e) {
10690
+ function bu(i, t, e) {
10684
10691
  return t.clone().sub(i).cross(e.clone().sub(i)).length() / 2;
10685
10692
  }
10686
10693
  function mv(i, t, e, n) {
10687
- const s = n != null ? n : vu(i, t, e);
10694
+ const s = n != null ? n : bu(i, t, e);
10688
10695
  return sn(i, t, e).multiplyScalar(s);
10689
10696
  }
10690
10697
  function gv(i) {
@@ -10699,7 +10706,7 @@ function gv(i) {
10699
10706
  }
10700
10707
  return n;
10701
10708
  }
10702
- class pv extends gu {
10709
+ class pv extends pu {
10703
10710
  constructor(e) {
10704
10711
  e.containerStyle = Ae(N({}, e.containerStyle), {
10705
10712
  zIndex: "1"
@@ -10715,17 +10722,18 @@ class pv extends gu {
10715
10722
  * @description: dom 依赖的多边形的顶点的位置更新时,更新 dom 的位置和面积
10716
10723
  */
10717
10724
  updateArea(e, n) {
10725
+ var l, c;
10718
10726
  const s = n != null ? n : this.area.polygon.geometry, o = fv(s);
10719
10727
  if (!o) {
10720
10728
  this.ndcPosition = null, this.updateDomPosition(e);
10721
10729
  return;
10722
10730
  }
10723
10731
  const { area: r, center: a } = o;
10724
- this.ndcPosition = a, this.updateDomPosition(e), this.updateAreaText(r);
10732
+ this.ndcPosition = a, this.updateDomPosition(e), (c = (l = this.area.model) == null ? void 0 : l.config) != null && c.getAreaText ? this.contentDom.innerText = this.area.model.config.getAreaText(r) : this.updateAreaText(r, { fix: 2 });
10725
10733
  }
10726
10734
  updateAreaText(e, n) {
10727
- const { unit: s = "m²", fix: o = 2 } = n != null ? n : {};
10728
- this.contentDom.innerText = `${e.toFixed(o)}${s}`;
10735
+ const { unit: s = "m²", fix: o } = n != null ? n : {};
10736
+ this.contentDom.innerText = `${Bh(o) ? e : e.toFixed(o)}${s}`;
10729
10737
  }
10730
10738
  }
10731
10739
  class sa {
@@ -10737,6 +10745,7 @@ class sa {
10737
10745
  f(this, "lightMesh");
10738
10746
  f(this, "areaItem");
10739
10747
  f(this, "hook", new mt());
10748
+ f(this, "model");
10740
10749
  /** 多边形mesh */
10741
10750
  f(this, "polygon");
10742
10751
  /** 多边形顶点 */
@@ -10750,7 +10759,6 @@ class sa {
10750
10759
  /** 多边形dom容器 */
10751
10760
  f(this, "domContainer");
10752
10761
  f(this, "five");
10753
- f(this, "model");
10754
10762
  /**
10755
10763
  * @description: five camera update 时,更新Dom的位置
10756
10764
  */
@@ -10758,7 +10766,7 @@ class sa {
10758
10766
  this.five && (this.polyline.lines.forEach((t) => t.distanceItem.update(this.five)), this.areaItem.updateDomPosition(this.five));
10759
10767
  });
10760
10768
  var n;
10761
- t && (this.points = t), this.model = e.model, this.polygon = new Au(t), this.polyline = new gi({ model: e.model }), this.areaItem = new pv({
10769
+ t && (this.points = t), this.model = e.model, this.polygon = new vu(t), this.polyline = new gi({ model: e.model }), this.areaItem = new pv({
10762
10770
  area: this,
10763
10771
  clickCallback: (s, o) => {
10764
10772
  const r = s.clientX + "px", a = s.clientY + "px";
@@ -10841,7 +10849,7 @@ function Hs(i, t, e) {
10841
10849
  function _s(i, t, e) {
10842
10850
  return t.x <= Math.max(i.x, e.x) && t.x >= Math.min(i.x, e.x) && t.z <= Math.max(i.z, e.z) && t.z >= Math.min(i.z, e.z);
10843
10851
  }
10844
- const bu = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
10852
+ const yu = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
10845
10853
  function oa(i) {
10846
10854
  const { x: t, y: e } = i.center, { clientWidth: n, clientHeight: s } = i.target, o = i.target.getBoundingClientRect(), r = new et(t, e).sub(new et(o.left, o.top)), a = new et(r.x / n * 2 - 1, -(r.y / s) * 2 + 1);
10847
10855
  return { point: r, ndcPoint: a };
@@ -10967,7 +10975,7 @@ class Av {
10967
10975
  var o, r;
10968
10976
  this.five = t;
10969
10977
  const n = (o = e == null ? void 0 : e.mode) != null ? o : "auto";
10970
- n === "auto" ? this.mode = bu ? "fixed" : "cursor" : this.mode = n;
10978
+ n === "auto" ? this.mode = yu ? "fixed" : "cursor" : this.mode = n;
10971
10979
  const s = {
10972
10980
  autoFixPCPosition: this.mode === "cursor",
10973
10981
  initialPosition: this.mode === "fixed" ? { left: "35%", top: "20%" } : void 0
@@ -11012,7 +11020,7 @@ function bv(i, t) {
11012
11020
  distance: n,
11013
11021
  point: s,
11014
11022
  object: new Ah(),
11015
- face: new yf(0, 0, 0, o)
11023
+ face: new wf(0, 0, 0, o)
11016
11024
  };
11017
11025
  }
11018
11026
  const yv = `
@@ -11504,7 +11512,7 @@ class cc extends To {
11504
11512
  f(this, "wantsTapGesture", (e) => {
11505
11513
  var p;
11506
11514
  const n = this.model.areas.map((g) => e.intersectObject(g.polygon, !0)[0]).sort((g, v) => g.distance - v.distance), s = (p = n[0]) == null ? void 0 : p.object.parent;
11507
- if (s instanceof Au) {
11515
+ if (s instanceof vu) {
11508
11516
  const g = this.model.areas.find((v) => v.polygon === s);
11509
11517
  if (g) {
11510
11518
  const { x: v, y } = n[0].point.clone().project(this.five.camera), I = `${(v + 1) / 2 * 100}%`, k = `${(-y + 1) / 2 * 100}%`;
@@ -11612,7 +11620,7 @@ class cc extends To {
11612
11620
  });
11613
11621
  }
11614
11622
  }
11615
- class yu {
11623
+ class wu {
11616
11624
  constructor(t) {
11617
11625
  f(this, "config");
11618
11626
  f(this, "polylines", []);
@@ -11718,25 +11726,25 @@ void main() {
11718
11726
  gl_FragColor = vec4(1.0,1.0,1.0,match);
11719
11727
  }
11720
11728
  `;
11721
- function wu(i) {
11729
+ function Cu(i) {
11722
11730
  var v, y;
11723
11731
  const t = (v = i.isMobile) != null ? v : !0, e = (y = i.useNormalVector) != null ? y : !0;
11724
11732
  let n = 10349931;
11725
11733
  e && i.ballColor >= 0 && (n = i.ballColor);
11726
- const s = new ri(), o = new wf(0.3, 0.3), r = t ? xv : Dv, a = new ph().load(r);
11727
- a.encoding = Cf, a.minFilter = Ur;
11734
+ const s = new ri(), o = new Cf(0.3, 0.3), r = t ? xv : Dv, a = new ph().load(r);
11735
+ a.encoding = If, a.minFilter = Ur;
11728
11736
  const l = new rs({
11729
11737
  map: a,
11730
11738
  transparent: !0,
11731
11739
  depthTest: !1
11732
- }), c = new ts(o, l), d = new If();
11733
- d.add(new Pf(new ie(0, 0, 0), new ie(0, 0, 0.1)));
11734
- const h = new Ef(d, 8, 3e-3), u = new vh({
11740
+ }), c = new ts(o, l), d = new Pf();
11741
+ d.add(new Ef(new ie(0, 0, 0), new ie(0, 0, 0.1)));
11742
+ const h = new kf(d, 8, 3e-3), u = new vh({
11735
11743
  vertexShader: Sv,
11736
11744
  fragmentShader: Tv,
11737
11745
  depthTest: !1,
11738
11746
  transparent: !0
11739
- }), m = new ts(h, u), A = new kf(0.01, 20, 20), p = new rs({
11747
+ }), m = new ts(h, u), A = new Mf(0.01, 20, 20), p = new rs({
11740
11748
  color: n,
11741
11749
  depthTest: !1,
11742
11750
  transparent: !0,
@@ -11792,8 +11800,8 @@ class Lv {
11792
11800
  const t = this.five.model.intersectRaycaster(this.raycaster)[0];
11793
11801
  return t || null;
11794
11802
  });
11795
- this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = wu(N({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = Im, this.container.classList.add("range-piece-controller"), this.content = this.container.querySelector(".range-piece__content"), this.content && (this.content.style.transform = `matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`, this.content.style.opacity = `${this.pieceStyl.opacity}`), t.container.append(this.container), this.intersectMesh = new ts(
11796
- new Mf(0.04, 0.08, 32),
11803
+ this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = Cu(N({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = Pm, this.container.classList.add("range-piece-controller"), this.content = this.container.querySelector(".range-piece__content"), this.content && (this.content.style.transform = `matrix3d(${this.pieceStyl.matrix3d.toString()}) scale(${this.pieceStyl.scale})`, this.content.style.opacity = `${this.pieceStyl.opacity}`), t.container.append(this.container), this.intersectMesh = new ts(
11804
+ new xf(0.04, 0.08, 32),
11797
11805
  new rs({ color: 1245179, opacity: 0, side: bh, transparent: !0 })
11798
11806
  ), this.container.addEventListener("animationend", this.computedCenterMouseXY), this.five.on("cameraUpdate", this.onCameraDirectionUpdate), this.hook.on("willChangeState", this.onWillChangeState);
11799
11807
  }
@@ -11943,7 +11951,7 @@ class Yi extends To {
11943
11951
  f(this, "cancelDeleteClickCallback", () => {
11944
11952
  this.clearHighlightLines();
11945
11953
  });
11946
- this.model = new yu(this.config), this.polyline = new gi({ model: this.model }), this.rangePieceController = new Lv(e), this.deleteDom = new Ga(this.five, {
11954
+ this.model = new wu(this.config), this.polyline = new gi({ model: this.model }), this.rangePieceController = new Lv(e), this.deleteDom = new Ga(this.five, {
11947
11955
  i18n: this.config.i18n,
11948
11956
  onClick: this.deleteDomClickCallback,
11949
11957
  cancel: this.cancelDeleteClickCallback
@@ -12199,11 +12207,11 @@ const go = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHhtbG
12199
12207
  height: "184px",
12200
12208
  background: "linear-gradient(180deg, rgba(0,0,0,0.00) 0%, #000000 100%)",
12201
12209
  zIndex: "0"
12202
- }, Cu = {
12210
+ }, Iu = {
12203
12211
  margin: "0 64px"
12204
12212
  }, Nv = {
12205
12213
  opacity: "0.85"
12206
- }, Iu = {
12214
+ }, Pu = {
12207
12215
  width: "72px",
12208
12216
  height: "72px",
12209
12217
  backgroundSize: "100%",
@@ -12253,7 +12261,7 @@ class Wv {
12253
12261
  end: (a = this._params.endButtonText) != null ? a : this._btnTexts.end,
12254
12262
  revoke: (l = this._params.revokeButtonText) != null ? l : this._btnTexts.revoke,
12255
12263
  exit: (c = this._params.exitButtonText) != null ? c : this._btnTexts.exit
12256
- }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), Object.assign(this.mainElement.mainIcon.style, Iu), Object.assign(this.mainElement.mainItem.style, Cu);
12264
+ }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), Object.assign(this.mainElement.mainIcon.style, Pu), Object.assign(this.mainElement.mainItem.style, Iu);
12257
12265
  const { revokeTextDom: s, exitTextDom: o } = this._getTextElement();
12258
12266
  s && (s.innerText = this._btnTexts.revoke), o && (o.innerText = this._btnTexts.exit), this.change2Add(), this.measureController.hook.on("modeChange", this.modeChangeHandler), this.mainElement.mainItem.addEventListener("click", this.onClick), this.mainElement.mainItem.addEventListener("mouseenter", this.onMouseEnter), this.mainElement.mainItem.addEventListener("mouseleave", this.onMouseLeave);
12259
12267
  }
@@ -12305,7 +12313,7 @@ class Fv {
12305
12313
  this._params = n, this._btnTexts = {
12306
12314
  start: (s = this._params.startButtonText) != null ? s : this._btnTexts.start,
12307
12315
  end: (o = this._params.endButtonText) != null ? o : this._btnTexts.end
12308
- }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), this.mainElement.mainIcon.setAttribute("style", "-webkit-tap-highlight-color: rgba(0,0,0,0);"), Object.assign(this.mainElement.mainIcon.style, Iu), Object.assign(this.mainElement.mainItem.style, Cu), this.change2Add(), this.mainElement.mainItem.addEventListener("click", this.onClick);
12316
+ }, this.measureController = t, this.container = e, this.mainElement = this.getMainElement(), this.mainElement.mainIcon.setAttribute("style", "-webkit-tap-highlight-color: rgba(0,0,0,0);"), Object.assign(this.mainElement.mainIcon.style, Pu), Object.assign(this.mainElement.mainItem.style, Iu), this.change2Add(), this.mainElement.mainItem.addEventListener("click", this.onClick);
12309
12317
  }
12310
12318
  dispose() {
12311
12319
  this.mainElement.mainItem.removeEventListener("click", this.onClick);
@@ -12639,18 +12647,18 @@ function $v(i, t, e) {
12639
12647
  "onClick" in s && e(0, n = s.onClick);
12640
12648
  }, [n];
12641
12649
  }
12642
- class Pu extends le {
12650
+ class Eu extends le {
12643
12651
  constructor(t) {
12644
12652
  super(), ae(this, t, $v, Kv, oe, { onClick: 0 }, qv);
12645
12653
  }
12646
12654
  }
12647
- const Eu = "data:image/png;base64,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", ku = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFO0lEQVR4Ae2YWYgdRRSG78SFOG6Ju4MxIRnRgCCKBlSC24P64IO4h7wI6oMPCioqAX1TfFIQRFFBETQmIioqGhDBh3GJiMSAZnABNSIuUQTFbcz4fZcup297b9+t7525wznwU11d1aervj6nurprtbAgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBIJAEMgIzM7OLkHL0STaJ8DMgRkDyDK0CX2MptEUOrMbSGPddB6VvkAwUo5Hd6OzCuP+hfr5Y2NjvxbON60uaXp2hE8CZ3+GfzJ6ABXhOLND0VoPOrF9O+k0Kn2AM85Y16M70UTJuL8taWtoWjSAgHMYM7sQ3YyWN8yysbKZ9NrdeKp1bVGsQcBxvbkUXYsOaD3d2jbabgXQ3yV9GppGPoKA43pyDboclb3G36T9rm7g0L82soAAY/S7CG9E56GybHiLduH4BuvKRhIQcIyUi5BwTmsz47dpvwftadOvafPIAQLOUmZiSl2JVjed1dzJ7Rzei74iembnTnd+NFKAgHMIU7seXYKObTPN92kXzue9wtH/yAACjkBuQecgN3tltoNGN4rTwNlb1rFd20gAAs4JTOR2dAYqe407351IOB/2C0dnlQBiAm7vZ6oYkIPKG77XUd+E1iDvU2bTND6I3qtqLH0BYvDuWP3uORHNUHeAOxlcRx+C9C01/F1MhzvQUahsj6OfT9HDaKoqODot2zvY3tIYvOuAi+W5SD++Xf5BU+h1BvklZc+G/+u4+AbkwtxunF/QRzivcl/HUJn1E0GTjMKNmtGin7+QKeD30AQTfI1ye7dPk+uMFFPqMtRuvaFLzQfxOKocjs57ApRNwrfKDPKJ+YSV9Z/RKcj2lfR9BUi/cdzW6GsU3o98U3Uytq/p9wR6serIwWfdevoflA3mh8yHGzBfpYJK5U8cuz5dhW5k4isoS40+ptJDaD3qBM439HsKbR0UHHzXegLkhdhnaBcyrfJwhKSMGtPuAnQbAM6mbGq0HU3DI+h01Akc/+c8owYJB/9tFz/7NDUmZUqtRFegVehP5OSU64jlfpkOp/wRbUNbmNQflHXDzyoO7kMnIX16rWr18L6nbTN6FD+m9EDNAfVsGaRJHAjpOGTEJDgJViqX0WakvYu2ot3oVHQT0odRJxT7C1Y/RUtwHgNOx/90ik66qfcFyBvlIG2gOoGMjgTFMg/sQOoHo++QQFynjC7BJjjpWq/LQ3LNM62GBod79Z5iXpwsg7SWul/YQiqmW4qINPmD6OM5zUU+QbQs9vUhzgsc7tsyz23r2Ah3J/kJegE5mXFkOjVbvNMC7v7JaHMd8ZzST/4a6/MGh3vXU8GybxMS9hGOfOJG0jFIAGnylk7edpXOm1qpzWPb7Ge0mYrPoaGmFff7zxxEZZZB2oFD00RIRyAhJSh5MHkoAhFOeit5vQvyFvTksBZk7vU/qxSQ3jNIH2R3cqPoh+bvKEVMiqJ8tKSo8TLXIdPqWfT0fMLh/tWlmM6SMam9pFsRkgt3ihRhGS3FiHLT6X7JfY475KG8yrlXS6s8gtKdCpCu5ryR5Os8H0H5NDNyhGNaPc/1Kd2ozp8NDJBTKkDawKkjkZFkeuVBOY49yMh5eaHAYSyDSTEdJytAcuF2n2TqmF5pD5Tg+B9pQUQOY6ubgxyKsSYZNf4GEdJqJJylyA/Pl9AbCw0OY6o/RcuhGJB8IMJZh1Ygf4u8g3YBx5QLk4DRhMaRC3NYEAgCQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYJEQ+BdpRqKi3IjqNwAAAABJRU5ErkJggg==", mc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAABi0lEQVRoBe2Yu20DMRBEdW7EuVLX4NQVuAEVoUhFuAFV4FQ1OHWuRkzNABRwMLhDfbhcBhyA0IEjnvYNjjxoN5upmcBMYCYQmcCifjyl9AL/E+Md4xXjjHHCOC7L8ofPcJkAufgvVPhWqPIHc7sRIJiwJSZfKp7f5zz9cCkAPjZKNV+tbeYpAD7zSjVfrW3mKQBuWKWar9Y28xQATxsl7PNkHgJqYUtPARzxQzxtLG1h7KMhZIL5KP3/HkgonMVf9Y2LA45UzneXBChVkxPfw/tY+WEQdwOw6JEgHgIYCeJhgFEgngIYAeJpgGiIJgCREM0AoiCaAkRANAfoDeEC0BPCDaAXhCtADwh3AG+ILgCeEN0AvCC6AnhAdAdoDRECICB+4bEmtmzOGNU2ZhgAirP+2dFaS7YxVVdifROX69wIOODmTN6SbGOGArDiDFF7Esw2ZjhAjr3WpjT9UQC4YZVMfxSAWhvT9EcBUG1MnkL0i6ptnuIij0mjjVl9D3jUMu85E5gJzARuT+ACS7KuMQ7rOEcAAAAASUVORK5CYII=", gc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAByElEQVRoBe1ZMU4DMRC8Q7yCJjVNKCh4ARVfAPo0PCYNPeQLVLyAggIa6jQ8g2NGsiJjeUfHrdGd0K60Sm7t3R3P+hx503UhwUAwEAzMyUCvkg/DcITxa+gldAXdQ5+hu77vv/DZTKbmMheQAt4D4XkF5Stsm1aL8OQiw5aQ+Rp4zqed461kci5VgUegO22F0BnnA9W+qcVQFeCeX4qYWNQC+MIuRUwsxwIhTxu1hV4w/ib8fzN0hskXwoFYqqIqsIMHT5uafML4XhuYaGMsxqwJMRBLVcyXmLOzs/ku8ybzTDhkthZfiWUNzSuxxbP8zVEV6HjOQx8KdNw2rcEzBWP+2JLMTQwctEQuwHJakj0WMHc1ogJRAScDsYWcBLrdowJuCp0BogJOAt3uUQE3hc4AUQEngW73/10BXimhtwVNvIDLq2gxf+wjYzL2QZg7XWsPtvKLCSQ5Wq1FXsCfoK2ulsRxBT2BliLbmGoLqXYfE/EC3koYqwae8WUbU1UgWoutyoM4KyuW2kJ7y2kGu4nF01rcVnpGk9aWTrq8eVbGad5alO2+MvuIZ9XGlLnMl5hJ01HK02ixfzGNICemBAPBQDDwhwx8A43PdoQvgLfYAAAAAElFTkSuQmCC";
12655
+ const ku = "data:image/png;base64,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", Mu = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAFO0lEQVR4Ae2YWYgdRRSG78SFOG6Ju4MxIRnRgCCKBlSC24P64IO4h7wI6oMPCioqAX1TfFIQRFFBETQmIioqGhDBh3GJiMSAZnABNSIuUQTFbcz4fZcup297b9+t7525wznwU11d1aervj6nurprtbAgEASCQBAIAkEgCASBIBAEgkAQCAJBIAgEgSAQBIJAEMgIzM7OLkHL0STaJ8DMgRkDyDK0CX2MptEUOrMbSGPddB6VvkAwUo5Hd6OzCuP+hfr5Y2NjvxbON60uaXp2hE8CZ3+GfzJ6ABXhOLND0VoPOrF9O+k0Kn2AM85Y16M70UTJuL8taWtoWjSAgHMYM7sQ3YyWN8yysbKZ9NrdeKp1bVGsQcBxvbkUXYsOaD3d2jbabgXQ3yV9GppGPoKA43pyDboclb3G36T9rm7g0L82soAAY/S7CG9E56GybHiLduH4BuvKRhIQcIyUi5BwTmsz47dpvwftadOvafPIAQLOUmZiSl2JVjed1dzJ7Rzei74iembnTnd+NFKAgHMIU7seXYKObTPN92kXzue9wtH/yAACjkBuQecgN3tltoNGN4rTwNlb1rFd20gAAs4JTOR2dAYqe407351IOB/2C0dnlQBiAm7vZ6oYkIPKG77XUd+E1iDvU2bTND6I3qtqLH0BYvDuWP3uORHNUHeAOxlcRx+C9C01/F1MhzvQUahsj6OfT9HDaKoqODot2zvY3tIYvOuAi+W5SD++Xf5BU+h1BvklZc+G/+u4+AbkwtxunF/QRzivcl/HUJn1E0GTjMKNmtGin7+QKeD30AQTfI1ye7dPk+uMFFPqMtRuvaFLzQfxOKocjs57ApRNwrfKDPKJ+YSV9Z/RKcj2lfR9BUi/cdzW6GsU3o98U3Uytq/p9wR6serIwWfdevoflA3mh8yHGzBfpYJK5U8cuz5dhW5k4isoS40+ptJDaD3qBM439HsKbR0UHHzXegLkhdhnaBcyrfJwhKSMGtPuAnQbAM6mbGq0HU3DI+h01Akc/+c8owYJB/9tFz/7NDUmZUqtRFegVehP5OSU64jlfpkOp/wRbUNbmNQflHXDzyoO7kMnIX16rWr18L6nbTN6FD+m9EDNAfVsGaRJHAjpOGTEJDgJViqX0WakvYu2ot3oVHQT0odRJxT7C1Y/RUtwHgNOx/90ik66qfcFyBvlIG2gOoGMjgTFMg/sQOoHo++QQFynjC7BJjjpWq/LQ3LNM62GBod79Z5iXpwsg7SWul/YQiqmW4qINPmD6OM5zUU+QbQs9vUhzgsc7tsyz23r2Ah3J/kJegE5mXFkOjVbvNMC7v7JaHMd8ZzST/4a6/MGh3vXU8GybxMS9hGOfOJG0jFIAGnylk7edpXOm1qpzWPb7Ge0mYrPoaGmFff7zxxEZZZB2oFD00RIRyAhJSh5MHkoAhFOeit5vQvyFvTksBZk7vU/qxSQ3jNIH2R3cqPoh+bvKEVMiqJ8tKSo8TLXIdPqWfT0fMLh/tWlmM6SMam9pFsRkgt3ihRhGS3FiHLT6X7JfY475KG8yrlXS6s8gtKdCpCu5ryR5Os8H0H5NDNyhGNaPc/1Kd2ozp8NDJBTKkDawKkjkZFkeuVBOY49yMh5eaHAYSyDSTEdJytAcuF2n2TqmF5pD5Tg+B9pQUQOY6ubgxyKsSYZNf4GEdJqJJylyA/Pl9AbCw0OY6o/RcuhGJB8IMJZh1Ygf4u8g3YBx5QLk4DRhMaRC3NYEAgCQSAIBIEgEASCQBAIAkEgCASBIBAEgkAQCAJBYJEQ+BdpRqKi3IjqNwAAAABJRU5ErkJggg==", mc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAABi0lEQVRoBe2Yu20DMRBEdW7EuVLX4NQVuAEVoUhFuAFV4FQ1OHWuRkzNABRwMLhDfbhcBhyA0IEjnvYNjjxoN5upmcBMYCYQmcCifjyl9AL/E+Md4xXjjHHCOC7L8ofPcJkAufgvVPhWqPIHc7sRIJiwJSZfKp7f5zz9cCkAPjZKNV+tbeYpAD7zSjVfrW3mKQBuWKWar9Y28xQATxsl7PNkHgJqYUtPARzxQzxtLG1h7KMhZIL5KP3/HkgonMVf9Y2LA45UzneXBChVkxPfw/tY+WEQdwOw6JEgHgIYCeJhgFEgngIYAeJpgGiIJgCREM0AoiCaAkRANAfoDeEC0BPCDaAXhCtADwh3AG+ILgCeEN0AvCC6AnhAdAdoDRECICB+4bEmtmzOGNU2ZhgAirP+2dFaS7YxVVdifROX69wIOODmTN6SbGOGArDiDFF7Esw2ZjhAjr3WpjT9UQC4YZVMfxSAWhvT9EcBUG1MnkL0i6ptnuIij0mjjVl9D3jUMu85E5gJzARuT+ACS7KuMQ7rOEcAAAAASUVORK5CYII=", gc = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAADbN2wMAAAByElEQVRoBe1ZMU4DMRC8Q7yCJjVNKCh4ARVfAPo0PCYNPeQLVLyAggIa6jQ8g2NGsiJjeUfHrdGd0K60Sm7t3R3P+hx503UhwUAwEAzMyUCvkg/DcITxa+gldAXdQ5+hu77vv/DZTKbmMheQAt4D4XkF5Stsm1aL8OQiw5aQ+Rp4zqed461kci5VgUegO22F0BnnA9W+qcVQFeCeX4qYWNQC+MIuRUwsxwIhTxu1hV4w/ib8fzN0hskXwoFYqqIqsIMHT5uafML4XhuYaGMsxqwJMRBLVcyXmLOzs/ku8ybzTDhkthZfiWUNzSuxxbP8zVEV6HjOQx8KdNw2rcEzBWP+2JLMTQwctEQuwHJakj0WMHc1ogJRAScDsYWcBLrdowJuCp0BogJOAt3uUQE3hc4AUQEngW73/10BXimhtwVNvIDLq2gxf+wjYzL2QZg7XWsPtvKLCSQ5Wq1FXsCfoK2ulsRxBT2BliLbmGoLqXYfE/EC3koYqwae8WUbU1UgWoutyoM4KyuW2kJ7y2kGu4nF01rcVnpGk9aWTrq8eVbGad5alO2+MvuIZ9XGlLnMl5hJ01HK02ixfzGNICemBAPBQDDwhwx8A43PdoQvgLfYAAAAAElFTkSuQmCC";
12648
12656
  function e0(i) {
12649
12657
  ue(i, "svelte-468fdd", '*.forbid.svelte-468fdd.svelte-468fdd{pointer-events:none !important;opacity:0.5}.Measure-Controller.svelte-468fdd.svelte-468fdd{pointer-events:none;position:relative;width:100%;height:100%;z-index:2}.Measure-Controller.svelte-468fdd .mode-switcher.svelte-468fdd{margin-top:2.25rem}.Measure-Controller.svelte-468fdd .bottom.svelte-468fdd{position:absolute;width:100%;bottom:0}.Measure-Controller.svelte-468fdd .bottom .mask.svelte-468fdd{position:absolute;bottom:0;width:100%;height:11.5rem;background-size:100%;background-image:linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.3))}.Measure-Controller.svelte-468fdd .bottom .center.svelte-468fdd{display:flex;flex-direction:column;align-items:center;margin-bottom:2.5rem}.Measure-Controller.svelte-468fdd .buttons.svelte-468fdd{pointer-events:all;display:flex;align-items:center;height:2.5rem;background:rgba(0, 0, 0, 0.2);color:rgba(255, 255, 255, 0.85);width:-moz-max-content;width:max-content;border-radius:624.9375rem;overflow:hidden}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd{cursor:pointer;display:flex;align-items:center;position:relative;font-size:0.875rem;padding:0rem 1rem}.Measure-Controller.svelte-468fdd .buttons .button .icon.svelte-468fdd{width:1.5rem;height:1.5rem;background-repeat:no-repeat;background-size:100%;margin-right:0.25rem}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd::after{content:"";position:absolute;display:block;right:-0.03125rem;height:1.5rem;width:0.0625rem;background-image:linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.3), transparent);background-size:100%;background-repeat:no-repeat;background-position:center}.Measure-Controller.svelte-468fdd .buttons .button.svelte-468fdd:last-child::after{display:none}');
12650
12658
  }
12651
12659
  function pc(i) {
12652
12660
  let t, e;
12653
- return t = new Pu({
12661
+ return t = new Eu({
12654
12662
  props: {
12655
12663
  onClick: (
12656
12664
  /*measureController*/
@@ -12691,8 +12699,8 @@ function Ac(i) {
12691
12699
  ), u, m, A;
12692
12700
  return {
12693
12701
  c() {
12694
- t = D("div"), e = D("div"), n = D("div"), s = K(), r = xe(o), a = K(), l = D("div"), c = D("div"), d = K(), u = xe(h), w(n, "class", "icon svelte-468fdd"), z(n, "background-image", `url(${Eu})`), w(e, "class", "button svelte-468fdd"), q(e, "forbid", !/*canRevoke*/
12695
- i[3]), w(c, "class", "icon svelte-468fdd"), z(c, "background-image", `url(${ku})`), w(l, "class", "button svelte-468fdd"), w(t, "class", "buttons svelte-468fdd");
12702
+ t = D("div"), e = D("div"), n = D("div"), s = K(), r = xe(o), a = K(), l = D("div"), c = D("div"), d = K(), u = xe(h), w(n, "class", "icon svelte-468fdd"), z(n, "background-image", `url(${ku})`), w(e, "class", "button svelte-468fdd"), q(e, "forbid", !/*canRevoke*/
12703
+ i[3]), w(c, "class", "icon svelte-468fdd"), z(c, "background-image", `url(${Mu})`), w(l, "class", "button svelte-468fdd"), w(t, "class", "buttons svelte-468fdd");
12696
12704
  },
12697
12705
  m(p, g) {
12698
12706
  B(p, t, g), x(t, e), x(e, n), x(e, s), x(e, r), x(t, a), x(t, l), x(l, c), x(l, d), x(l, u), m || (A = [
@@ -13171,7 +13179,7 @@ function u0(i) {
13171
13179
  }
13172
13180
  function Cc(i) {
13173
13181
  let t, e;
13174
- return t = new Pu({
13182
+ return t = new Eu({
13175
13183
  props: {
13176
13184
  onClick: (
13177
13185
  /*measureController*/
@@ -13283,7 +13291,7 @@ function Pc(i) {
13283
13291
  ), o, r, a, l, c;
13284
13292
  return {
13285
13293
  c() {
13286
- t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${Eu})`), w(t, "class", "button svelte-ldjbp8"), q(
13294
+ t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${ku})`), w(t, "class", "button svelte-ldjbp8"), q(
13287
13295
  t,
13288
13296
  "forbid",
13289
13297
  /*buttonState*/
@@ -13329,7 +13337,7 @@ function Ec(i) {
13329
13337
  ), o, r, a, l, c;
13330
13338
  return {
13331
13339
  c() {
13332
- t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${ku})`), w(t, "class", "button svelte-ldjbp8");
13340
+ t = D("div"), e = D("div"), n = K(), o = xe(s), w(e, "class", "icon svelte-ldjbp8"), z(e, "background-image", `url(${Mu})`), w(t, "class", "button svelte-ldjbp8");
13333
13341
  },
13334
13342
  m(d, h) {
13335
13343
  B(d, t, h), x(t, e), x(t, n), x(t, o), a = !0, l || (c = be(
@@ -13602,16 +13610,16 @@ var Mt = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
13602
13610
  function po(i) {
13603
13611
  return i === null ? "null" : typeof i == "undefined" ? "undefined" : typeof i == "object" ? Array.isArray(i) ? "array" : "object" : typeof i;
13604
13612
  }
13605
- function Mu(i) {
13613
+ function xu(i) {
13606
13614
  return po(i) === "object" ? aa(i) : po(i) === "array" ? ra(i) : i;
13607
13615
  }
13608
13616
  function ra(i) {
13609
- return i.map(Mu);
13617
+ return i.map(xu);
13610
13618
  }
13611
13619
  function aa(i) {
13612
13620
  const t = {};
13613
13621
  for (const e in i)
13614
- i.hasOwnProperty(e) && (t[e] = Mu(i[e]));
13622
+ i.hasOwnProperty(e) && (t[e] = xu(i[e]));
13615
13623
  return t;
13616
13624
  }
13617
13625
  function Lo(i, t = [], e = {}) {
@@ -13904,8 +13912,8 @@ class k0 {
13904
13912
  this.currentMeasureType = t, this.hook.emit("measureTypeChange", t);
13905
13913
  });
13906
13914
  var o, r, a, l, c, d, h, u, m;
13907
- this.five = t, this.params = e, this.config = So(e, ["openParams", "magnifierParams"]), this.model = new yu(this.config), this.isMobile = (r = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? r : !1, this.magnifier = new ya(t, (a = e.magnifierParams) != null ? a : { width: 190, height: 190, scale: 2 }), this.allowMeasureType = Array.from(new Set((c = (l = e.editParams) == null ? void 0 : l.allowMeasureType) != null ? c : ["line"])), this.currentMeasureType = (d = this.allowMeasureType[0]) != null ? d : "line", this.group = new ri(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0";
13908
- const n = (u = (h = e.editParams) == null ? void 0 : h.pointSelectorMode) != null ? u : bu ? "fixed" : "cursor", s = (m = this.params.openParams) != null ? m : {};
13915
+ this.five = t, this.params = e, this.config = So(e, ["openParams", "magnifierParams"]), this.model = new wu(this.config), this.isMobile = (r = (o = e == null ? void 0 : e.openParams) == null ? void 0 : o.isMobile) != null ? r : !1, this.magnifier = new ya(t, (a = e.magnifierParams) != null ? a : { width: 190, height: 190, scale: 2 }), this.allowMeasureType = Array.from(new Set((c = (l = e.editParams) == null ? void 0 : l.allowMeasureType) != null ? c : ["line"])), this.currentMeasureType = (d = this.allowMeasureType[0]) != null ? d : "line", this.group = new ri(), this.group.name = "plugin-measure-group", this.container.classList.add("five-plugin-measure-container"), this.container.style.position = "absolute", this.container.style.left = "0", this.container.style.top = "0", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0";
13916
+ const n = (u = (h = e.editParams) == null ? void 0 : h.pointSelectorMode) != null ? u : yu ? "fixed" : "cursor", s = (m = this.params.openParams) != null ? m : {};
13909
13917
  if (this.params.useUIController !== !1) {
13910
13918
  const A = N({
13911
13919
  container: this.container,
@@ -14021,8 +14029,8 @@ class k0 {
14021
14029
  changeIsMobile(t) {
14022
14030
  }
14023
14031
  changeConfigs(t) {
14024
- var e;
14025
- Object.assign(this.config, t), (e = this.controller) == null || e.updateDistanceUI();
14032
+ var e, n;
14033
+ Object.assign(this.config, t), (e = this.controller) == null || e.updateDistanceUI(), (n = this.controller) == null || n.updateAreaUI();
14026
14034
  }
14027
14035
  /** 设置线段的文本 */
14028
14036
  setCustomText(t, e) {
@@ -14047,7 +14055,7 @@ class k0 {
14047
14055
  editParams: e,
14048
14056
  magnifierParams: this.params.magnifierParams,
14049
14057
  getMeasureType: () => this.currentMeasureType,
14050
- mouseGroup: wu(N({}, t.crossHairParameter)),
14058
+ mouseGroup: Cu(N({}, t.crossHairParameter)),
14051
14059
  userDistanceItemCreator: this.params.userDistanceItemCreator
14052
14060
  };
14053
14061
  }
@@ -14203,7 +14211,7 @@ class pE {
14203
14211
  }
14204
14212
  const AE = function(t, e) {
14205
14213
  return new k0(t, e);
14206
- }, xu = ja(null);
14214
+ }, Du = ja(null);
14207
14215
  function x0(i) {
14208
14216
  ue(i, "svelte-19zi46m", ".PanoSpatialTagPlugin__tag-origin.svelte-19zi46m{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-19zi46m:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-19zi46m{transform:translate(-50%, -50%) scale(0.6);animation:svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-19zi46m-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}");
14209
14217
  }
@@ -14310,7 +14318,7 @@ function D0(i) {
14310
14318
  function S0(i, t, e) {
14311
14319
  let { origins: n } = t;
14312
14320
  const s = (r) => {
14313
- xu.update(() => `${r}-PanoSpatialTagPlugin-${Date.now()}`);
14321
+ Du.update(() => `${r}-PanoSpatialTagPlugin-${Date.now()}`);
14314
14322
  }, o = (r) => s(r.id);
14315
14323
  return i.$$set = (r) => {
14316
14324
  "origins" in r && e(0, n = r.origins);
@@ -14448,7 +14456,7 @@ function z0(i, t, e) {
14448
14456
  wt(() => {
14449
14457
  m.emit("initTag", { id: n });
14450
14458
  });
14451
- const k = xu.subscribe((P) => {
14459
+ const k = Du.subscribe((P) => {
14452
14460
  if (P === null)
14453
14461
  return;
14454
14462
  const [R, L] = P.split("-PanoSpatialTagPlugin-");
@@ -14459,7 +14467,7 @@ function z0(i, t, e) {
14459
14467
  1500
14460
14468
  )));
14461
14469
  });
14462
- Uh(() => {
14470
+ Xh(() => {
14463
14471
  e(7, A = g.offsetWidth), e(8, p = g.offsetHeight), !y && e(10, v = !d);
14464
14472
  }), Ot(() => {
14465
14473
  m.emit("destroyTag", { id: n }), k(), h();
@@ -15026,7 +15034,7 @@ let Y0 = class extends le {
15026
15034
  super(), ae(this, t, F0, W0, oe, { itemLabel: 0, hooks: 2 }, _0);
15027
15035
  }
15028
15036
  };
15029
- function Du(i, t = 200) {
15037
+ function Su(i, t = 200) {
15030
15038
  let e;
15031
15039
  return function(...n) {
15032
15040
  clearTimeout(e), e = setTimeout(() => {
@@ -15202,7 +15210,7 @@ function J0(i, t, e) {
15202
15210
  }, P = () => {
15203
15211
  A = [], e(1, h = S(o, h));
15204
15212
  };
15205
- Yh(() => {
15213
+ Uh(() => {
15206
15214
  F();
15207
15215
  });
15208
15216
  const R = () => {
@@ -15211,7 +15219,7 @@ function J0(i, t, e) {
15211
15219
  wt(() => {
15212
15220
  e(1, h = a), d = a, P(), Y(), o.on("cameraUpdate", R);
15213
15221
  });
15214
- const L = Du(
15222
+ const L = Su(
15215
15223
  () => {
15216
15224
  e(4, p = !0), P();
15217
15225
  },
@@ -15932,7 +15940,7 @@ function mb(i, t, e) {
15932
15940
  p = [], e(1, h = k(s, h));
15933
15941
  }, P = () => {
15934
15942
  e(5, g = !1), R();
15935
- }, R = Du(
15943
+ }, R = Su(
15936
15944
  () => {
15937
15945
  e(5, g = !0), S();
15938
15946
  },
@@ -15980,7 +15988,7 @@ function mb(i, t, e) {
15980
15988
  });
15981
15989
  }
15982
15990
  };
15983
- Yh(() => {
15991
+ Uh(() => {
15984
15992
  F();
15985
15993
  }), wt(() => {
15986
15994
  e(1, h = Nc(r)), d = r, S(), Y(), s.on("cameraUpdate", P);
@@ -16486,7 +16494,7 @@ const xE = (i) => new xb(i);
16486
16494
  function Db(i, t) {
16487
16495
  console.warn(`⛔ ==> [${i}]: ${t}`);
16488
16496
  }
16489
- function Su(i, t) {
16497
+ function Tu(i, t) {
16490
16498
  console.warn(`🚫 ==> [${i}]: ${t}`);
16491
16499
  }
16492
16500
  var jo = {}, Sb = Tb;
@@ -16510,15 +16518,15 @@ var Vb = Qb;
16510
16518
  function Qb(i, t) {
16511
16519
  return i[0] * t[0] + i[1] * t[1];
16512
16520
  }
16513
- var Gb = Sb, da = Lb, Tu = zb, Nb = Bb, Hb = Vb, Fc = [0, 0];
16521
+ var Gb = Sb, da = Lb, Lu = zb, Nb = Bb, Hb = Vb, Fc = [0, 0];
16514
16522
  jo.computeMiter = function(t, e, n, s, o) {
16515
- return Gb(t, n, s), Tu(t, t), da(e, -t[1], t[0]), da(Fc, -n[1], n[0]), o / Hb(e, Fc);
16523
+ return Gb(t, n, s), Lu(t, t), da(e, -t[1], t[0]), da(Fc, -n[1], n[0]), o / Hb(e, Fc);
16516
16524
  };
16517
16525
  jo.normal = function(t, e) {
16518
16526
  return da(t, -e[1], e[0]), t;
16519
16527
  };
16520
16528
  jo.direction = function(t, e, n) {
16521
- return Nb(t, e, n), Tu(t, t), t;
16529
+ return Nb(t, e, n), Lu(t, t), t;
16522
16530
  };
16523
16531
  var Kt = jo, Dn = [0, 0], Fs = [0, 0], Yc = [0, 0], Ui = [0, 0], _b = function(i, t) {
16524
16532
  var e = null, n = [];
@@ -16645,7 +16653,7 @@ function Ao(i) {
16645
16653
  } else
16646
16654
  return as(i);
16647
16655
  }
16648
- function Lu(i) {
16656
+ function ju(i) {
16649
16657
  if (yt(i) && i.matrix) {
16650
16658
  const t = new Ji().fromArray(i.matrix), e = i.data.mediaPosition.map((n) => new ie().fromArray(n).applyMatrix4(t));
16651
16659
  return sn(e[0], e[2]);
@@ -16740,15 +16748,15 @@ var Wa = /* @__PURE__ */ ((i) => (i.Default = "default", i.GetAudioDuration = "g
16740
16748
  function c1(i, t) {
16741
16749
  const e = (t == null ? void 0 : t.namespace) || "default", n = ss[e] || (ss[e] = []);
16742
16750
  let s = n.find((o) => !o.realSrc || o.realSrc === Ai);
16743
- return s || (console.warn("未找到缓存音频,已新建", ss), s = new ju(Ai), n.push(s)), i && (s.src = i), s;
16751
+ return s || (console.warn("未找到缓存音频,已新建", ss), s = new zu(Ai), n.push(s)), i && (s.src = i), s;
16744
16752
  }
16745
16753
  function d1(i, t) {
16746
16754
  const e = (t == null ? void 0 : t.namespace) || "default", n = ss[e] || (ss[e] = []), s = i - n.length;
16747
16755
  if (!(s <= 0))
16748
16756
  for (let o = 0; o < s; o++)
16749
- n.push(new ju(Ai));
16757
+ n.push(new zu(Ai));
16750
16758
  }
16751
- class ju extends Audio {
16759
+ class zu extends Audio {
16752
16760
  constructor(e) {
16753
16761
  super(e);
16754
16762
  f(this, "preload", "auto");
@@ -16895,9 +16903,9 @@ class f1 extends gs {
16895
16903
  removeCache() {
16896
16904
  }
16897
16905
  }
16898
- const zu = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
16906
+ const Ou = navigator.userAgent.toLowerCase().indexOf("iphone") !== -1;
16899
16907
  navigator.userAgent.toLowerCase().indexOf("android");
16900
- const eo = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1, m1 = zu && eo;
16908
+ const eo = navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1, m1 = Ou && eo;
16901
16909
  function g1(i) {
16902
16910
  if (i.length !== 4)
16903
16911
  return !1;
@@ -16912,7 +16920,7 @@ class Br extends E.Mesh {
16912
16920
  constructor(e, n, s) {
16913
16921
  if (e.length !== 4)
16914
16922
  throw new Error("QuadrangleMesh: Invalid number of points, it's not a quadrangle");
16915
- const [o, r, a, l] = e, c = sn(...e), d = [o.clone().sub(c), r.clone().sub(c), a.clone().sub(c), l.clone().sub(c)], h = new Ou(d, s);
16923
+ const [o, r, a, l] = e, c = sn(...e), d = [o.clone().sub(c), r.clone().sub(c), a.clone().sub(c), l.clone().sub(c)], h = new Bu(d, s);
16916
16924
  super(h, n);
16917
16925
  f(this, "name", "QuadrangleMesh");
16918
16926
  this.position.copy(c);
@@ -16922,7 +16930,7 @@ class Br extends E.Mesh {
16922
16930
  return e !== null && e.remove(this), this;
16923
16931
  }
16924
16932
  }
16925
- class Ou extends E.BufferGeometry {
16933
+ class Bu extends E.BufferGeometry {
16926
16934
  /**
16927
16935
  * @description 生成一个四边形的BufferGeometry,原点取 points[0],即左下角
16928
16936
  * @param {Vector3Position[]} points: 四个顶点的坐标, [左下,右下,右上,左上]
@@ -16982,7 +16990,7 @@ function p1(i, t) {
16982
16990
  });
16983
16991
  }
16984
16992
  };
16985
- document.addEventListener("click", r, { once: !0 }), zu && document.addEventListener("touchstart", r, { once: !0 });
16993
+ document.addEventListener("click", r, { once: !0 }), Ou && document.addEventListener("touchstart", r, { once: !0 });
16986
16994
  }
16987
16995
  return s;
16988
16996
  }
@@ -17041,7 +17049,7 @@ class A1 extends E.ShaderMaterial {
17041
17049
  };
17042
17050
  }
17043
17051
  }
17044
- let Bu = class extends E.Mesh {
17052
+ let Ru = class extends E.Mesh {
17045
17053
  constructor() {
17046
17054
  super(...arguments);
17047
17055
  f(this, "name", "MediaPlane");
@@ -17062,20 +17070,35 @@ let Bu = class extends E.Mesh {
17062
17070
  });
17063
17071
  }
17064
17072
  };
17065
- class Zc extends Bu {
17073
+ class Zc extends Ru {
17066
17074
  constructor(e, n, s) {
17075
+ var a;
17067
17076
  super();
17068
17077
  f(this, "name", "PanoTagPluginImagePlane");
17069
- this.src = e, hs(e).then((o) => {
17070
- var u;
17071
- const r = new URL(e, location.href).pathname.endsWith(".png"), a = new E.MeshBasicMaterial({ map: o, transparent: r }), l = $i((u = s == null ? void 0 : s.objectFit) != null ? u : "contain", n, o.image.width / o.image.height), c = sn(...l), d = l.map((m) => m.clone().sub(c)), h = new Ou(d);
17072
- this.position.copy(c), this.geometry = h, this.material = a;
17073
- }).catch((o) => {
17074
- console.error(`Imageplane error ${o}`);
17078
+ this.src = e;
17079
+ const o = (a = s == null ? void 0 : s.resolveZFighting) != null ? a : !0;
17080
+ let r = n;
17081
+ if (o) {
17082
+ const l = new E.Vector3().crossVectors(
17083
+ new E.Vector3().subVectors(n[0], n[1]),
17084
+ new E.Vector3().subVectors(n[0], n[3])
17085
+ ).normalize().multiplyScalar(5e-4);
17086
+ r = n.map((c) => c.clone().add(l));
17087
+ }
17088
+ hs(e).then((l) => {
17089
+ var p;
17090
+ const c = new URL(e, location.href).pathname.endsWith(".png"), d = new E.MeshBasicMaterial({ map: l, transparent: c }), h = $i(
17091
+ (p = s == null ? void 0 : s.objectFit) != null ? p : "contain",
17092
+ r,
17093
+ l.image.width / l.image.height
17094
+ ), u = sn(...h), m = h.map((g) => g.clone().sub(u)), A = new Bu(m);
17095
+ this.position.copy(u), this.geometry = A, this.material = d;
17096
+ }).catch((l) => {
17097
+ console.error(`Imageplane error ${l}`);
17075
17098
  });
17076
17099
  }
17077
17100
  }
17078
- class ha extends Bu {
17101
+ class ha extends Ru {
17079
17102
  // eslint-disable-next-line max-params
17080
17103
  constructor(e, n, s) {
17081
17104
  const {
@@ -17665,7 +17688,7 @@ class b1 extends f1 {
17665
17688
  const l = (a = (r = this.five.work) == null ? void 0 : r.observers[s]) == null ? void 0 : a.position;
17666
17689
  if (l === void 0)
17667
17690
  throw new Error(`getDistance(): observerPosition is ${l}`);
17668
- const c = Lu(e);
17691
+ const c = ju(e);
17669
17692
  if (!c)
17670
17693
  return -1;
17671
17694
  const d = l.distanceTo(c);
@@ -18078,7 +18101,7 @@ class w1 extends b1 {
18078
18101
  var r, a, l, c, d, h, u;
18079
18102
  let n = 0;
18080
18103
  const s = (r = e.fiveState) == null ? void 0 : r.panoIndex;
18081
- s !== void 0 ? n = (a = this.five.work.observers[s]) == null ? void 0 : a.floorIndex : n = y1(this.five.work.observers, (u = (h = (c = (l = e.model) == null ? void 0 : l.object) == null ? void 0 : c.position) != null ? h : (d = e.mediaPlane) == null ? void 0 : d.position) != null ? u : Lu(e));
18104
+ s !== void 0 ? n = (a = this.five.work.observers[s]) == null ? void 0 : a.floorIndex : n = y1(this.five.work.observers, (u = (h = (c = (l = e.model) == null ? void 0 : l.object) == null ? void 0 : c.position) != null ? h : (d = e.mediaPlane) == null ? void 0 : d.position) != null ? u : ju(e));
18082
18105
  const o = this.five.model.shownFloor;
18083
18106
  return o === null || o === n;
18084
18107
  }
@@ -18732,7 +18755,7 @@ function j1(i, t, e) {
18732
18755
  k
18733
18756
  ];
18734
18757
  }
18735
- class Ru extends le {
18758
+ class Vu extends le {
18736
18759
  constructor(t) {
18737
18760
  super(), ae(
18738
18761
  this,
@@ -18885,7 +18908,7 @@ function Q1(i) {
18885
18908
  }
18886
18909
  function nd(i) {
18887
18910
  let t, e, n;
18888
- return e = new Ru({
18911
+ return e = new Vu({
18889
18912
  props: {
18890
18913
  unfolded: (
18891
18914
  /*visible*/
@@ -19056,7 +19079,7 @@ function N1(i, t, e) {
19056
19079
  m
19057
19080
  ];
19058
19081
  }
19059
- class Vu extends le {
19082
+ class Qu extends le {
19060
19083
  constructor(t) {
19061
19084
  super(), ae(this, t, N1, G1, oe, { visible: 0, textUnfolded: 8, content: 1 }, Q1);
19062
19085
  }
@@ -19102,7 +19125,7 @@ function sd(i) {
19102
19125
  ),
19103
19126
  useLinearColor: !0
19104
19127
  }
19105
- }), r = new Vu({
19128
+ }), r = new Qu({
19106
19129
  props: {
19107
19130
  visible: (
19108
19131
  /*unfolded*/
@@ -19825,7 +19848,7 @@ function cd(i) {
19825
19848
  /*inDelay*/
19826
19849
  i[0]
19827
19850
  ),
19828
- easing: iu
19851
+ easing: su
19829
19852
  }), e.start());
19830
19853
  }), s = !0);
19831
19854
  },
@@ -20153,7 +20176,7 @@ function wy(i, t, e) {
20153
20176
  "direction" in r && e(0, n = r.direction), "disabled" in r && e(1, s = r.disabled);
20154
20177
  }, [n, s, o];
20155
20178
  }
20156
- class Qu extends le {
20179
+ class Gu extends le {
20157
20180
  constructor(t) {
20158
20181
  super(), ae(this, t, wy, yy, oe, { direction: 0, disabled: 1 }, by);
20159
20182
  }
@@ -20359,7 +20382,7 @@ function Wy({
20359
20382
  clonesCountTotal: n,
20360
20383
  particlesToScroll: s
20361
20384
  }) {
20362
- return i === t - e ? 0 : i === 0 ? Gu({
20385
+ return i === t - e ? 0 : i === 0 ? Nu({
20363
20386
  particlesCountWithoutClones: t - n,
20364
20387
  particlesToScroll: s
20365
20388
  }) - 1 : Math.floor((i - e) / s);
@@ -20389,7 +20412,7 @@ function Yy({
20389
20412
  particlesToScroll: o
20390
20413
  });
20391
20414
  }
20392
- function Gu({
20415
+ function Nu({
20393
20416
  particlesCountWithoutClones: i,
20394
20417
  particlesToScroll: t
20395
20418
  }) {
@@ -20400,7 +20423,7 @@ function Uy({
20400
20423
  particlesToScroll: t,
20401
20424
  particlesToShow: e
20402
20425
  }) {
20403
- const n = Nu({
20426
+ const n = Hu({
20404
20427
  particlesCountWithoutClones: i,
20405
20428
  particlesToScroll: t,
20406
20429
  particlesToShow: e
@@ -20413,7 +20436,7 @@ function Xy({
20413
20436
  particlesToScroll: e,
20414
20437
  particlesToShow: n
20415
20438
  }) {
20416
- return i ? Gu({
20439
+ return i ? Nu({
20417
20440
  particlesCountWithoutClones: t,
20418
20441
  particlesToScroll: e
20419
20442
  }) : Uy({
@@ -20476,7 +20499,7 @@ function qy({
20476
20499
  for (let e = 0; e < i.length; e++)
20477
20500
  i[e].style.minWidth = `${t}px`, i[e].style.maxWidth = `${t}px`;
20478
20501
  }
20479
- function Nu({
20502
+ function Hu({
20480
20503
  particlesToScroll: i,
20481
20504
  particlesToShow: t,
20482
20505
  particlesCountWithoutClones: e
@@ -20549,7 +20572,7 @@ const os = (i, t, e) => {
20549
20572
  }, ua = (i) => (t) => {
20550
20573
  i[t] && i[t]();
20551
20574
  };
20552
- var nw = "Expected a function", Hu = "__lodash_hash_undefined__", _u = 1 / 0, iw = "[object Function]", sw = "[object GeneratorFunction]", ow = "[object Symbol]", rw = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, aw = /^\w*$/, lw = /^\./, cw = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, dw = /[\\^$.*+?()[\]{}|]/g, hw = /\\(\\)?/g, uw = /^\[object .+?Constructor\]$/, fw = typeof Mt == "object" && Mt && Mt.Object === Object && Mt, mw = typeof self == "object" && self && self.Object === Object && self, Xa = fw || mw || Function("return this")();
20575
+ var nw = "Expected a function", _u = "__lodash_hash_undefined__", Wu = 1 / 0, iw = "[object Function]", sw = "[object GeneratorFunction]", ow = "[object Symbol]", rw = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, aw = /^\w*$/, lw = /^\./, cw = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, dw = /[\\^$.*+?()[\]{}|]/g, hw = /\\(\\)?/g, uw = /^\[object .+?Constructor\]$/, fw = typeof Mt == "object" && Mt && Mt.Object === Object && Mt, mw = typeof self == "object" && self && self.Object === Object && self, Xa = fw || mw || Function("return this")();
20553
20576
  function gw(i, t) {
20554
20577
  return i == null ? void 0 : i[t];
20555
20578
  }
@@ -20562,12 +20585,12 @@ function pw(i) {
20562
20585
  }
20563
20586
  return t;
20564
20587
  }
20565
- var Aw = Array.prototype, vw = Function.prototype, Wu = Object.prototype, Gr = Xa["__core-js_shared__"], Ad = function() {
20588
+ var Aw = Array.prototype, vw = Function.prototype, Fu = Object.prototype, Gr = Xa["__core-js_shared__"], Ad = function() {
20566
20589
  var i = /[^.]+$/.exec(Gr && Gr.keys && Gr.keys.IE_PROTO || "");
20567
20590
  return i ? "Symbol(src)_1." + i : "";
20568
- }(), Fu = vw.toString, Za = Wu.hasOwnProperty, Yu = Wu.toString, bw = RegExp(
20569
- "^" + Fu.call(Za).replace(dw, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
20570
- ), vd = Xa.Symbol, yw = Aw.splice, ww = Uu(Xa, "Map"), us = Uu(Object, "create"), bd = vd ? vd.prototype : void 0, yd = bd ? bd.toString : void 0;
20591
+ }(), Yu = vw.toString, Za = Fu.hasOwnProperty, Uu = Fu.toString, bw = RegExp(
20592
+ "^" + Yu.call(Za).replace(dw, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
20593
+ ), vd = Xa.Symbol, yw = Aw.splice, ww = Xu(Xa, "Map"), us = Xu(Object, "create"), bd = vd ? vd.prototype : void 0, yd = bd ? bd.toString : void 0;
20571
20594
  function On(i) {
20572
20595
  var t = -1, e = i ? i.length : 0;
20573
20596
  for (this.clear(); ++t < e; ) {
@@ -20585,7 +20608,7 @@ function Pw(i) {
20585
20608
  var t = this.__data__;
20586
20609
  if (us) {
20587
20610
  var e = t[i];
20588
- return e === Hu ? void 0 : e;
20611
+ return e === _u ? void 0 : e;
20589
20612
  }
20590
20613
  return Za.call(t, i) ? t[i] : void 0;
20591
20614
  }
@@ -20595,7 +20618,7 @@ function Ew(i) {
20595
20618
  }
20596
20619
  function kw(i, t) {
20597
20620
  var e = this.__data__;
20598
- return e[i] = us && t === void 0 ? Hu : t, this;
20621
+ return e[i] = us && t === void 0 ? _u : t, this;
20599
20622
  }
20600
20623
  On.prototype.clear = Cw;
20601
20624
  On.prototype.delete = Iw;
@@ -20679,7 +20702,7 @@ function Rw(i, t) {
20679
20702
  return e && e == n ? i : void 0;
20680
20703
  }
20681
20704
  function Vw(i) {
20682
- if (!Zu(i) || _w(i))
20705
+ if (!Ju(i) || _w(i))
20683
20706
  return !1;
20684
20707
  var t = Xw(i) || pw(i) ? bw : uw;
20685
20708
  return t.test(Yw(i));
@@ -20690,21 +20713,21 @@ function Qw(i) {
20690
20713
  if (qa(i))
20691
20714
  return yd ? yd.call(i) : "";
20692
20715
  var t = i + "";
20693
- return t == "0" && 1 / i == -_u ? "-0" : t;
20716
+ return t == "0" && 1 / i == -Wu ? "-0" : t;
20694
20717
  }
20695
20718
  function Gw(i) {
20696
- return Xu(i) ? i : Ww(i);
20719
+ return Zu(i) ? i : Ww(i);
20697
20720
  }
20698
20721
  function Oo(i, t) {
20699
20722
  var e = i.__data__;
20700
20723
  return Hw(t) ? e[typeof t == "string" ? "string" : "hash"] : e.map;
20701
20724
  }
20702
- function Uu(i, t) {
20725
+ function Xu(i, t) {
20703
20726
  var e = gw(i, t);
20704
20727
  return Vw(e) ? e : void 0;
20705
20728
  }
20706
20729
  function Nw(i, t) {
20707
- if (Xu(i))
20730
+ if (Zu(i))
20708
20731
  return !1;
20709
20732
  var e = typeof i;
20710
20733
  return e == "number" || e == "symbol" || e == "boolean" || i == null || qa(i) ? !0 : aw.test(i) || !rw.test(i) || t != null && i in Object(t);
@@ -20727,12 +20750,12 @@ function Fw(i) {
20727
20750
  if (typeof i == "string" || qa(i))
20728
20751
  return i;
20729
20752
  var t = i + "";
20730
- return t == "0" && 1 / i == -_u ? "-0" : t;
20753
+ return t == "0" && 1 / i == -Wu ? "-0" : t;
20731
20754
  }
20732
20755
  function Yw(i) {
20733
20756
  if (i != null) {
20734
20757
  try {
20735
- return Fu.call(i);
20758
+ return Yu.call(i);
20736
20759
  } catch (t) {
20737
20760
  }
20738
20761
  try {
@@ -20758,12 +20781,12 @@ Ja.Cache = Vn;
20758
20781
  function Uw(i, t) {
20759
20782
  return i === t || i !== i && t !== t;
20760
20783
  }
20761
- var Xu = Array.isArray;
20784
+ var Zu = Array.isArray;
20762
20785
  function Xw(i) {
20763
- var t = Zu(i) ? Yu.call(i) : "";
20786
+ var t = Ju(i) ? Uu.call(i) : "";
20764
20787
  return t == iw || t == sw;
20765
20788
  }
20766
- function Zu(i) {
20789
+ function Ju(i) {
20767
20790
  var t = typeof i;
20768
20791
  return !!i && (t == "object" || t == "function");
20769
20792
  }
@@ -20771,7 +20794,7 @@ function Zw(i) {
20771
20794
  return !!i && typeof i == "object";
20772
20795
  }
20773
20796
  function qa(i) {
20774
- return typeof i == "symbol" || Zw(i) && Yu.call(i) == ow;
20797
+ return typeof i == "symbol" || Zw(i) && Uu.call(i) == ow;
20775
20798
  }
20776
20799
  function Jw(i) {
20777
20800
  return i == null ? "" : Qw(i);
@@ -21933,7 +21956,7 @@ function fC(i) {
21933
21956
  });
21934
21957
  },
21935
21958
  setPartialPageSize({ data: r }) {
21936
- r.partialPageSize = Nu({
21959
+ r.partialPageSize = Hu({
21937
21960
  particlesToScroll: r.particlesToScroll,
21938
21961
  particlesToShow: r.particlesToShow,
21939
21962
  particlesCountWithoutClones: r.particlesCountWithoutClones
@@ -22206,7 +22229,7 @@ function kd(i) {
22206
22229
  }
22207
22230
  function bC(i) {
22208
22231
  let t, e, n;
22209
- return e = new Qu({
22232
+ return e = new Gu({
22210
22233
  props: {
22211
22234
  direction: "prev",
22212
22235
  disabled: !/*infinite*/
@@ -22327,7 +22350,7 @@ function xd(i) {
22327
22350
  }
22328
22351
  function yC(i) {
22329
22352
  let t, e, n;
22330
- return e = new Qu({
22353
+ return e = new Gu({
22331
22354
  props: {
22332
22355
  direction: "next",
22333
22356
  disabled: !/*infinite*/
@@ -23187,7 +23210,7 @@ function TC(i, t, e) {
23187
23210
  F
23188
23211
  ];
23189
23212
  }
23190
- class Ju extends le {
23213
+ class qu extends le {
23191
23214
  constructor(t) {
23192
23215
  super(), ae(
23193
23216
  this,
@@ -23330,7 +23353,7 @@ function jC(i) {
23330
23353
  return (
23331
23354
  /*mediaInstanceList*/
23332
23355
  i[8][0] !== void 0 && (r.mediaInstance = /*mediaInstanceList*/
23333
- i[8][0]), t = new Ju({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23356
+ i[8][0]), t = new qu({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23334
23357
  c() {
23335
23358
  ne(t.$$.fragment);
23336
23359
  },
@@ -23346,7 +23369,7 @@ function jC(i) {
23346
23369
  a[1][0]
23347
23370
  ) },
23348
23371
  l[0] & /*mediaItemConfig*/
23349
- 128 && qh(
23372
+ 128 && Kh(
23350
23373
  /*mediaItemConfig*/
23351
23374
  a[7]
23352
23375
  ),
@@ -23440,7 +23463,7 @@ function jd(i) {
23440
23463
  i[8][
23441
23464
  /*index*/
23442
23465
  i[30]
23443
- ]), t = new Ju({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23466
+ ]), t = new qu({ props: r }), Qe.push(() => Ta(t, "mediaInstance", o)), {
23444
23467
  c() {
23445
23468
  ne(t.$$.fragment);
23446
23469
  },
@@ -23452,7 +23475,7 @@ function jd(i) {
23452
23475
  const c = l[0] & /*mediaItemConfig, mediaDataList, tag*/
23453
23476
  1153 ? dt(s, [
23454
23477
  l[0] & /*mediaItemConfig*/
23455
- 128 && qh(
23478
+ 128 && Kh(
23456
23479
  /*mediaItemConfig*/
23457
23480
  i[7]
23458
23481
  ),
@@ -23640,7 +23663,7 @@ function RC(i, t, e) {
23640
23663
  V
23641
23664
  ];
23642
23665
  }
23643
- class qu extends le {
23666
+ class Ku extends le {
23644
23667
  constructor(t) {
23645
23668
  super(), ae(
23646
23669
  this,
@@ -23736,7 +23759,7 @@ function zd(i) {
23736
23759
  }
23737
23760
  function Od(i) {
23738
23761
  let t, e, n;
23739
- return e = new Ru({
23762
+ return e = new Vu({
23740
23763
  props: {
23741
23764
  unfolded: (
23742
23765
  /*unfolded*/
@@ -23776,7 +23799,7 @@ function Od(i) {
23776
23799
  }
23777
23800
  function Bd(i) {
23778
23801
  let t, e, n;
23779
- return e = new qu({
23802
+ return e = new Ku({
23780
23803
  props: {
23781
23804
  autoplayConfig: { autoplayCarousel: !1 },
23782
23805
  unfolded: (
@@ -24399,7 +24422,7 @@ function XC(i) {
24399
24422
  );
24400
24423
  },
24401
24424
  m(a, l) {
24402
- B(a, t, l), r && r.m(t, null), e = !0, n || (s = be(t, "click", Wh(
24425
+ B(a, t, l), r && r.m(t, null), e = !0, n || (s = be(t, "click", Fh(
24403
24426
  /*onClick*/
24404
24427
  i[1]
24405
24428
  )), n = !0);
@@ -24521,7 +24544,7 @@ function ZC(i, t, e) {
24521
24544
  72 && c(r && !m ? "play" : "pause");
24522
24545
  }, [a, p, o, r, l, u, m, s, n];
24523
24546
  }
24524
- let Ku = class extends le {
24547
+ let $u = class extends le {
24525
24548
  constructor(t) {
24526
24549
  super(), ae(
24527
24550
  this,
@@ -24674,7 +24697,7 @@ function KC(i, t, e) {
24674
24697
  h
24675
24698
  ];
24676
24699
  }
24677
- class $u extends le {
24700
+ class ef extends le {
24678
24701
  constructor(t) {
24679
24702
  super(), ae(
24680
24703
  this,
@@ -24718,7 +24741,7 @@ function Jd(i) {
24718
24741
  /*unfolded*/
24719
24742
  i[6] && qd(i)
24720
24743
  );
24721
- return c = new Vu({
24744
+ return c = new Qu({
24722
24745
  props: {
24723
24746
  visible: (
24724
24747
  /*unfolded*/
@@ -24837,7 +24860,7 @@ function qd(i) {
24837
24860
  blurRadius: 15,
24838
24861
  spreadRadius: 6
24839
24862
  }
24840
- }), s = new Ku({
24863
+ }), s = new $u({
24841
24864
  props: {
24842
24865
  enable: (
24843
24866
  /*unfolded*/
@@ -24919,7 +24942,7 @@ function qd(i) {
24919
24942
  }
24920
24943
  function eI(i) {
24921
24944
  let t, e, n;
24922
- return e = new $u({ props: { playing: (
24945
+ return e = new ef({ props: { playing: (
24923
24946
  /*playing*/
24924
24947
  i[2]
24925
24948
  ) } }), {
@@ -25028,7 +25051,7 @@ function sI(i) {
25028
25051
  }
25029
25052
  function Kd(i) {
25030
25053
  let t, e, n, s;
25031
- return n = new Ku({
25054
+ return n = new $u({
25032
25055
  props: {
25033
25056
  style: "width: max-content; height: max-content;",
25034
25057
  enable: (
@@ -25150,7 +25173,7 @@ function oI(i) {
25150
25173
  }
25151
25174
  function rI(i) {
25152
25175
  let t, e, n, s, o, r, a;
25153
- return n = new $u({ props: { playing: (
25176
+ return n = new ef({ props: { playing: (
25154
25177
  /*playing*/
25155
25178
  i[3]
25156
25179
  ) } }), r = new Ya({
@@ -25397,7 +25420,7 @@ function gI(i) {
25397
25420
  function $d(i) {
25398
25421
  var s;
25399
25422
  let t, e, n;
25400
- return e = new qu({
25423
+ return e = new Ku({
25401
25424
  props: {
25402
25425
  mediaItemConfig: {
25403
25426
  canPlay: !0,
@@ -25536,7 +25559,7 @@ class vI extends le {
25536
25559
  super(), ae(this, t, AI, pI, oe, { tag: 0 }, gI);
25537
25560
  }
25538
25561
  }
25539
- function ef(i) {
25562
+ function tf(i) {
25540
25563
  return U(this, null, function* () {
25541
25564
  return new Promise((t, e) => {
25542
25565
  if (!i) {
@@ -25552,7 +25575,7 @@ function bI(i) {
25552
25575
  return U(this, null, function* () {
25553
25576
  const { url: t, ratio: e = 3 } = i;
25554
25577
  i.ratio || console.warn("Tag icon ratio is not set, default is 3");
25555
- const { width: n, height: s } = yield ef(t);
25578
+ const { width: n, height: s } = yield tf(t);
25556
25579
  return Ae(N({}, i), {
25557
25580
  width: n / e,
25558
25581
  height: s / e
@@ -25564,7 +25587,7 @@ function yI(i) {
25564
25587
  const { steps: t, url: e, ratio: n = 3, fps: s = 24 } = i;
25565
25588
  if (!t)
25566
25589
  throw new Error("KeyframeIcon requires steps");
25567
- const { width: o, height: r } = yield ef(e), a = o / n, l = r / n, c = a / t, d = l, h = 1 / s * t + "s";
25590
+ const { width: o, height: r } = yield tf(e), a = o / n, l = r / n, c = a / t, d = l, h = 1 / s * t + "s";
25568
25591
  return Ae(N({}, i), {
25569
25592
  width: c,
25570
25593
  height: d,
@@ -25698,7 +25721,7 @@ function CI(i) {
25698
25721
  /*iconRatio*/
25699
25722
  i[5]
25700
25723
  )
25701
- }))) && ao(e, n) || Jh(n, i, o);
25724
+ }))) && ao(e, n) || qh(n, i, o);
25702
25725
  },
25703
25726
  d(s) {
25704
25727
  s && O(t), n.block.d(s), n.token = null, n = null;
@@ -25764,7 +25787,7 @@ function II(i) {
25764
25787
  /*iconRatio*/
25765
25788
  i[5]
25766
25789
  )
25767
- }))) && ao(e, n) || Jh(n, i, o);
25790
+ }))) && ao(e, n) || qh(n, i, o);
25768
25791
  },
25769
25792
  d(s) {
25770
25793
  s && O(t), n.block.d(s), n.token = null, n = null;
@@ -26029,7 +26052,7 @@ function TI(i, t, e) {
26029
26052
  m
26030
26053
  ];
26031
26054
  }
26032
- class tf extends le {
26055
+ class nf extends le {
26033
26056
  constructor(t) {
26034
26057
  super(), ae(this, t, TI, SI, oe, { width: 1, icon: 12, shadow: 0 }, wI);
26035
26058
  }
@@ -26080,7 +26103,7 @@ function sh(i) {
26080
26103
  }
26081
26104
  function jI(i) {
26082
26105
  let t, e, n, s;
26083
- e = new tf({
26106
+ e = new nf({
26084
26107
  props: { icon: (
26085
26108
  /*icon*/
26086
26109
  i[0]
@@ -26335,7 +26358,7 @@ function _I(i) {
26335
26358
  );
26336
26359
  },
26337
26360
  m(A, p) {
26338
- B(A, t, p), x(t, e), x(e, n), ~s && u[s].m(n, null), l = !0, c || (d = be(t, "click", Wh(
26361
+ B(A, t, p), x(t, e), x(e, n), ~s && u[s].m(n, null), l = !0, c || (d = be(t, "click", Fh(
26339
26362
  /*click_handler_1*/
26340
26363
  i[15]
26341
26364
  )), c = !0);
@@ -26770,7 +26793,7 @@ function KI(i, t, e) {
26770
26793
  S
26771
26794
  ];
26772
26795
  }
26773
- let nf = class extends le {
26796
+ let sf = class extends le {
26774
26797
  constructor(t) {
26775
26798
  super(), ae(
26776
26799
  this,
@@ -26803,7 +26826,7 @@ function eP(i) {
26803
26826
  spreadRadius: 5,
26804
26827
  opacity: 0.3
26805
26828
  }
26806
- }), c = new tf({
26829
+ }), c = new nf({
26807
26830
  props: {
26808
26831
  icon: (
26809
26832
  /*url*/
@@ -27032,7 +27055,7 @@ function rP(i) {
27032
27055
  }
27033
27056
  function aP(i) {
27034
27057
  let t, e;
27035
- return t = new nf({
27058
+ return t = new sf({
27036
27059
  props: {
27037
27060
  mediaStore: (
27038
27061
  /*mediaStore*/
@@ -27525,7 +27548,7 @@ class mP extends le {
27525
27548
  );
27526
27549
  }
27527
27550
  }
27528
- const gP = new jf();
27551
+ const gP = new zf();
27529
27552
  function pP(i) {
27530
27553
  return new Promise((t, e) => {
27531
27554
  function n(o) {
@@ -27678,7 +27701,7 @@ class bP extends w1 {
27678
27701
  } else {
27679
27702
  if (yt(n) && !((s = n.model) != null && s.object) || ((o = n.state) == null ? void 0 : o.visible) === !1 || !this.state.visible || !this.state.enabled)
27680
27703
  return;
27681
- if (this.css3DRenderPlugin || (this.css3DRenderPlugin = Vh(this.five)), n.stickType === "3DPoint" && !n.normal)
27704
+ if (this.css3DRenderPlugin || (this.css3DRenderPlugin = Qh(this.five)), n.stickType === "3DPoint" && !n.normal)
27682
27705
  return console.error("updateRenderPlaneTag: 三维点标签缺少法向量!");
27683
27706
  const l = this.getPositions(n);
27684
27707
  if (!l)
@@ -27704,7 +27727,7 @@ class bP extends w1 {
27704
27727
  if (!u)
27705
27728
  return;
27706
27729
  this.store.css3DRenderDisposer.set(n.id, [u.dispose]);
27707
- const m = new nf({
27730
+ const m = new sf({
27708
27731
  target: u.container,
27709
27732
  props: {
27710
27733
  tag: n,
@@ -27834,7 +27857,7 @@ class bP extends w1 {
27834
27857
  }
27835
27858
  }
27836
27859
  }
27837
- const sf = "Dnalogel-PanoTagPlugin", jE = (i) => `${sf}--${i}`;
27860
+ const of = "Dnalogel-PanoTagPlugin", jE = (i) => `${of}--${i}`;
27838
27861
  class fa extends bP {
27839
27862
  constructor(e, n) {
27840
27863
  super(e);
@@ -27875,7 +27898,7 @@ class fa extends bP {
27875
27898
  load(e, n) {
27876
27899
  return U(this, null, function* () {
27877
27900
  var o, r;
27878
- this.clearTags(), console.debug(sf, " load:", { data: JSON.parse(JSON.stringify(e)) }), this.config = Xe({}, this.config, {
27901
+ this.clearTags(), console.debug(of, " load:", { data: JSON.parse(JSON.stringify(e)) }), this.config = Xe({}, this.config, {
27879
27902
  globalConfig: (o = e.globalConfig) != null ? o : {},
27880
27903
  contentTypeConfig: (r = e.contentTypeConfig) != null ? r : {}
27881
27904
  });
@@ -28538,7 +28561,7 @@ class ma {
28538
28561
  }))), this.endTagContainer.tag && Nr(this.endTagContainer.tag) && ((o = this.endTagContainer.app) == null || o.$set(Ae(N({}, this.endTagContainer.tag.data), { opacity: n })));
28539
28562
  });
28540
28563
  f(this, "logWarning", (t) => Db("GuideLineModeItem: ", t));
28541
- f(this, "logError", (t) => Su("GuideLineModeItem: ", t));
28564
+ f(this, "logError", (t) => Tu("GuideLineModeItem: ", t));
28542
28565
  var o, r;
28543
28566
  this.five = t, this.mode = e.mode, this.plugin = e.plugin, this.parent = e.parent, this.startTagContainer = { tag: null, plugin: new fa(this.five) }, this.endTagContainer = { tag: null, plugin: new fa(this.five) };
28544
28567
  const n = new E.BufferGeometry(), s = new E.ShaderMaterial({
@@ -28807,7 +28830,7 @@ function OP(i) {
28807
28830
  }, i);
28808
28831
  });
28809
28832
  }
28810
- const of = "v1.0.6", rf = "CruisePlugin", Bo = `${rf}@${of}`, uh = () => {
28833
+ const rf = "v1.0.6", af = "CruisePlugin", Bo = `${af}@${rf}`, uh = () => {
28811
28834
  console.error(`${Bo} is disposed`);
28812
28835
  }, BP = () => {
28813
28836
  console.warn(`${Bo} is disabled`);
@@ -28843,7 +28866,7 @@ class Ro extends Rn {
28843
28866
  modeChanging: !1
28844
28867
  });
28845
28868
  f(this, "GuideLine");
28846
- this.config = n, Object.assign(window, { [`__${rf}_DEBUG__`]: this });
28869
+ this.config = n, Object.assign(window, { [`__${af}_DEBUG__`]: this });
28847
28870
  const s = this.setFiveLinearUpdateCamera.bind(this), o = this.setFiveOriginUpdateCamera.bind(this);
28848
28871
  this.hooks.on("play", s), this.hooks.on("broke", o), this.hooks.on("end", o), this.hooks.on("pause", o), this.privateState.disposers.push(() => {
28849
28872
  this.hooks.off("play", s), this.hooks.off("broke", o), this.hooks.off("end", o), this.hooks.off("pause", o);
@@ -29359,11 +29382,11 @@ class Ro extends Rn {
29359
29382
  this.privateState.fiveOriginGetProgress && (this.five.controller.cameraMotion.getProgress = this.privateState.fiveOriginGetProgress);
29360
29383
  }
29361
29384
  }
29362
- f(Ro, "PluginVersion", of);
29385
+ f(Ro, "PluginVersion", rf);
29363
29386
  const BE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
29364
29387
  __proto__: null
29365
29388
  }, Symbol.toStringTag, { value: "Module" })), RE = (i) => new Ro(i);
29366
- class af {
29389
+ class lf {
29367
29390
  constructor(t) {
29368
29391
  f(this, "id");
29369
29392
  f(this, "renderID");
@@ -29374,7 +29397,7 @@ class af {
29374
29397
  f(this, "_visible", !0);
29375
29398
  f(this, "plugin");
29376
29399
  f(this, "five");
29377
- f(this, "logError", (t) => Su("GuideLineItem: ", t));
29400
+ f(this, "logError", (t) => Tu("GuideLineItem: ", t));
29378
29401
  this.id = t.id, this.five = t.five, this.plugin = t.plugin, this.panoramaItem = new ma(this.five, { mode: "panorama", plugin: this.plugin, parent: this }), this.modelItem = new ma(this.five, { mode: "model", plugin: this.plugin, parent: this });
29379
29402
  }
29380
29403
  get visible() {
@@ -29454,12 +29477,12 @@ function VP(i, t) {
29454
29477
  }
29455
29478
  const VE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
29456
29479
  __proto__: null,
29457
- GuideLineItem: af
29458
- }, Symbol.toStringTag, { value: "Module" })), lf = "v1.1.0", ga = "GuideLinePlugin", fh = `${ga}@${lf}`;
29480
+ GuideLineItem: lf
29481
+ }, Symbol.toStringTag, { value: "Module" })), cf = "v1.1.0", ga = "GuideLinePlugin", fh = `${ga}@${cf}`;
29459
29482
  class QP extends Rn {
29460
29483
  constructor(e, n) {
29461
29484
  super(e, n);
29462
- f(this, "version", lf);
29485
+ f(this, "version", cf);
29463
29486
  f(this, "name", ga);
29464
29487
  f(this, "cruisePlugin");
29465
29488
  /** GuideLineItem 索引 */
@@ -29547,7 +29570,7 @@ class QP extends Rn {
29547
29570
  addGuideLineItem(e) {
29548
29571
  const n = e.render_id || e.id, s = this.itemMap.get(n);
29549
29572
  s && this.removeGuideLineItem(s);
29550
- const o = new af({ five: this.five, id: n, plugin: this });
29573
+ const o = new lf({ five: this.five, id: n, plugin: this });
29551
29574
  return this.itemMap.set(n, o), e && o.setData(e), this.heightOffset += 1e-4, o.setHeightOffset(this.heightOffset), o;
29552
29575
  }
29553
29576
  /** 获取 Plugin 内的 GuideLineItem */
@@ -29615,14 +29638,14 @@ class QP extends Rn {
29615
29638
  }
29616
29639
  }
29617
29640
  const GP = (i, t) => new QP(i, t);
29618
- function cf(i, t, e) {
29641
+ function df(i, t, e) {
29619
29642
  if (e) {
29620
29643
  const s = new E.Vector3().subVectors(i.position, e).applyQuaternion(i.quaternion.clone().inverse()).applyQuaternion(t).add(e);
29621
29644
  i.position.copy(s);
29622
29645
  }
29623
29646
  i.quaternion.copy(t);
29624
29647
  }
29625
- class Vo extends pu {
29648
+ class Vo extends Au {
29626
29649
  constructor(e, n) {
29627
29650
  var s;
29628
29651
  super();
@@ -29662,7 +29685,7 @@ class Vo extends pu {
29662
29685
  this.scale.applyMatrix4(e);
29663
29686
  }
29664
29687
  setHelperQuaternion(e, n) {
29665
- cf(this, e, n);
29688
+ df(this, e, n);
29666
29689
  }
29667
29690
  applyHelperQuaternion(e, n) {
29668
29691
  if (n) {
@@ -29681,9 +29704,9 @@ class HP extends Vo {
29681
29704
  }
29682
29705
  class _P extends Vo {
29683
29706
  }
29684
- class df extends Vo {
29707
+ class hf extends Vo {
29685
29708
  }
29686
- class WP extends df {
29709
+ class WP extends hf {
29687
29710
  }
29688
29711
  class FP extends E.Group {
29689
29712
  constructor(e) {
@@ -30099,7 +30122,7 @@ class n2 extends WP {
30099
30122
  ];
30100
30123
  }
30101
30124
  }
30102
- function hf(i) {
30125
+ function uf(i) {
30103
30126
  const t = new E.Box3(), e = new E.Vector3();
30104
30127
  if (i.traverse((n) => {
30105
30128
  var o;
@@ -30135,7 +30158,7 @@ class i2 extends HP {
30135
30158
  this.box.raycast(e, n);
30136
30159
  }
30137
30160
  update() {
30138
- const e = hf(this.originObject);
30161
+ const e = uf(this.originObject);
30139
30162
  if (!e)
30140
30163
  return;
30141
30164
  const { min: n, max: s } = e;
@@ -30371,7 +30394,7 @@ class ps {
30371
30394
  const n = this.originObject3D, s = new E.Vector3(0, 0, 0);
30372
30395
  if (!t)
30373
30396
  return s;
30374
- const o = () => e || (this.boundingBox ? this.boundingBox : (this.boundingBox = hf(n), this.boundingBox));
30397
+ const o = () => e || (this.boundingBox ? this.boundingBox : (this.boundingBox = uf(n), this.boundingBox));
30375
30398
  if (typeof t.x == "number")
30376
30399
  s.setX(t.x);
30377
30400
  else if (typeof t.x == "object") {
@@ -30670,7 +30693,7 @@ class h2 extends ps {
30670
30693
  if (this.hooks.emit("wantToRotate", a))
30671
30694
  return;
30672
30695
  const { originObject3D: c, rotateCenter: d } = this;
30673
- cf(c, a, d), this.hooks.emit("setObjectRotate", a, d), this.hooks.emit("rotate", a), this.render();
30696
+ df(c, a, d), this.hooks.emit("setObjectRotate", a, d), this.hooks.emit("rotate", a), this.render();
30674
30697
  }
30675
30698
  dispose() {
30676
30699
  this.removeListener(), super.dispose();
@@ -30731,7 +30754,7 @@ class h2 extends ps {
30731
30754
  ),
30732
30755
  `${r.toUpperCase()}${"XZY".replace(r.toUpperCase(), "")}`
30733
30756
  )[r] * o.angleDirection;
30734
- if (this.startInfo.angle += v, this.setAngleHelperLength(r, this.startInfo.angle), this.setTipsAngle(su(this.startInfo.angle)), d) {
30757
+ if (this.startInfo.angle += v, this.setAngleHelperLength(r, this.startInfo.angle), this.setTipsAngle(ou(this.startInfo.angle)), d) {
30735
30758
  const y = new E.Vector3().subVectors(l.position, d).applyQuaternion(m).add(d);
30736
30759
  l.position.copy(y);
30737
30760
  }
@@ -30913,7 +30936,7 @@ class m2 extends ps {
30913
30936
  f(this, "name", "BoundingBoxController");
30914
30937
  }
30915
30938
  }
30916
- class g2 extends df {
30939
+ class g2 extends hf {
30917
30940
  constructor(t) {
30918
30941
  super(t);
30919
30942
  }
@@ -31242,7 +31265,7 @@ class gh {
31242
31265
  this.five = t, this.panoIndex = e.panoIndex, this._id = e.renderID, this.url = e.url, this.origin = e.origin.slice(), this._enabled = (c = (l = e.initialState) == null ? void 0 : l.enabled) != null ? c : !0;
31243
31266
  const n = document.createElement("video");
31244
31267
  n.crossOrigin = "anonymous", n.autoplay = !1, n.muted = !0, n.loop = !0, n.playsInline = !0, this.video = n;
31245
- const s = new xf(this.video);
31268
+ const s = new Df(this.video);
31246
31269
  s.minFilter = Ur, s.magFilter = Ur;
31247
31270
  const o = new vh({
31248
31271
  vertexShader: w2,
@@ -31250,12 +31273,12 @@ class gh {
31250
31273
  uniforms: {
31251
31274
  map: { value: s },
31252
31275
  size: {
31253
- value: new Df(this.origin[0], 1 - this.origin[1] - this.origin[3], this.origin[2], this.origin[3])
31276
+ value: new Sf(this.origin[0], 1 - this.origin[1] - this.origin[3], this.origin[2], this.origin[3])
31254
31277
  }
31255
31278
  },
31256
31279
  depthTest: !0,
31257
31280
  transparent: !0
31258
- }), r = new Sf(1, 64, 64);
31281
+ }), r = new Tf(1, 64, 64);
31259
31282
  r.scale(-1, 1, 1);
31260
31283
  const a = new ts(r, o);
31261
31284
  a.name = "pano-video", this.videoMesh = a, this.five.work && this.onFiveDataLoaded(), this.enabled && this.addEventListeners(), this.mountIfNeeded();
@@ -31471,11 +31494,11 @@ class P2 extends gs {
31471
31494
  const GE = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31472
31495
  __proto__: null
31473
31496
  }, Symbol.toStringTag, { value: "Module" })), NE = (i) => new P2(i);
31497
+ Bf();
31474
31498
  Of();
31475
- zf();
31476
31499
  export {
31477
31500
  ls as CSS3DRender,
31478
- Vh as CSS3DRenderPlugin,
31501
+ Qh as CSS3DRenderPlugin,
31479
31502
  SA as CameraMovementEffect,
31480
31503
  cE as CameraMovementPlugin,
31481
31504
  wP as ContentType,
@@ -31512,7 +31535,7 @@ export {
31512
31535
  iE as PanoFloorplanRadarPlugin,
31513
31536
  AE as PanoMeasurePlugin,
31514
31537
  An as PanoMeasurePluginLine,
31515
- yu as PanoMeasurePluginModel,
31538
+ wu as PanoMeasurePluginModel,
31516
31539
  bt as PanoMeasurePluginPoint,
31517
31540
  gi as PanoMeasurePluginPolyline,
31518
31541
  dE as PanoRulerPlugin,