@realsee/dnalogel 3.70.0 → 3.70.1

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 (582) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/index.cjs.js +34 -34
  3. package/dist/index.js +939 -937
  4. package/dist/index.umd.js +33 -33
  5. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  6. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  7. package/docs/classes/CSS3DRender.html +2 -2
  8. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  9. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  10. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  11. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  12. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  13. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  14. package/docs/classes/ModelRoomLabelController.html +2 -2
  15. package/docs/classes/MoveController.html +2 -2
  16. package/docs/classes/Object3DHelperController.html +2 -2
  17. package/docs/classes/PaintBrush.html +2 -2
  18. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  19. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  20. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  21. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  22. package/docs/classes/PanoTagPluginController.html +2 -2
  23. package/docs/classes/Sculpt.html +2 -2
  24. package/docs/classes/Util.BetterTween.html +2 -2
  25. package/docs/classes/Util.FiveDomEvents.html +2 -2
  26. package/docs/classes/Util.FivePuppet.html +2 -2
  27. package/docs/classes/Util.Interval.html +2 -2
  28. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  29. package/docs/classes/Util.LightTag.html +2 -2
  30. package/docs/classes/Util.LineSegments.html +2 -2
  31. package/docs/classes/Util.Magnifier.html +2 -2
  32. package/docs/classes/Util.Object3D.html +2 -2
  33. package/docs/classes/Util.PointDomHelper.html +2 -2
  34. package/docs/classes/Util.PointHelper.html +2 -2
  35. package/docs/classes/Util.PointSelector.html +2 -2
  36. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  37. package/docs/classes/Util.Rectangle.html +2 -2
  38. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  39. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  40. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  41. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  42. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  43. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  44. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  45. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  46. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  47. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  48. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  49. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  50. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  51. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  52. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  53. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  54. package/docs/classes/WalkController.html +2 -2
  55. package/docs/enums/CameraMovementEffect.html +2 -2
  56. package/docs/enums/ContentType.html +2 -2
  57. package/docs/enums/DIRECTION.html +2 -2
  58. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  59. package/docs/enums/DimensionType.html +2 -2
  60. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  61. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  62. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  63. package/docs/enums/PointType.html +2 -2
  64. package/docs/enums/Rotation.html +2 -2
  65. package/docs/functions/AreaMakerPlugin.html +1 -1
  66. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  67. package/docs/functions/CameraMovementPlugin.html +2 -2
  68. package/docs/functions/CruisePlugin.html +1 -1
  69. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  70. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  71. package/docs/functions/GuideLinePlugin.html +1 -1
  72. package/docs/functions/ItemLabelPlugin.html +1 -1
  73. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  74. package/docs/functions/MeasurePlugin.html +1 -1
  75. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  76. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  77. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  78. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  79. package/docs/functions/ModelMakerPlugin.html +1 -1
  80. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  81. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  82. package/docs/functions/ModelViewPlugin.html +2 -2
  83. package/docs/functions/MovePlugin.html +1 -1
  84. package/docs/functions/Object3DHelperPlugin.html +1 -1
  85. package/docs/functions/PanoCompassPlugin.html +1 -1
  86. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  87. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  88. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  89. package/docs/functions/PanoMeasurePlugin.html +1 -1
  90. package/docs/functions/PanoRulerPlugin.html +2 -2
  91. package/docs/functions/PanoRulerProPlugin.html +2 -2
  92. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  93. package/docs/functions/PanoTagPlugin.html +1 -1
  94. package/docs/functions/PanoVideoPlugin.html +2 -2
  95. package/docs/functions/PipelinePlugin.html +1 -1
  96. package/docs/functions/SculptPlugin.html +2 -2
  97. package/docs/functions/SculptPluginForFive.html +2 -2
  98. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  99. package/docs/functions/Util.awaitNextFrame.html +1 -1
  100. package/docs/functions/Util.blink.html +2 -2
  101. package/docs/functions/Util.blinkWithPreset.html +2 -2
  102. package/docs/functions/Util.bounding.html +1 -1
  103. package/docs/functions/Util.boundingBox.html +1 -1
  104. package/docs/functions/Util.boundingSphere.html +1 -1
  105. package/docs/functions/Util.boxVertex.html +2 -2
  106. package/docs/functions/Util.boxVertexes.html +1 -1
  107. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  108. package/docs/functions/Util.cleanup.html +2 -2
  109. package/docs/functions/Util.convexHull.html +2 -2
  110. package/docs/functions/Util.equal.html +2 -2
  111. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  112. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  113. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  114. package/docs/functions/Util.getFrameTime.html +2 -2
  115. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  116. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  117. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  118. package/docs/functions/Util.inside.html +1 -1
  119. package/docs/functions/Util.isModelLike.html +1 -1
  120. package/docs/functions/Util.isNil.html +2 -2
  121. package/docs/functions/Util.isPanoramaLike.html +1 -1
  122. package/docs/functions/Util.lookObject.html +2 -2
  123. package/docs/functions/Util.lookPoint.html +2 -2
  124. package/docs/functions/Util.nextFrame.html +1 -1
  125. package/docs/functions/Util.notNil.html +2 -2
  126. package/docs/functions/Util.reblink.html +2 -2
  127. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  128. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  129. package/docs/functions/Util.sculpt.createBox.html +1 -1
  130. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  131. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  132. package/docs/functions/Util.sculpt.createLine.html +2 -2
  133. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  134. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  135. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  136. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  137. package/docs/functions/Util.tag.html +1 -1
  138. package/docs/functions/Util.tweenProgress.html +1 -1
  139. package/docs/functions/Util.uuid.html +2 -2
  140. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  141. package/docs/functions/Util.worldBounding.html +1 -1
  142. package/docs/functions/Util.worldBoundingBox.html +1 -1
  143. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  144. package/docs/functions/createPolyline.html +2 -2
  145. package/docs/functions/pluginFlag.html +1 -1
  146. package/docs/hierarchy.html +1 -1
  147. package/docs/index.html +2 -2
  148. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  149. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  150. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  151. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  152. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  153. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  154. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  155. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  156. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  157. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  158. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  159. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  160. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  161. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  162. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  163. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  164. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  165. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  166. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  167. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  168. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  169. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  170. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  171. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  172. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  173. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  174. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  175. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  176. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  177. package/docs/interfaces/FloorplanBounding.html +2 -2
  178. package/docs/interfaces/FloorplanData.html +2 -2
  179. package/docs/interfaces/FloorplanEntrance.html +2 -2
  180. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  181. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  182. package/docs/interfaces/FloorplanFloorData.html +2 -2
  183. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  184. package/docs/interfaces/FloorplanObserver.html +2 -2
  185. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  186. package/docs/interfaces/FloorplanPosition.html +2 -2
  187. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  188. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  189. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  190. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  191. package/docs/interfaces/FloorplanServerData.html +2 -2
  192. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  193. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  194. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  195. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  196. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  197. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  198. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  199. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  200. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  201. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  202. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  203. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  204. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  205. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  206. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  207. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  208. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  209. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  210. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  211. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  212. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  213. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  214. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  215. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  216. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  217. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  218. package/docs/interfaces/HelperOffset.html +2 -2
  219. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  220. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  221. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  222. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  223. package/docs/interfaces/MinMax.html +2 -2
  224. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  225. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  226. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  227. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  228. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  229. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  230. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  231. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  232. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  233. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  234. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  235. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  236. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  237. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  238. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  239. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  240. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  241. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  242. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  243. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  244. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  245. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  246. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  247. package/docs/interfaces/Object3DHelperState.html +2 -2
  248. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  249. package/docs/interfaces/PaintBrushAction.html +2 -2
  250. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  251. package/docs/interfaces/PaintBrushState.html +2 -2
  252. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  253. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  254. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  255. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  256. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  257. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  258. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  259. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  260. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  261. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  262. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  263. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  264. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  265. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  266. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  267. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  268. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  269. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  270. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  271. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  272. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  273. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  274. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  275. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  276. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  277. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  278. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  279. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  280. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  281. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  282. package/docs/interfaces/PluginEventMap.html +2 -2
  283. package/docs/interfaces/Point.html +2 -2
  284. package/docs/interfaces/Room.html +2 -2
  285. package/docs/interfaces/RoomInfo.html +2 -2
  286. package/docs/interfaces/RoomLabel.html +2 -2
  287. package/docs/interfaces/RoomRules.html +1 -1
  288. package/docs/interfaces/Rooms.html +1 -1
  289. package/docs/interfaces/Scissor.html +2 -2
  290. package/docs/interfaces/SculptConfig.html +2 -2
  291. package/docs/interfaces/State.html +2 -2
  292. package/docs/interfaces/TagCacheInterface.html +2 -2
  293. package/docs/interfaces/TagConfig.html +2 -2
  294. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  295. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  296. package/docs/interfaces/TagIconUrl.html +2 -2
  297. package/docs/interfaces/TagObjectGroup.html +2 -2
  298. package/docs/interfaces/TagState.html +2 -2
  299. package/docs/interfaces/TagStyle.html +2 -2
  300. package/docs/interfaces/Tags.html +2 -2
  301. package/docs/interfaces/TemporaryState.html +2 -2
  302. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  303. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  304. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  305. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  306. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  307. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  308. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  309. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  310. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  311. package/docs/interfaces/Util.PointIntersection.html +2 -2
  312. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  313. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  314. package/docs/modules/AreaMakerPluginType.html +2 -2
  315. package/docs/modules/CruisePluginTypes.html +2 -2
  316. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  317. package/docs/modules/GuideLineItem.html +2 -2
  318. package/docs/modules/GuideLineModeItem.html +2 -2
  319. package/docs/modules/GuideLinePluginType.html +2 -2
  320. package/docs/modules/ModelMakerPluginType.html +2 -2
  321. package/docs/modules/PanoVideoPluginType.html +2 -2
  322. package/docs/modules/SculptData.html +2 -2
  323. package/docs/modules/SculptType.html +2 -2
  324. package/docs/modules/Util.html +2 -2
  325. package/docs/modules/Util.sculpt.html +2 -2
  326. package/docs/modules.html +2 -2
  327. package/docs/types/AddObject3DHelperConfig.html +2 -2
  328. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  329. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  330. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  331. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  332. package/docs/types/ArrayPosition.html +1 -1
  333. package/docs/types/AudioAppearance.html +1 -1
  334. package/docs/types/CSS3DRenderExportType.html +1 -1
  335. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  336. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  337. package/docs/types/ClassFunctionParameters.html +1 -1
  338. package/docs/types/Color.html +1 -1
  339. package/docs/types/ContentTypeConfigKey.html +1 -1
  340. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  341. package/docs/types/ContentTypeMap.html +1 -1
  342. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  343. package/docs/types/Create3DElementReturnType.html +1 -1
  344. package/docs/types/CruisePluginExportType.html +1 -1
  345. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  346. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  347. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  348. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  349. package/docs/types/DeprecatedTagProperty.html +2 -2
  350. package/docs/types/Direction-1.html +1 -1
  351. package/docs/types/Direction4.html +1 -1
  352. package/docs/types/ElementRenderer.html +2 -2
  353. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  354. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  355. package/docs/types/FloorplanRuleLabels.html +2 -2
  356. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  357. package/docs/types/GuideLinePluginExportType.html +1 -1
  358. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  359. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  360. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  361. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  362. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  363. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  364. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  365. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  366. package/docs/types/HelperEventMap.html +1 -1
  367. package/docs/types/InternalHelperEventMap.html +1 -1
  368. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  369. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  370. package/docs/types/MeasureEndReason.html +1 -1
  371. package/docs/types/MeasurePluginConfig.html +2 -2
  372. package/docs/types/MediaData.html +2 -2
  373. package/docs/types/MediaStore.html +1 -1
  374. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  375. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  376. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  377. package/docs/types/ModelId.html +1 -1
  378. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  379. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  380. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  381. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  382. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  383. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  384. package/docs/types/MoveArgs.html +2 -2
  385. package/docs/types/MoveOpts.html +2 -2
  386. package/docs/types/Object3DHelperEventMap.html +1 -1
  387. package/docs/types/ObjectFit.html +1 -1
  388. package/docs/types/PaintBrushEventMap.html +1 -1
  389. package/docs/types/PanoCompassPluginData.html +1 -1
  390. package/docs/types/PanoCompassPluginExportType.html +1 -1
  391. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  392. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  393. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  394. package/docs/types/PanoIndex.html +1 -1
  395. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  396. package/docs/types/PanoMeasureReturnType.html +1 -1
  397. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  398. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  399. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  400. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  401. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  402. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  403. package/docs/types/PipelinePluginParameterType.html +1 -1
  404. package/docs/types/PipelinePluginReturnType.html +1 -1
  405. package/docs/types/PlaneTag.html +2 -2
  406. package/docs/types/Point2DTag.html +2 -2
  407. package/docs/types/Point3DTag.html +2 -2
  408. package/docs/types/PointTagInstance.html +1 -1
  409. package/docs/types/Position.html +1 -1
  410. package/docs/types/PositionFrom.html +1 -1
  411. package/docs/types/RotateArgs.html +2 -2
  412. package/docs/types/RotateOpts.html +2 -2
  413. package/docs/types/RuleLabelsKey.html +1 -1
  414. package/docs/types/RuleLabelsValue.html +1 -1
  415. package/docs/types/ScaleCallback.html +1 -1
  416. package/docs/types/ScalePosition.html +2 -2
  417. package/docs/types/SculptData.BoxData.html +1 -1
  418. package/docs/types/SculptData.CircleData.html +1 -1
  419. package/docs/types/SculptData.CylinderData.html +1 -1
  420. package/docs/types/SculptData.PointData.html +1 -1
  421. package/docs/types/SculptData.PolygonData.html +1 -1
  422. package/docs/types/SculptData.PolylineData.html +1 -1
  423. package/docs/types/SculptData.PrismData.html +1 -1
  424. package/docs/types/SculptData.RectangleData.html +1 -1
  425. package/docs/types/SculptType.Theme.html +2 -2
  426. package/docs/types/StickType.html +1 -1
  427. package/docs/types/Tag.html +2 -2
  428. package/docs/types/Tag2D.html +2 -2
  429. package/docs/types/Tag3D.html +2 -2
  430. package/docs/types/TagClickParams.html +1 -1
  431. package/docs/types/TagConfigByKey.html +1 -1
  432. package/docs/types/TagContentType.html +1 -1
  433. package/docs/types/TagContentTypeMapping.html +1 -1
  434. package/docs/types/TagDimensionType.html +1 -1
  435. package/docs/types/TagElement.html +2 -2
  436. package/docs/types/TagEvents.html +1 -1
  437. package/docs/types/TagGLTFObject.html +1 -1
  438. package/docs/types/TagHooks.html +1 -1
  439. package/docs/types/TagId.html +1 -1
  440. package/docs/types/TagInstance.html +1 -1
  441. package/docs/types/TagPlacement.html +2 -2
  442. package/docs/types/TagPointType.html +2 -2
  443. package/docs/types/TagRendererMap.html +1 -1
  444. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  445. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  446. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  447. package/docs/types/Util.AdherePoint.html +2 -2
  448. package/docs/types/Util.PointSelectorConfig.html +1 -1
  449. package/docs/types/Util.SupportedTarget.html +2 -2
  450. package/docs/types/Util.Target.html +2 -2
  451. package/docs/types/Util.ThreeObject.html +2 -2
  452. package/docs/types/WorkCode.html +1 -1
  453. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  454. package/docs/variables/PLUGIN.html +1 -1
  455. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  456. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  457. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  458. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  459. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  460. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  461. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  462. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  463. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  464. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  465. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  466. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  467. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  468. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  469. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  470. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  471. package/docs/variables/defaultGlobalConfig.html +1 -1
  472. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  473. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  474. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  475. package/libs/AreaMakerPlugin/Controller.js +2 -2
  476. package/libs/AreaMakerPlugin/index.js +7 -7
  477. package/libs/AreaMakerPlugin/utils/Item.js +2 -2
  478. package/libs/CSS3DRenderPlugin/utils/three/CSS3DObject.js +2 -2
  479. package/libs/CSS3DRenderPlugin/utils/three/CSS3DRender.js +1 -1
  480. package/libs/CruisePlugin/BaseController.js +2 -2
  481. package/libs/CruisePlugin/Move.js +2 -2
  482. package/libs/CruisePlugin/Work.js +1 -1
  483. package/libs/CruisePlugin/index.js +8 -8
  484. package/libs/CurrentPanoImagePlugin/Controller.js +2 -2
  485. package/libs/CurrentPanoImagePlugin/index.js +8 -8
  486. package/libs/GuideLinePlugin/Controller.js +2 -2
  487. package/libs/GuideLinePlugin/GuideLineItem.js +8 -8
  488. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +1 -1
  489. package/libs/GuideLinePlugin/GuideLineModeItem.js +2 -2
  490. package/libs/GuideLinePlugin/index.js +8 -8
  491. package/libs/MeasurePlugin/Controller.js +2 -2
  492. package/libs/MeasurePlugin/index.js +8 -8
  493. package/libs/MeasurePlugin/utils/MeasureMesh.js +8 -8
  494. package/libs/ModelChassisCompassPlugin/Plugin.js +2 -2
  495. package/libs/ModelChassisCompassPlugin/index.js +8 -8
  496. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +2 -2
  497. package/libs/ModelEntryDoorGuidePlugin/index.js +8 -8
  498. package/libs/ModelMakerPlugin/Controller.js +2 -2
  499. package/libs/ModelMakerPlugin/index.js +8 -8
  500. package/libs/ModelMakerPlugin/item/baseItem.js +8 -8
  501. package/libs/ModelMakerPlugin/item/boxItem.js +8 -8
  502. package/libs/ModelMakerPlugin/item/polygonItem.js +8 -8
  503. package/libs/ModelMakerPlugin/item/prismItem.js +2 -2
  504. package/libs/ModelViewPlugin/Plugin.js +2 -2
  505. package/libs/ModelViewPlugin/index.js +8 -8
  506. package/libs/Object3DHelperPlugin/index.js +8 -8
  507. package/libs/PanoCompassPlugin/Controller.js +8 -8
  508. package/libs/PanoCompassPlugin/index.js +8 -8
  509. package/libs/PanoDoorLabelPlugin/Controller.js +2 -2
  510. package/libs/PanoDoorLabelPlugin/index.js +8 -8
  511. package/libs/PanoMeasurePlugin/Components/Controller0.js +7 -7
  512. package/libs/PanoMeasurePlugin/Components/Controller1.js +7 -7
  513. package/libs/PanoMeasurePlugin/Controller/EditController.js +2 -2
  514. package/libs/PanoMeasurePlugin/Controller/WatchController.js +7 -7
  515. package/libs/PanoMeasurePlugin/Controller/index.js +2 -2
  516. package/libs/PanoMeasurePlugin/Model/area.js +7 -7
  517. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +2 -2
  518. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +7 -7
  519. package/libs/PanoMeasurePlugin/index.js +2 -2
  520. package/libs/PanoMeasurePlugin/utils/dom/areaDom.js +2 -2
  521. package/libs/PanoRulerProPlugin/Controller.js +7 -7
  522. package/libs/PanoRulerProPlugin/RulerItems.js +2 -2
  523. package/libs/PanoRulerProPlugin/index.js +7 -7
  524. package/libs/PanoSpatialTagPlugin/Plugin.js +4 -4
  525. package/libs/PanoTagPlugin/Components/Common/TagPoint.js +2 -2
  526. package/libs/PanoTagPlugin/Components/Common/TagPopover/PopoverContent.js +8 -8
  527. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.js +2 -2
  528. package/libs/PanoTagPlugin/Components/Common/TagPopover/index.js +2 -2
  529. package/libs/PanoTagPlugin/Components/Tag/MarketingTag.js +2 -2
  530. package/libs/PanoTagPlugin/Components/Tag/index.js +1 -1
  531. package/libs/PanoTagPlugin/Components/TagContainer.js +6 -6
  532. package/libs/PanoTagPlugin/Components/TagItem.js +1 -1
  533. package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +2 -2
  534. package/libs/PanoTagPlugin/controller/Tag/PointTag.js +8 -8
  535. package/libs/PanoTagPlugin/controller/TagRender.js +8 -8
  536. package/libs/PanoTagPlugin/controller/TagUtil.js +2 -2
  537. package/libs/PanoTagPlugin/controller/index.js +2 -2
  538. package/libs/PanoTagPlugin/index.js +8 -8
  539. package/libs/PanoTagPlugin/utils/tag/calculateTagConfig.js +2 -2
  540. package/libs/PanoTagPlugin/utils/tag/format.js +2 -2
  541. package/libs/PanoVideoPlugin/Controller.js +8 -8
  542. package/libs/PanoVideoPlugin/VideoMeshController.js +1 -1
  543. package/libs/PanoVideoPlugin/index.js +8 -8
  544. package/libs/PipelinePlugin/Controller.js +2 -2
  545. package/libs/PipelinePlugin/index.js +8 -8
  546. package/libs/PipelinePlugin/utils/Objects/FlowPipe.js +2 -2
  547. package/libs/PipelinePlugin/utils/Objects/HighlightPipe.js +2 -2
  548. package/libs/PipelinePlugin/utils/Objects/Pipe.js +2 -2
  549. package/libs/Sculpt/Meshes/Circle.js +1 -1
  550. package/libs/Sculpt/Meshes/Cylinder.js +1 -1
  551. package/libs/Sculpt/Meshes/Line.js +1 -1
  552. package/libs/Sculpt/Meshes/LineWithDots.js +1 -1
  553. package/libs/Sculpt/Meshes/Point.js +1 -1
  554. package/libs/Sculpt/Meshes/Rectangle.js +1 -1
  555. package/libs/Sculpt/Objects/Base/index.js +1 -1
  556. package/libs/Sculpt/Objects/Line/Editor.js +1 -1
  557. package/libs/Sculpt/index.js +1 -1
  558. package/libs/Sculpt/utils/three/ColoredMesh.js +1 -1
  559. package/libs/base/BasePlugin.js +2 -2
  560. package/libs/floorplan/FloorplanGuidePlugin/Controller.js +2 -2
  561. package/libs/floorplan/FloorplanGuidePlugin/index.js +8 -8
  562. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +2 -2
  563. package/libs/floorplan/MapviewFloorplanPlugin/index.js +8 -8
  564. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +2 -2
  565. package/libs/floorplan/ModelFloorplanPlugin/index.js +8 -8
  566. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +2 -2
  567. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +8 -8
  568. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +2 -2
  569. package/libs/floorplan/TopviewFloorplanPlugin/index.js +8 -8
  570. package/libs/floorplan/index.js +1 -1
  571. package/libs/shared-utils/CSS3DRender/CSS3DObject.js +1 -1
  572. package/libs/shared-utils/CSS3DRender/index.js +20 -21
  573. package/libs/shared-utils/five/index.js +1 -1
  574. package/libs/shared-utils/five/initialCSS3DRender.js +0 -1
  575. package/libs/shared-utils/five/lookObject.js +1 -1
  576. package/libs/shared-utils/index.js +1 -1
  577. package/libs/shared-utils/logger.js +1 -1
  578. package/libs/shared-utils/tag.js +1 -1
  579. package/libs/shared-utils/three/PointDomHelper.js +2 -3
  580. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.js +1 -1
  581. package/libs/shared-utils/three/index.js +1 -1
  582. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -43,7 +43,7 @@ import { LineGeometry as hb, LineMaterial as ub, THREE_Line2 as db, Line as fb }
43
43
  import { GLTFLoader as gb } from "@realsee/five/gltf-loader";
44
44
  function pb() {
45
45
  console.debug(
46
- "%c %c@realsee/dnalogel %cv3.70.0",
46
+ "%c %c@realsee/dnalogel %cv3.70.1",
47
47
  [
48
48
  "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=')",
49
49
  "background-repeat: no-repeat",
@@ -1069,7 +1069,7 @@ function Ma(n) {
1069
1069
  function Lb(n) {
1070
1070
  n[kr] && delete n[kr];
1071
1071
  }
1072
- class kt {
1072
+ class Mt {
1073
1073
  /**
1074
1074
  * 判断是否注册了事件
1075
1075
  * @param name - 事件类型
@@ -1225,7 +1225,7 @@ function Ci(n) {
1225
1225
  var e;
1226
1226
  return ((e = n.models) == null ? void 0 : e.filter((i) => i.name === n.state.workCode)[0]) || n.model;
1227
1227
  }
1228
- class w0 extends kt {
1228
+ class w0 extends Mt {
1229
1229
  constructor(e) {
1230
1230
  super();
1231
1231
  f(this, "five");
@@ -1731,8 +1731,8 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
1731
1731
  var Qe = U ? V[Oe][U] : V[Oe];
1732
1732
  C(be, Qe) < 0 && ne.push(V[Oe]), be[Oe] = Qe, Oe++;
1733
1733
  }
1734
- return q && (U ? ne = ne.sort(function(Mt, Lt) {
1735
- return Mt[U] > Lt[U];
1734
+ return q && (U ? ne = ne.sort(function(Et, Lt) {
1735
+ return Et[U] > Lt[U];
1736
1736
  }) : ne = ne.sort()), ne;
1737
1737
  }
1738
1738
  function S(V, U) {
@@ -1789,8 +1789,8 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
1789
1789
  function ot(V, U) {
1790
1790
  var q = V.session, ne = U.pointers, be = ne.length;
1791
1791
  q.firstInput || (q.firstInput = Gt(U)), be > 1 && !q.firstMultiple ? q.firstMultiple = Gt(U) : be === 1 && (q.firstMultiple = !1);
1792
- var Oe = q.firstInput, Qe = q.firstMultiple, Pt = Qe ? Qe.center : Oe.center, Mt = U.center = ci(ne);
1793
- U.timeStamp = h(), U.deltaTime = U.timeStamp - Oe.timeStamp, U.angle = Ut(Pt, Mt), U.distance = Wt(Pt, Mt), jt(q, U), U.offsetDirection = rt(U.deltaX, U.deltaY);
1792
+ var Oe = q.firstInput, Qe = q.firstMultiple, wt = Qe ? Qe.center : Oe.center, Et = U.center = ci(ne);
1793
+ U.timeStamp = h(), U.deltaTime = U.timeStamp - Oe.timeStamp, U.angle = Ut(wt, Et), U.distance = Wt(wt, Et), jt(q, U), U.offsetDirection = rt(U.deltaX, U.deltaY);
1794
1794
  var Lt = vi(U.deltaTime, U.deltaX, U.deltaY);
1795
1795
  U.overallVelocityX = Lt.x, U.overallVelocityY = Lt.y, U.overallVelocity = c(Lt.x) > c(Lt.y) ? Lt.x : Lt.y, U.scale = Qe ? bs(Qe.pointers, ne) : 1, U.rotation = Qe ? ir(Qe.pointers, ne) : 0, U.maxPointers = q.prevInput ? U.pointers.length > q.prevInput.maxPointers ? U.pointers.length : q.prevInput.maxPointers : U.pointers.length, Wi(q, U);
1796
1796
  var ii = V.element;
@@ -1807,13 +1807,13 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
1807
1807
  }), U.deltaX = be.x + (q.x - ne.x), U.deltaY = be.y + (q.y - ne.y);
1808
1808
  }
1809
1809
  function Wi(V, U) {
1810
- var q = V.lastInterval || U, ne = U.timeStamp - q.timeStamp, be, Oe, Qe, Pt;
1810
+ var q = V.lastInterval || U, ne = U.timeStamp - q.timeStamp, be, Oe, Qe, wt;
1811
1811
  if (U.eventType != ee && (ne > De || q.velocity === s)) {
1812
- var Mt = U.deltaX - q.deltaX, Lt = U.deltaY - q.deltaY, ii = vi(ne, Mt, Lt);
1813
- Oe = ii.x, Qe = ii.y, be = c(ii.x) > c(ii.y) ? ii.x : ii.y, Pt = rt(Mt, Lt), V.lastInterval = U;
1812
+ var Et = U.deltaX - q.deltaX, Lt = U.deltaY - q.deltaY, ii = vi(ne, Et, Lt);
1813
+ Oe = ii.x, Qe = ii.y, be = c(ii.x) > c(ii.y) ? ii.x : ii.y, wt = rt(Et, Lt), V.lastInterval = U;
1814
1814
  } else
1815
- be = q.velocity, Oe = q.velocityX, Qe = q.velocityY, Pt = q.direction;
1816
- U.velocity = be, U.velocityX = Oe, U.velocityY = Qe, U.direction = Pt;
1815
+ be = q.velocity, Oe = q.velocityX, Qe = q.velocityY, wt = q.direction;
1816
+ U.velocity = be, U.velocityX = Oe, U.velocityY = Qe, U.direction = wt;
1817
1817
  }
1818
1818
  function Gt(V) {
1819
1819
  for (var U = [], q = 0; q < V.pointers.length; )
@@ -1914,13 +1914,13 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
1914
1914
  * @param {Object} ev
1915
1915
  */
1916
1916
  handler: function(U) {
1917
- var q = this.store, ne = !1, be = U.type.toLowerCase().replace("ms", ""), Oe = Ai[be], Qe = Rn[U.pointerType] || U.pointerType, Pt = Qe == Z, Mt = C(q, U.pointerId, "pointerId");
1918
- Oe & de && (U.button === 0 || Pt) ? Mt < 0 && (q.push(U), Mt = q.length - 1) : Oe & (Le | ee) && (ne = !0), !(Mt < 0) && (q[Mt] = U, this.callback(this.manager, Oe, {
1917
+ var q = this.store, ne = !1, be = U.type.toLowerCase().replace("ms", ""), Oe = Ai[be], Qe = Rn[U.pointerType] || U.pointerType, wt = Qe == Z, Et = C(q, U.pointerId, "pointerId");
1918
+ Oe & de && (U.button === 0 || wt) ? Et < 0 && (q.push(U), Et = q.length - 1) : Oe & (Le | ee) && (ne = !0), !(Et < 0) && (q[Et] = U, this.callback(this.manager, Oe, {
1919
1919
  pointers: q,
1920
1920
  changedPointers: [U],
1921
1921
  pointerType: Qe,
1922
1922
  srcEvent: U
1923
- }), ne && q.splice(Mt, 1));
1923
+ }), ne && q.splice(Et, 1));
1924
1924
  }
1925
1925
  });
1926
1926
  var un = {
@@ -1974,19 +1974,19 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
1974
1974
  var q = I(V.touches), ne = this.targetIds;
1975
1975
  if (U & (de | he) && q.length === 1)
1976
1976
  return ne[q[0].identifier] = !0, [q, q];
1977
- var be, Oe, Qe = I(V.changedTouches), Pt = [], Mt = this.target;
1977
+ var be, Oe, Qe = I(V.changedTouches), wt = [], Et = this.target;
1978
1978
  if (Oe = q.filter(function(Lt) {
1979
- return L(Lt.target, Mt);
1979
+ return L(Lt.target, Et);
1980
1980
  }), U === de)
1981
1981
  for (be = 0; be < Oe.length; )
1982
1982
  ne[Oe[be].identifier] = !0, be++;
1983
1983
  for (be = 0; be < Qe.length; )
1984
- ne[Qe[be].identifier] && Pt.push(Qe[be]), U & (Le | ee) && delete ne[Qe[be].identifier], be++;
1985
- if (Pt.length)
1984
+ ne[Qe[be].identifier] && wt.push(Qe[be]), U & (Le | ee) && delete ne[Qe[be].identifier], be++;
1985
+ if (wt.length)
1986
1986
  return [
1987
1987
  // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'
1988
- k(Oe.concat(Pt), "identifier", !0),
1989
- Pt
1988
+ k(Oe.concat(wt), "identifier", !0),
1989
+ wt
1990
1990
  ];
1991
1991
  }
1992
1992
  var sr = 2500, Ps = 25;
@@ -2082,8 +2082,8 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2082
2082
  }
2083
2083
  var ne = this.actions, be = O(ne, Ri) && !Hn[Ri], Oe = O(ne, gn) && !Hn[gn], Qe = O(ne, fn) && !Hn[fn];
2084
2084
  if (be) {
2085
- var Pt = V.pointers.length === 1, Mt = V.distance < 2, Lt = V.deltaTime < 250;
2086
- if (Pt && Mt && Lt)
2085
+ var wt = V.pointers.length === 1, Et = V.distance < 2, Lt = V.deltaTime < 250;
2086
+ if (wt && Et && Lt)
2087
2087
  return;
2088
2088
  }
2089
2089
  if (!(Qe && Oe) && (be || Oe && q & Ie || Qe && q & ze))
@@ -2111,7 +2111,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2111
2111
  V[q] = U ? t.CSS.supports("touch-action", q) : !0;
2112
2112
  }), V;
2113
2113
  }
2114
- var Fn = 1, Qt = 2, Xi = 4, $t = 8, hi = $t, xi = 16, Et = 32;
2114
+ var Fn = 1, Qt = 2, Xi = 4, $t = 8, hi = $t, xi = 16, It = 32;
2115
2115
  function ei(V) {
2116
2116
  this.options = m({}, this.defaults, V || {}), this.id = N(), this.manager = null, this.options.enable = z(this.options.enable, !0), this.state = Fn, this.simultaneous = {}, this.requireFail = [];
2117
2117
  }
@@ -2207,7 +2207,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2207
2207
  tryEmit: function(V) {
2208
2208
  if (this.canEmit())
2209
2209
  return this.emit(V);
2210
- this.state = Et;
2210
+ this.state = It;
2211
2211
  },
2212
2212
  /**
2213
2213
  * can we emit?
@@ -2215,7 +2215,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2215
2215
  */
2216
2216
  canEmit: function() {
2217
2217
  for (var V = 0; V < this.requireFail.length; ) {
2218
- if (!(this.requireFail[V].state & (Et | Fn)))
2218
+ if (!(this.requireFail[V].state & (It | Fn)))
2219
2219
  return !1;
2220
2220
  V++;
2221
2221
  }
@@ -2228,10 +2228,10 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2228
2228
  recognize: function(V) {
2229
2229
  var U = m({}, V);
2230
2230
  if (!M(this.options.enable, [this, U])) {
2231
- this.reset(), this.state = Et;
2231
+ this.reset(), this.state = It;
2232
2232
  return;
2233
2233
  }
2234
- this.state & (hi | xi | Et) && (this.state = Fn), this.state = this.process(U), this.state & (Qt | Xi | $t | xi) && this.tryEmit(U);
2234
+ this.state & (hi | xi | It) && (this.state = Fn), this.state = this.process(U), this.state & (Qt | Xi | $t | xi) && this.tryEmit(U);
2235
2235
  },
2236
2236
  /**
2237
2237
  * return the state of the recognizer
@@ -2301,7 +2301,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2301
2301
  */
2302
2302
  process: function(V) {
2303
2303
  var U = this.state, q = V.eventType, ne = U & (Qt | Xi), be = this.attrTest(V);
2304
- return ne && (q & ee || !be) ? U | xi : ne || be ? q & Le ? U | $t : U & Qt ? U | Xi : Qt : Et;
2304
+ return ne && (q & ee || !be) ? U | xi : ne || be ? q & Le ? U | $t : U & Qt ? U | Xi : Qt : It;
2305
2305
  }
2306
2306
  });
2307
2307
  function Gn() {
@@ -2391,7 +2391,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2391
2391
  }, U.time, this);
2392
2392
  else if (V.eventType & Le)
2393
2393
  return hi;
2394
- return Et;
2394
+ return It;
2395
2395
  },
2396
2396
  reset: function() {
2397
2397
  clearTimeout(this._timer);
@@ -2480,18 +2480,18 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2480
2480
  return this.failTimeout();
2481
2481
  var Oe = this.pTime ? V.timeStamp - this.pTime < U.interval : !0, Qe = !this.pCenter || Wt(this.pCenter, V.center) < U.posThreshold;
2482
2482
  this.pTime = V.timeStamp, this.pCenter = V.center, !Qe || !Oe ? this.count = 1 : this.count += 1, this._input = V;
2483
- var Pt = this.count % U.taps;
2484
- if (Pt === 0)
2483
+ var wt = this.count % U.taps;
2484
+ if (wt === 0)
2485
2485
  return this.hasRequireFailures() ? (this._timer = u(function() {
2486
2486
  this.state = hi, this.tryEmit();
2487
2487
  }, U.interval, this), Qt) : hi;
2488
2488
  }
2489
- return Et;
2489
+ return It;
2490
2490
  },
2491
2491
  failTimeout: function() {
2492
2492
  return this._timer = u(function() {
2493
- this.state = Et;
2494
- }, this.options.interval, this), Et;
2493
+ this.state = It;
2494
+ }, this.options.interval, this), It;
2495
2495
  },
2496
2496
  reset: function() {
2497
2497
  clearTimeout(this._timer);
@@ -2757,7 +2757,7 @@ var Ti = typeof globalThis != "undefined" ? globalThis : typeof window != "undef
2757
2757
  STATE_ENDED: $t,
2758
2758
  STATE_RECOGNIZED: hi,
2759
2759
  STATE_CANCELLED: xi,
2760
- STATE_FAILED: Et,
2760
+ STATE_FAILED: It,
2761
2761
  DIRECTION_NONE: Te,
2762
2762
  DIRECTION_LEFT: _e,
2763
2763
  DIRECTION_RIGHT: ve,
@@ -2803,7 +2803,7 @@ class jh {
2803
2803
  f(this, "width");
2804
2804
  f(this, "height");
2805
2805
  f(this, "containerDom");
2806
- f(this, "hooks", new kt());
2806
+ f(this, "hooks", new Mt());
2807
2807
  f(this, "canvas", document.createElement("canvas"));
2808
2808
  f(this, "config");
2809
2809
  f(this, "state", { enabled: !1 });
@@ -3242,478 +3242,6 @@ function ac(n) {
3242
3242
  if (!(i !== "transparent" && i !== "rgba(0, 0, 0, 0)" && i !== "" || s !== "none" && s !== ""))
3243
3243
  return n;
3244
3244
  }
3245
- class E0 extends w.Mesh {
3246
- constructor(e, i) {
3247
- const s = new w.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: w.DoubleSide }), o = new w.PlaneGeometry(e, i);
3248
- super(o, s);
3249
- f(this, "name", "opacity-mesh");
3250
- }
3251
- removeFromParent() {
3252
- const e = this.parent;
3253
- return e !== null && e.remove(this), this;
3254
- }
3255
- }
3256
- function Jt(...n) {
3257
- const t = new Ae();
3258
- return n.forEach((e) => t.add(e)), t.divideScalar(n.length), t;
3259
- }
3260
- const _h = (n) => n ? n.visible === !1 ? !1 : _h(n.parent) : !0, M0 = 1, bd = `CSS3DObjectPlus@${M0}`, Ub = 216e-5, Qb = 3e-3;
3261
- let k0 = class extends Sn {
3262
- constructor(e) {
3263
- var z, D, R, L, O;
3264
- if (pi(e.cornerPoints) && pi(e.width))
3265
- throw new Error("cornerPoints and width cannot be both empty");
3266
- const i = (z = e.container) != null ? z : document.createElement("div"), s = (D = e.cornerPoints) != null ? D : (() => {
3267
- const A = e.width / 2;
3268
- return [
3269
- new Ae(-A, A, 0),
3270
- new Ae(-A, -A, 0),
3271
- new Ae(A, -A, 0),
3272
- new Ae(A, A, 0)
3273
- ];
3274
- })(), o = (R = e.ratio) != null ? R : Qb, r = (L = e.dpr) != null ? L : 1, a = (O = e.pointerEvents) != null ? O : "auto", l = Math.max(Ub, o), c = s[0].distanceTo(s[1]), h = s[1].distanceTo(s[2]), u = zo(c / o * r), d = zo(h / o * r), p = Jt(...s);
3275
- let g;
3276
- if (l === o)
3277
- i.style.width = `${u}px`, i.style.height = `${d}px`, g = i;
3278
- else {
3279
- const A = document.createElement("div");
3280
- A.style.width = `${u}px`, A.style.height = `${d}px`, A.style.pointerEvents = "none";
3281
- const C = o / l;
3282
- i.style.position = "absolute", i.style.left = "0", i.style.top = "0", i.style.width = `${C * u}px`, i.style.height = `${C * d}px`, A.appendChild(i), g = A;
3283
- }
3284
- super(g);
3285
- f(this, "version", M0);
3286
- f(this, "isCSS3DObjectPlus", !0);
3287
- f(this, "isCSS3DObject", !0);
3288
- f(this, "name", bd);
3289
- f(this, "container");
3290
- f(this, "width");
3291
- f(this, "height");
3292
- f(this, "domWidthPx");
3293
- f(this, "domHeightPx");
3294
- f(this, "cornerPoints");
3295
- f(this, "centerPosition");
3296
- f(this, "ratio");
3297
- f(this, "mode", "front");
3298
- f(this, "hooks", new kt());
3299
- f(this, "opacityMesh");
3300
- f(this, "selfVisible", !0);
3301
- f(this, "setVisible", (e) => {
3302
- this.selfVisible = e, this.visible = _h(this.parent) && this.selfVisible, this.opacityMesh && (this.opacityMesh.visible = this.visible);
3303
- });
3304
- f(this, "updateVisible", () => {
3305
- this.setVisible(this.selfVisible);
3306
- });
3307
- /**
3308
- * @description: 生成透明Mesh
3309
- */
3310
- f(this, "createOpacityMesh", (e) => {
3311
- const { domWidthPx: i, domHeightPx: s } = e, o = new E0(i, s);
3312
- return o.position.copy(e.position), o.rotation.copy(e.rotation), o.scale.copy(e.scale), o;
3313
- });
3314
- if (i.style.pointerEvents = a, Object.assign(i.style, e.style), this.scale.set(l, l, l), this.cornerPoints = s, this.ratio = o, this.container = i, e.mode && (this.mode = e.mode), l === o)
3315
- this.width = c, this.height = h, this.domWidthPx = u, this.domHeightPx = d, this.centerPosition = p;
3316
- else {
3317
- const A = o / l;
3318
- this.width = A * c, this.height = A * h, this.domWidthPx = A * u, this.domHeightPx = A * d, this.centerPosition = new Ae().subVectors(p, s[0]).multiplyScalar(A).add(s[0]);
3319
- }
3320
- i.classList.add(`${bd}__container`);
3321
- const m = new Ae().subVectors(s[1], s[0]), v = new Ae().subVectors(s[3], s[0]), b = new Ae().crossVectors(m, v).normalize();
3322
- this.lookAt(b);
3323
- const P = this.up.clone().applyQuaternion(this.quaternion), E = v.clone(), M = new Ae().crossVectors(P, E).normalize();
3324
- this.rotateOnWorldAxis(M, P.angleTo(E)), this.position.copy(p), this.addEventListener("added", () => {
3325
- var A;
3326
- this.mode === "front" && ((A = this.opacityMesh) == null || A.removeFromParent());
3327
- }), this.addEventListener("removed", () => {
3328
- var A;
3329
- (A = this.opacityMesh) == null || A.removeFromParent();
3330
- });
3331
- }
3332
- removeFromParent() {
3333
- var i;
3334
- const e = this.parent;
3335
- return e !== null && e.remove(this), (i = this.opacityMesh) == null || i.removeFromParent(), this;
3336
- }
3337
- removeOpacityMesh() {
3338
- var e;
3339
- return (e = this.opacityMesh) == null || e.removeFromParent(), this.opacityMesh = void 0, this;
3340
- }
3341
- dispose() {
3342
- var e;
3343
- this.container.remove(), this.removeFromParent(), (e = this.opacityMesh) == null || e.removeFromParent();
3344
- }
3345
- getOpacityMesh() {
3346
- if (this.opacityMesh)
3347
- return this.opacityMesh;
3348
- {
3349
- const e = this.createOpacityMesh(this);
3350
- return this.opacityMesh = e, e;
3351
- }
3352
- }
3353
- applyMatrix4(e) {
3354
- var i;
3355
- super.applyMatrix4(e), (i = this.opacityMesh) == null || i.applyMatrix4(e);
3356
- }
3357
- applyQuaternion(e) {
3358
- var i;
3359
- return super.applyQuaternion(e), (i = this.opacityMesh) == null || i.applyQuaternion(e), this;
3360
- }
3361
- applyScaleMatrix4(e) {
3362
- var i;
3363
- this.scale.applyMatrix4(e), (i = this.opacityMesh) == null || i.scale.applyMatrix4(e);
3364
- }
3365
- };
3366
- function fs(n) {
3367
- return arguments.length === 0 ? [] : Array.isArray(n) ? n : [n];
3368
- }
3369
- function Oo(n) {
3370
- const t = [];
3371
- return fs(n).forEach((i) => {
3372
- i.traverse((s) => {
3373
- (s.isCSS3DObjectPlus || s.isCSS3DObject || s.isCSS3DSprite) && t.push(s);
3374
- });
3375
- }), t;
3376
- }
3377
- class Xb extends w.Scene {
3378
- constructor() {
3379
- super();
3380
- }
3381
- add(...t) {
3382
- return super.add(...t), Oo(t).forEach((e) => {
3383
- e.mode = "front";
3384
- }), this;
3385
- }
3386
- }
3387
- class Yb extends w.Scene {
3388
- constructor(e) {
3389
- super();
3390
- f(this, "scene");
3391
- if (!e)
3392
- throw new Error("CSS3DBehindScene: scene is required");
3393
- this.scene = e;
3394
- }
3395
- add(...e) {
3396
- return super.add(...e), Oo(e).forEach((i) => {
3397
- i.mode = "behind", this.scene.add(i.getOpacityMesh());
3398
- }), this;
3399
- }
3400
- remove(...e) {
3401
- return Oo(e).forEach((i) => {
3402
- var s;
3403
- (s = i.opacityMesh) == null || s.removeFromParent(), i.opacityMesh = null;
3404
- }), super.remove(...e), this;
3405
- }
3406
- }
3407
- class x0 extends w.Group {
3408
- constructor(e) {
3409
- super();
3410
- f(this, "isCSS3DGroup", !0);
3411
- f(this, "mode");
3412
- f(this, "CSS3DObjectLength", 0);
3413
- this.mode = e;
3414
- }
3415
- add(...e) {
3416
- return Oo(e).forEach((i) => {
3417
- i.mode = this.mode;
3418
- }), super.add(...e), this.updateLength(), this;
3419
- }
3420
- setVisible(e) {
3421
- this.visible = e, this.traverse((i) => {
3422
- i.isCSS3DObjectPlus && i.updateVisible();
3423
- });
3424
- }
3425
- remove(...e) {
3426
- return super.remove(...e), this.updateLength(), this;
3427
- }
3428
- updateLength() {
3429
- this.CSS3DObjectLength = Oo(this).length;
3430
- }
3431
- }
3432
- class Zb extends x0 {
3433
- constructor() {
3434
- super("front");
3435
- }
3436
- }
3437
- class qb extends x0 {
3438
- constructor(e) {
3439
- super("behind");
3440
- f(this, "scene");
3441
- if (!e)
3442
- throw new Error("CSS3DBehindScene: scene is required");
3443
- this.scene = e;
3444
- }
3445
- add(...e) {
3446
- return Oo(e).forEach((i) => {
3447
- this.scene.add(i.getOpacityMesh());
3448
- }), super.add(...e), this;
3449
- }
3450
- }
3451
- const Jb = 3, Xc = "CSS3DRenderer", Pr = `${Xc}@${Jb}`, co = () => {
3452
- console.error(`${Pr} is disposed`);
3453
- }, At = {
3454
- css3DObjects: [],
3455
- frontModeStore: {
3456
- css3DRenderer: new Ka()
3457
- },
3458
- behindModeStore: {
3459
- css3DRenderer: new Ka()
3460
- }
3461
- };
3462
- function yd(n) {
3463
- return At.css3DObjects.find((t) => t.id === n);
3464
- }
3465
- function Kb(n) {
3466
- At.frontModeStore.css3DRenderer.setWrapper(n);
3467
- }
3468
- function $b(n) {
3469
- At.behindModeStore.css3DRenderer.setWrapper(n);
3470
- }
3471
- class Br {
3472
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
3473
- constructor(t) {
3474
- f(this, "hooks", new kt());
3475
- f(this, "state", {
3476
- enabled: !0,
3477
- visible: !0,
3478
- disposed: !1
3479
- });
3480
- f(this, "_scene");
3481
- f(this, "store", {
3482
- frontModeGroup: new Zb()
3483
- });
3484
- /**
3485
- * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
3486
- * @param { Vector3Position[] } points 矩形四个点坐标
3487
- * @param params 均为可选值
3488
- * @config_document `params` 均为可选值
3489
- * | key | type | defaultValue | comment |
3490
- * | - | - | - | - |
3491
- * | `ratio` | *`number`* | `0.00216` | 1px对应多少米,默认为 0.00216,即1px对应2.16mm |
3492
- * | `devicePixelRatio` | *`number`* | `1` | 设备的物理像素分辨率与CSS像素分辨率的比值 |
3493
- * | `container` | *`HTMLElement`* | `undefined` | 自定义 return 中的 `container`
3494
- * | `pointerEvents` | *`'none'\|'auto'`* | `'none'` | container 的 css属性:`pointer-events` 的值 |
3495
- * | `autoRender` | *`boolean`* | `true` | 是否自动渲染,通常为true |
3496
- * | `mode` | *`'front'\|'behind'`* | `front` | 两种模式:|
3497
- * | | | | `front` 模式:DOM 处于 five Canvas 上方,所以无法模拟遮挡效果,需要手动检测是否可见去设置显隐 |
3498
- * | | | | `behind` 模式:DOM 处于 five Canvas 下方,可以模拟真实的遮挡效果,但是 DOM 必须是非透明的 |
3499
- * | `scene` | *`THREE.Scene`* | `undefined` | 如果 mode 为 `behind`,需要传入 |
3500
- *
3501
- * @return
3502
- * ```typescript
3503
- * {
3504
- * id: string, // id
3505
- * container: HTMLDIVElement // dom容器
3506
- * dispose: () => void // 销毁
3507
- * css3DObject: CSS3DObject // THREE.CSS3DObject 实例
3508
- * render?: () => void // 渲染函数,当 config.autoRender = true || undefined 时为 undefined
3509
- * setVisible: (visible: boolean) => void // 设置显隐, 同 setVisibleById(id, visible)
3510
- * show: () => void // 同 setVisible(true)
3511
- * hide: () => void // 同 setVisible(false)
3512
- * setEnabled: (enabled: boolean) => void // 添加/移除 container, 同 setEnabledById(id, enabled)
3513
- * enable: () => void // 同 setEnabled(true)
3514
- * disable: () => void // 同 setEnabled(false)
3515
- * } | void
3516
- * ```
3517
- */
3518
- f(this, "create3DElement", (t, e, i) => {
3519
- if (this.state.disposed)
3520
- return co();
3521
- const s = (() => {
3522
- const z = {
3523
- ratio: 216e-5,
3524
- devicePixelRatio: 1,
3525
- mode: "front",
3526
- autoRender: !0,
3527
- container: document.createElement("div"),
3528
- pointerEvents: "none",
3529
- wrapperStyle: {}
3530
- };
3531
- return Object.assign(z, i);
3532
- })(), o = e.map(Ue);
3533
- if ((o == null ? void 0 : o.length) < 4)
3534
- return console.error(`${Pr}: requires 4 point but params may have fewer`);
3535
- const { ratio: r, devicePixelRatio: a, mode: l, autoRender: c, container: h, pointerEvents: u, wrapperStyle: d } = s;
3536
- let p = !1;
3537
- const g = this.createObject(o, { ratio: r, dpr: a, container: h, mode: l, pointerEvents: u, wrapperStyle: d });
3538
- At.css3DObjects.push(g), s.scene && this.setScene(s.scene);
3539
- const m = () => {
3540
- if (p)
3541
- return;
3542
- const z = g.mode === "front" ? this.getFrontCSS3DObjectGroup() : this.getBehindCSS3DObjectGroup();
3543
- z && z.add(g);
3544
- }, v = () => {
3545
- p || (m(), this.render(t), this.hooks.emit("render"));
3546
- }, b = (z) => this.setVisibleById(g.id, z), P = (z) => this.setEnabledById(g.id, z), E = () => (p = !0, g.removeFromParent(), !0), M = l === "front" ? At.frontModeStore.css3DRenderer : At.behindModeStore.css3DRenderer;
3547
- return c && v(), {
3548
- id: g.uuid,
3549
- container: h,
3550
- css3DObject: g,
3551
- render: c ? void 0 : v,
3552
- show: () => b(!0),
3553
- hide: () => b(!1),
3554
- setVisible: b,
3555
- enable: () => P(!0),
3556
- disable: () => P(!1),
3557
- setEnabled: P,
3558
- dispose: E,
3559
- appendToElement: (z) => M.setWrapper(z)
3560
- };
3561
- });
3562
- f(this, "setVisibleById", (t, e) => {
3563
- var i;
3564
- (i = yd(t)) == null || i.setVisible(e);
3565
- });
3566
- f(this, "setEnabledById", (t, e) => {
3567
- const i = yd(t);
3568
- if (!i)
3569
- return;
3570
- const s = i.mode === "front" ? this.getFrontCSS3DObjectGroup({ addGroupIfNotExists: !1 }) : this.getBehindCSS3DObjectGroup({ addGroupIfNotExists: !1 });
3571
- s && (e ? s.add(i) : s.remove(i));
3572
- });
3573
- f(this, "createObject", (t, e) => {
3574
- const i = new k0(ce(H({ cornerPoints: t }, e), { style: e.wrapperStyle }));
3575
- return i.element.classList.add(`${Xc}__container`), i.element.id = `${Xc}__container--${i.uuid}`, i;
3576
- });
3577
- t && this.setScene(t);
3578
- }
3579
- get scene() {
3580
- return this._scene || console.error("scene doesn't exist!, please call setScene(scene) first"), this._scene;
3581
- }
3582
- static get frontModeCSS3DRenderer() {
3583
- return At.frontModeStore.css3DRenderer;
3584
- }
3585
- static get behindModeCSS3DRenderer() {
3586
- return At.behindModeStore.css3DRenderer;
3587
- }
3588
- get frontModeCSS3DRenderer() {
3589
- return At.frontModeStore.css3DRenderer;
3590
- }
3591
- get behindModeCSS3DRenderer() {
3592
- return At.behindModeStore.css3DRenderer;
3593
- }
3594
- setScene(t) {
3595
- this._scene = t;
3596
- }
3597
- getCurrentState() {
3598
- return this.state;
3599
- }
3600
- setState(t, e = { userAction: !0 }) {
3601
- if (this.state.disposed)
3602
- return co();
3603
- const i = H({}, this.state);
3604
- this.state = Object.assign(this.state, t), i.visible !== this.state.visible && (t.visible ? this.handleShow() : this.handleHide()), i.enabled !== this.state.enabled && (t.enabled ? this.handleEnable() : this.handleDisable()), i.disposed !== this.state.disposed && this.handleDispose(), this.hooks.emit("stateChange", { state: this.state, prevState: i, userAction: e.userAction });
3605
- }
3606
- dispose() {
3607
- this.setState({ disposed: !0 }), this.hooks.emit("dispose");
3608
- }
3609
- show() {
3610
- return ie(this, arguments, function* ({ userAction: t } = { userAction: !0 }) {
3611
- if (this.state.disposed)
3612
- return co();
3613
- this.setState({ visible: !0 }, { userAction: t }), this.hooks.emit("show", { userAction: t });
3614
- });
3615
- }
3616
- hide() {
3617
- return ie(this, arguments, function* ({ userAction: t } = { userAction: !0 }) {
3618
- if (this.state.disposed)
3619
- return co();
3620
- this.setState({ visible: !1 }, { userAction: t }), this.hooks.emit("hide", { userAction: t });
3621
- });
3622
- }
3623
- enable({ userAction: t } = { userAction: !0 }) {
3624
- if (this.state.disposed)
3625
- return co();
3626
- this.setState({ enabled: !0 }, { userAction: t }), this.hooks.emit("enable", { userAction: t });
3627
- }
3628
- disable({ userAction: t } = { userAction: !0 }) {
3629
- if (this.state.disposed)
3630
- return co();
3631
- this.setState({ enabled: !1 }, { userAction: t }), this.hooks.emit("disable", { userAction: t });
3632
- }
3633
- getFrontCSS3DScene({ createSceneIfNotExists: t = !1 } = {}) {
3634
- var i;
3635
- const e = (i = At.frontModeStore) == null ? void 0 : i.css3DScene;
3636
- if (e)
3637
- return e;
3638
- if (t) {
3639
- const s = new Xb();
3640
- At.frontModeStore.css3DScene = s;
3641
- }
3642
- return At.frontModeStore.css3DScene;
3643
- }
3644
- getBehindCSS3DScene({ createSceneIfNotExists: t = !1 } = {}) {
3645
- var i, s;
3646
- const e = (i = At.behindModeStore) == null ? void 0 : i.css3DScene;
3647
- if (e)
3648
- return e;
3649
- if (t) {
3650
- const o = (s = At.behindModeStore.scene) != null ? s : this.scene;
3651
- if (!o) {
3652
- console.error(`${Pr}: scene is required when mode is behind`);
3653
- return;
3654
- }
3655
- const r = new Yb(o);
3656
- At.behindModeStore.css3DScene = r, At.behindModeStore.scene = o;
3657
- }
3658
- return At.behindModeStore.css3DScene;
3659
- }
3660
- getFrontCSS3DObjectGroup({ addGroupIfNotExists: t = !0 } = {}) {
3661
- const e = this.getFrontCSS3DScene({ createSceneIfNotExists: t });
3662
- return t && e && (e.getObjectById(this.store.frontModeGroup.id) || e.add(this.store.frontModeGroup)), this.store.frontModeGroup;
3663
- }
3664
- getBehindCSS3DObjectGroup({ addGroupIfNotExists: t = !0 } = {}) {
3665
- var i;
3666
- const e = this.getBehindCSS3DScene({ createSceneIfNotExists: t });
3667
- if (t && e && this.scene) {
3668
- const s = (i = this.store.behindModeGroup) != null ? i : new qb(this.scene);
3669
- this.store.behindModeGroup = s, e.getObjectById(s.id) || e.add(s);
3670
- }
3671
- return this.store.behindModeGroup;
3672
- }
3673
- render(t) {
3674
- var e, i;
3675
- if (this.getFrontCSS3DObjectGroup({ addGroupIfNotExists: !1 }).CSS3DObjectLength > 0) {
3676
- const s = this.getFrontCSS3DScene({ createSceneIfNotExists: !0 });
3677
- if (!s)
3678
- return console.error(`${Pr}: css3DScene is required when mode is front`);
3679
- At.frontModeStore.css3DRenderer.renderEveryFrame(s, t);
3680
- }
3681
- if (((i = (e = this.getBehindCSS3DObjectGroup({ addGroupIfNotExists: !1 })) == null ? void 0 : e.CSS3DObjectLength) != null ? i : 0) > 0) {
3682
- const s = this.getBehindCSS3DScene({ createSceneIfNotExists: !0 });
3683
- if (!s)
3684
- return console.error(`${Pr}: css3DScene is required when mode is behind`);
3685
- At.behindModeStore.css3DRenderer.renderEveryFrame(s, t);
3686
- }
3687
- }
3688
- handleShow() {
3689
- return ie(this, null, function* () {
3690
- var t;
3691
- this.store.frontModeGroup.setVisible(!0), (t = this.store.behindModeGroup) == null || t.setVisible(!0);
3692
- });
3693
- }
3694
- handleHide() {
3695
- return ie(this, null, function* () {
3696
- var t;
3697
- this.store.frontModeGroup.setVisible(!1), (t = this.store.behindModeGroup) == null || t.setVisible(!1);
3698
- });
3699
- }
3700
- handleEnable() {
3701
- var t, e;
3702
- (t = this.getFrontCSS3DScene()) == null || t.add(this.store.frontModeGroup), this.store.behindModeGroup && ((e = this.getBehindCSS3DScene()) == null || e.add(this.store.behindModeGroup));
3703
- }
3704
- handleDisable() {
3705
- var t, e, i;
3706
- this.store.frontModeGroup.children.forEach((s) => {
3707
- s instanceof Sn && s.element instanceof Element && s.element.parentNode !== null && s.element.remove();
3708
- }), (t = this.store.behindModeGroup) == null || t.children.forEach((s) => {
3709
- s instanceof Sn && s.element instanceof Element && s.element.parentNode !== null && s.element.remove();
3710
- }), (e = this.getFrontCSS3DScene()) == null || e.remove(this.store.frontModeGroup), this.store.behindModeGroup && ((i = this.getBehindCSS3DScene()) == null || i.remove(this.store.behindModeGroup));
3711
- }
3712
- handleDispose() {
3713
- this.handleDisable();
3714
- }
3715
- }
3716
- f(Br, "setFrontModeContainer", Kb), f(Br, "setBehindModeContainer", $b);
3717
3245
  let gr = [null, null, () => null];
3718
3246
  function ia(n) {
3719
3247
  var s;
@@ -3730,16 +3258,16 @@ function ia(n) {
3730
3258
  const o = (a = n.getElement()) == null ? void 0 : a.parentElement, r = Rh(n);
3731
3259
  if (!o)
3732
3260
  return console.error("initialCSS3DRender: five element is not exist"), () => null;
3733
- if (t.appendToElement(o), At.frontModeStore.css3DScene && t.renderEveryFrame(At.frontModeStore.css3DScene, n.camera), !r)
3261
+ if (t.appendToElement(o), t.renderEveryFrame(n.scene, n.camera), !r)
3734
3262
  return console.error("initialCSS3DRender: behindWrapper is not exist"), () => null;
3735
- e.appendToElement(r), At.behindModeStore.css3DScene && e.renderEveryFrame(At.behindModeStore.css3DScene, n.camera);
3263
+ e.appendToElement(r), e.renderEveryFrame(n.scene, n.camera);
3736
3264
  });
3737
3265
  const i = () => {
3738
3266
  t.dispose(), e.dispose();
3739
3267
  };
3740
3268
  return gr = [n, t, i], i;
3741
3269
  }
3742
- const ey = 16777215, ty = 16777215, iy = 1, ny = 0.4, Bh = 0.6;
3270
+ const Ub = 16777215, Qb = 16777215, Xb = 1, Yb = 0.4, _h = 0.6;
3743
3271
  class mi extends Eo {
3744
3272
  constructor() {
3745
3273
  super();
@@ -3771,7 +3299,11 @@ class mi extends Eo {
3771
3299
  return e !== null && e.remove(this), this;
3772
3300
  }
3773
3301
  }
3774
- function Vh(n, t) {
3302
+ function Jt(...n) {
3303
+ const t = new Ae();
3304
+ return n.forEach((e) => t.add(e)), t.divideScalar(n.length), t;
3305
+ }
3306
+ function Bh(n, t) {
3775
3307
  if (!document.getElementById("LineLengthTagStyle")) {
3776
3308
  const o = document.createElement("style");
3777
3309
  o.id = "LineLengthTagStyle", document.head.appendChild(o), o.innerHTML = `
@@ -3839,11 +3371,14 @@ function Vh(n, t) {
3839
3371
  </div>
3840
3372
  `;
3841
3373
  }
3842
- function Vr(n, t) {
3374
+ function fs(n) {
3375
+ return arguments.length === 0 ? [] : Array.isArray(n) ? n : [n];
3376
+ }
3377
+ function Br(n, t) {
3843
3378
  const i = fs(t).map((s) => n.localToWorld(s.clone()));
3844
3379
  return Array.isArray(t) ? i : i[0];
3845
3380
  }
3846
- function sy(n, t) {
3381
+ function Zb(n, t) {
3847
3382
  const i = fs(t).map((s) => n.worldToLocal(s.clone()));
3848
3383
  return Array.isArray(t) ? i : i[0];
3849
3384
  }
@@ -3874,7 +3409,7 @@ function pi(n) {
3874
3409
  function Ne(n) {
3875
3410
  return n != null;
3876
3411
  }
3877
- class oy extends ub {
3412
+ class qb extends ub {
3878
3413
  constructor(e) {
3879
3414
  var i;
3880
3415
  super(e);
@@ -3906,7 +3441,7 @@ class oy extends ub {
3906
3441
  };
3907
3442
  }
3908
3443
  }
3909
- class wd extends db {
3444
+ class bd extends db {
3910
3445
  constructor(t, e) {
3911
3446
  super(t, e);
3912
3447
  }
@@ -4133,7 +3668,7 @@ const lc = {
4133
3668
  }
4134
3669
  `
4135
3670
  };
4136
- class S0 extends w.ShaderMaterial {
3671
+ class E0 extends w.ShaderMaterial {
4137
3672
  // to be set by renderer
4138
3673
  constructor(e) {
4139
3674
  super({
@@ -4216,8 +3751,8 @@ class S0 extends w.ShaderMaterial {
4216
3751
  }), this.setValues(e);
4217
3752
  }
4218
3753
  }
4219
- Object.assign(S0.prototype, { isLineMaterial: !0 });
4220
- class ry extends S0 {
3754
+ Object.assign(E0.prototype, { isLineMaterial: !0 });
3755
+ class Jb extends E0 {
4221
3756
  constructor(e) {
4222
3757
  var i;
4223
3758
  super(e);
@@ -4249,7 +3784,7 @@ class ry extends S0 {
4249
3784
  };
4250
3785
  }
4251
3786
  }
4252
- function ay(n, t = "m", e = 2) {
3787
+ function Kb(n, t = "m", e = 2) {
4253
3788
  let i;
4254
3789
  if (t === "m")
4255
3790
  return i = n.toFixed(e), parseFloat(i) === 0 ? void 0 : i + "m";
@@ -4260,7 +3795,7 @@ function ay(n, t = "m", e = 2) {
4260
3795
  return s === 0 && o === 0 ? void 0 : `${s}′${o}″`;
4261
3796
  }
4262
3797
  }
4263
- function ly(n, t = "m") {
3798
+ function $b(n, t = "m") {
4264
3799
  let e;
4265
3800
  if (t === "m")
4266
3801
  return e = n.toFixed(2), e === "0.00" ? void 0 : e + "m²";
@@ -4328,16 +3863,16 @@ class Ei extends mi {
4328
3863
  });
4329
3864
  this.paramsStyle = H({ dashed: !1, lineOpacity: 1 }, e), this.geometry = new Ga();
4330
3865
  const i = {
4331
- color: new w.Color((r = e == null ? void 0 : e.lineColor) != null ? r : ty),
4332
- linewidth: (a = e == null ? void 0 : e.lineWidth) != null ? a : iy,
3866
+ color: new w.Color((r = e == null ? void 0 : e.lineColor) != null ? r : Qb),
3867
+ linewidth: (a = e == null ? void 0 : e.lineWidth) != null ? a : Xb,
4333
3868
  dashScale: 1,
4334
3869
  dashSize: 0.02,
4335
3870
  gapSize: 0.02,
4336
3871
  opacity: (l = e == null ? void 0 : e.lineOpacity) != null ? l : 1,
4337
3872
  depthWrite: !1,
4338
3873
  transparent: !0
4339
- }, s = new oy(ce(H({}, i), { dashed: !1, depthTest: !0 })), o = new ry(ce(H({}, i), { dashed: !0, depthTest: !1 }));
4340
- if (this.line1 = new wd(this.geometry, s), this.line2 = new wd(this.geometry, o), this.line1.renderOrder = 2, this.line2.renderOrder = 2, this.line1.name = "line1", this.line2.name = "line2", this.add(this.line1), this.five) {
3874
+ }, s = new qb(ce(H({}, i), { dashed: !1, depthTest: !0 })), o = new Jb(ce(H({}, i), { dashed: !0, depthTest: !1 }));
3875
+ if (this.line1 = new bd(this.geometry, s), this.line2 = new bd(this.geometry, o), this.line1.renderOrder = 2, this.line2.renderOrder = 2, this.line1.name = "line1", this.line2.name = "line2", this.add(this.line1), this.five) {
4341
3876
  const h = (c = this.five.renderer) == null ? void 0 : c.getSize(new w.Vector2());
4342
3877
  h && this.setResolution(h.width, h.height), this.five.on("cameraUpdate", this.onCameraUpdate), this.five.on("cameraFovUpdate", this.onCameraUpdate), this.five.on("panoArrived", this.onPanoArrived);
4343
3878
  }
@@ -4395,7 +3930,7 @@ class Ei extends mi {
4395
3930
  updateMatrixWorld(e) {
4396
3931
  var i;
4397
3932
  if (super.updateMatrixWorld(e), this.points) {
4398
- const s = (i = Vr(this, this.points)) == null ? void 0 : i.map((o) => o.toArray().join(",")).join(",");
3933
+ const s = (i = Br(this, this.points)) == null ? void 0 : i.map((o) => o.toArray().join(",")).join(",");
4399
3934
  s !== this.lastRenderDomItem && (this.updateDomItems(), this.lastRenderDomItem = s);
4400
3935
  }
4401
3936
  }
@@ -4439,7 +3974,7 @@ class Ei extends mi {
4439
3974
  this.colorBeforeHighlight = (i = this.colorBeforeHighlight) != null ? i : this.line1.material.three_color, this.line1.material.three_color = o, this.line2.material.three_color = o;
4440
3975
  } else {
4441
3976
  this.opacityBeforeHighlight = (s = this.opacityBeforeHighlight) != null ? s : this.line1.material.opacity;
4442
- const o = this.opacityBeforeHighlight * Bh;
3977
+ const o = this.opacityBeforeHighlight * _h;
4443
3978
  this.line1.material.opacity = o, this.line2.material.opacity = o;
4444
3979
  }
4445
3980
  this.needsRender = !0;
@@ -4455,7 +3990,7 @@ class Ei extends mi {
4455
3990
  return i();
4456
3991
  if (!this.five)
4457
3992
  return console.error("Five not found");
4458
- const s = this.points.map((o, r) => r !== 0 ? [this.points[r - 1], o] : null).filter(Ne).map((o) => Vr(this, o));
3993
+ const s = this.points.map((o, r) => r !== 0 ? [this.points[r - 1], o] : null).filter(Ne).map((o) => Br(this, o));
4459
3994
  s.forEach(([o, r], a) => {
4460
3995
  var h;
4461
3996
  const l = Jt(o, r);
@@ -4493,7 +4028,7 @@ class Ei extends mi {
4493
4028
  };
4494
4029
  let L = 0;
4495
4030
  const O = R(u);
4496
- b > 0 && O > b && (L = -20), this.doms[a].container.innerHTML = Vh(u, {
4031
+ b > 0 && O > b && (L = -20), this.doms[a].container.innerHTML = Bh(u, {
4497
4032
  style: `${D} ${this.paramsStyle.cssStyle || ""}`,
4498
4033
  offsetY: L
4499
4034
  });
@@ -4503,20 +4038,20 @@ class Ei extends mi {
4503
4038
  if (this.paramsStyle.tip)
4504
4039
  c(this.paramsStyle.tip, e);
4505
4040
  else {
4506
- const u = ay(o.distanceTo(r), this.paramsStyle.lengthUnit, this.paramsStyle.precision);
4041
+ const u = Kb(o.distanceTo(r), this.paramsStyle.lengthUnit, this.paramsStyle.precision);
4507
4042
  c(u || null, e);
4508
4043
  }
4509
4044
  }), this.doms.length > s.length && (this.doms.slice(s.length).forEach((o) => o.destroy()), this.doms.length = s.length);
4510
4045
  }
4511
4046
  }
4512
- class cy extends Ja {
4047
+ class ey extends Ja {
4513
4048
  constructor() {
4514
4049
  super(...arguments);
4515
4050
  f(this, "isCSS3DSprite", !0);
4516
4051
  f(this, "isCSS3DObject", !0);
4517
4052
  }
4518
4053
  }
4519
- const hy = (
4054
+ const ty = (
4520
4055
  /* glsl */
4521
4056
  `
4522
4057
  varying vec2 vUv;
@@ -4535,7 +4070,7 @@ void main() {
4535
4070
  gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1);
4536
4071
  }
4537
4072
  `
4538
- ), uy = (
4073
+ ), iy = (
4539
4074
  /* glsl */
4540
4075
  `
4541
4076
  varying vec2 vUv;
@@ -4557,15 +4092,15 @@ void main() {
4557
4092
  }
4558
4093
  `
4559
4094
  );
4560
- function dy() {
4095
+ function ny() {
4561
4096
  const t = new w.CircleGeometry(0.2, 64), e = new w.ShaderMaterial({
4562
4097
  side: w.DoubleSide,
4563
4098
  uniforms: {
4564
4099
  borderWidth: { value: 0.01 },
4565
4100
  radius: { value: 0.2 }
4566
4101
  },
4567
- vertexShader: hy,
4568
- fragmentShader: uy,
4102
+ vertexShader: ty,
4103
+ fragmentShader: iy,
4569
4104
  depthTest: !1,
4570
4105
  transparent: !0,
4571
4106
  blending: w.CustomBlending,
@@ -4576,7 +4111,7 @@ function dy() {
4576
4111
  });
4577
4112
  return new w.Mesh(t, e);
4578
4113
  }
4579
- function fy() {
4114
+ function sy() {
4580
4115
  const t = new w.Group(), e = {
4581
4116
  lineWidth: 1,
4582
4117
  lineColor: 3407837,
@@ -4585,7 +4120,7 @@ function fy() {
4585
4120
  }, i = new Ei(ce(H({ points: [{ x: -0.5 }, { x: 0.5 }] }, e), { lineColor: 3407837 })), s = new Ei(ce(H({ points: [{ y: -0.5 }, { y: 0.5 }] }, e), { lineColor: 3407837 }));
4586
4121
  return t.add(i, s), t;
4587
4122
  }
4588
- function gy(n) {
4123
+ function oy(n) {
4589
4124
  const t = new w.CurvePath();
4590
4125
  t.add(new w.LineCurve3(new w.Vector3(0, 0, 0), new w.Vector3(0, 0, n)));
4591
4126
  const e = new w.TubeGeometry(t, 32, 3e-3), i = new w.MeshBasicMaterial({
@@ -4596,7 +4131,7 @@ function gy(n) {
4596
4131
  });
4597
4132
  return new w.Mesh(e, i);
4598
4133
  }
4599
- function py() {
4134
+ function ry() {
4600
4135
  const n = new w.RingGeometry(0.03, 0.035, 64), t = new w.MeshBasicMaterial({
4601
4136
  color: 16777215,
4602
4137
  depthTest: !1,
@@ -4606,7 +4141,7 @@ function py() {
4606
4141
  });
4607
4142
  return new w.Mesh(n, t);
4608
4143
  }
4609
- function my() {
4144
+ function ay() {
4610
4145
  const n = new w.SphereGeometry(0.018, 32, 32), t = new w.MeshBasicMaterial({
4611
4146
  color: 5085183,
4612
4147
  depthTest: !1,
@@ -4615,13 +4150,13 @@ function my() {
4615
4150
  });
4616
4151
  return new w.Mesh(n, t);
4617
4152
  }
4618
- function vy() {
4153
+ function ly() {
4619
4154
  const n = document.createElement("img");
4620
4155
  n.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAMAAAB8FU7dAAAAw1BMVEUAAACDuuiAsu11q/x8r/+HxtKHxtKIx9J4ut6Hx9Jcn/uNwNlmmf+RuP9ppf9orel3ud2HxtJrpf9oremev/9ppP9orelQmP9ZoPWSuP92q/9cnv9prel4ut53qv9orelYoPWIxdJPmP+HxtGRuP9oo/+Suf9Qmf92q/+RuP+DsP9Pmv+FxdFtre2SyMiRuP9PmP+evv9ppf9cnv+rxf9orepZofV4ut52q/+Dsf+Esv+5y/93q/9aofbF0f93rP9qpf8IzZ1iAAAAL3RSTlMAEg4s3dK5nodgVQoF/Pf39vbt7evr39rV1NTOzs6srJ+fiIZ9fWlpW09ERCwcHMH8LhIAAADRSURBVBjTjdDHkoMwEIThBrzOm3POOQwSYCRhe/f9n2p75FD2zX/VXL5qOAjzkixLsFL6fOFF5PwpXUj/eEwx7Oh9Jq+FdV5MqZkXlU9K4KZsmqY02x/A8LSwv14o0ylJWkP087WVhDfcjmjj5b/E3+CEpDPdGY58C7tKfzSiiA9uB4dV/NIF7yVQ7AGuq0lOIzrvnLP2Et2aMzUqryge8FVX0Zjl5XkG3KsR593pM2zVEScjvbMU7IdGjF19IzZ43Ceyve4Ai5Jep93u9BJs3j/gXjHbRgy31AAAAABJRU5ErkJggg==";
4621
- const t = new cy(n);
4156
+ const t = new ey(n);
4622
4157
  return n.style.pointerEvents = "none", t.scale.set(3e-3, 3e-3, 3e-3), t;
4623
4158
  }
4624
- class Ay extends w.Object3D {
4159
+ class cy extends w.Object3D {
4625
4160
  constructor(e) {
4626
4161
  super();
4627
4162
  f(this, "disableGetPixel", !0);
@@ -4632,7 +4167,7 @@ class Ay extends w.Object3D {
4632
4167
  f(this, "ballMesh");
4633
4168
  f(this, "cssBallMesh");
4634
4169
  const i = 0.18;
4635
- this.planeMesh = dy(), this.ringMesh = py(), this.crossline = fy(), this.lineMesh = gy(i), this.ballMesh = my(), this.cssBallMesh = vy(), this.ballMesh.position.setZ(i), this.cssBallMesh.position.setZ(i), this.planeMesh.renderOrder = 0, this.ringMesh.renderOrder = 1, this.crossline.renderOrder = 2, this.lineMesh.renderOrder = 3, this.ballMesh.renderOrder = 4, this.add(this.planeMesh, this.lineMesh, this.ballMesh, this.ringMesh, this.cssBallMesh), ia(e);
4170
+ this.planeMesh = ny(), this.ringMesh = ry(), this.crossline = sy(), this.lineMesh = oy(i), this.ballMesh = ay(), this.cssBallMesh = ly(), this.ballMesh.position.setZ(i), this.cssBallMesh.position.setZ(i), this.planeMesh.renderOrder = 0, this.ringMesh.renderOrder = 1, this.crossline.renderOrder = 2, this.lineMesh.renderOrder = 3, this.ballMesh.renderOrder = 4, this.add(this.planeMesh, this.lineMesh, this.ballMesh, this.ringMesh, this.cssBallMesh), ia(e);
4636
4171
  }
4637
4172
  updateWithIntersect(e) {
4638
4173
  if (!e.face)
@@ -4652,10 +4187,10 @@ class Ay extends w.Object3D {
4652
4187
  dispose() {
4653
4188
  }
4654
4189
  }
4655
- class D0 {
4190
+ class M0 {
4656
4191
  constructor(t, e) {
4657
4192
  f(this, "five");
4658
- f(this, "hooks", new kt());
4193
+ f(this, "hooks", new Mt());
4659
4194
  f(this, "position", null);
4660
4195
  f(this, "magnifier", null);
4661
4196
  f(this, "pointHelper", null);
@@ -4685,7 +4220,7 @@ class D0 {
4685
4220
  var s, o, r, a, l;
4686
4221
  this.five = t, this.magnifier = (e == null ? void 0 : e.magnifier) !== void 0 ? e.magnifier : new jh(t, ce(H({ dragEnabled: !0 }, e == null ? void 0 : e.magnifierParams), { skipPanorama: (s = e == null ? void 0 : e.skipPanorama) != null ? s : !1 }));
4687
4222
  let i = null;
4688
- (e == null ? void 0 : e.pointHelper) === "default" || (e == null ? void 0 : e.pointHelper) === void 0 ? i = new j0(t) : (e == null ? void 0 : e.pointHelper) === "highlight" ? i = new Ay(t) : (e == null ? void 0 : e.pointHelper) === null ? i = null : i = e.pointHelper, this.pointHelper = i, this.group.name = "five-point-selector", this.five.scene.add(this.group), (l = this.magnifier) == null || l.appendTo((a = (r = e.container) != null ? r : (o = t.getElement()) == null ? void 0 : o.parentElement) != null ? a : document.body);
4223
+ (e == null ? void 0 : e.pointHelper) === "default" || (e == null ? void 0 : e.pointHelper) === void 0 ? i = new O0(t) : (e == null ? void 0 : e.pointHelper) === "highlight" ? i = new cy(t) : (e == null ? void 0 : e.pointHelper) === null ? i = null : i = e.pointHelper, this.pointHelper = i, this.group.name = "five-point-selector", this.five.scene.add(this.group), (l = this.magnifier) == null || l.appendTo((a = (r = e.container) != null ? r : (o = t.getElement()) == null ? void 0 : o.parentElement) != null ? a : document.body);
4689
4224
  }
4690
4225
  enable() {
4691
4226
  var t;
@@ -4699,16 +4234,16 @@ class D0 {
4699
4234
  this.hooks.off(), this.disable(), this.magnifier = null, this.pointHelper = null;
4700
4235
  }
4701
4236
  }
4702
- const T0 = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
4703
- function by(n, t) {
4237
+ const k0 = "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
4238
+ function hy(n, t) {
4704
4239
  const { x: e, y: i } = t, s = e * 2 - 1, o = i * 2 - 1, r = new w.Raycaster();
4705
4240
  return r.setFromCamera({ x: s, y: o }, n.camera), r.params.Points.threshold = 0.02, r;
4706
4241
  }
4707
4242
  function na(n, t, e) {
4708
- const i = yy(n, t);
4709
- return e != null && e.virtualPoint ? i != null ? i : L0(t) : i;
4243
+ const i = uy(n, t);
4244
+ return e != null && e.virtualPoint ? i != null ? i : x0(t) : i;
4710
4245
  }
4711
- function L0(n, t = 3) {
4246
+ function x0(n, t = 3) {
4712
4247
  const e = new w.Vector3().addVectors(
4713
4248
  n.ray.origin,
4714
4249
  n.ray.direction.clone().normalize().multiplyScalar(t)
@@ -4722,14 +4257,14 @@ function L0(n, t = 3) {
4722
4257
  isVirtual: !0
4723
4258
  };
4724
4259
  }
4725
- function yy(n, t) {
4260
+ function uy(n, t) {
4726
4261
  const s = Ci(n).intersectRaycaster(t)[0];
4727
4262
  if (s)
4728
4263
  return ce(H({}, s), { raycaster: t, isVirtual: !1 });
4729
4264
  }
4730
- const Pd = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, wy = new w.Vector3();
4265
+ const yd = `url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M6,12 C9.3137085,12 12,9.3137085 12,6 C12,2.6862915 9.3137085,0 6,0 C2.6862915,0 0,2.6862915 0,6 C0,9.3137085 2.6862915,12 6,12 Z' fill='%23FF5959'%3E%3C/path%3E%3Cg transform='translate(2, 2)' stroke='%23FFFFFF'%3E%3Ccircle cx='4' cy='4' r='4'%3E%3C/circle%3E%3Cline x1='1.07141075' y1='1.23997894' x2='6.64700843' y2='6.81557662'%3E%3C/line%3E%3C/g%3E%3C/g%3E%3C/svg%3E") 6 6, auto`, dy = new w.Vector3();
4731
4266
  function rs(n) {
4732
- const { raycaster: t, line: e, clampToLine: i = !0 } = n, s = new w.Plane().setFromNormalAndCoplanarPoint(t.ray.direction.clone().normalize(), new w.Vector3()), o = s.projectPoint(e.start, new w.Vector3()), r = s.projectPoint(e.end, new w.Vector3()), a = new w.Line3(o, r), l = a.closestPointToPoint(t.ray.origin, i, wy), c = l.distanceTo(r), h = l.distanceTo(o), u = a.distance();
4267
+ const { raycaster: t, line: e, clampToLine: i = !0 } = n, s = new w.Plane().setFromNormalAndCoplanarPoint(t.ray.direction.clone().normalize(), new w.Vector3()), o = s.projectPoint(e.start, new w.Vector3()), r = s.projectPoint(e.end, new w.Vector3()), a = new w.Line3(o, r), l = a.closestPointToPoint(t.ray.origin, i, dy), c = l.distanceTo(r), h = l.distanceTo(o), u = a.distance();
4733
4268
  if (c > h && c > u) {
4734
4269
  const d = -l.distanceTo(o) / u, p = e.start.clone().sub(e.end).normalize();
4735
4270
  return e.start.clone().sub(p.clone().multiplyScalar(d * e.distance()));
@@ -4738,8 +4273,8 @@ function rs(n) {
4738
4273
  return new w.Vector3().lerpVectors(e.start, e.end, d);
4739
4274
  }
4740
4275
  }
4741
- const Cd = new w.Vector3(), ho = () => !1;
4742
- class xl extends kt {
4276
+ const wd = new w.Vector3(), co = () => !1;
4277
+ class xl extends Mt {
4743
4278
  constructor(e, i) {
4744
4279
  var r, a, l, c, h;
4745
4280
  super();
@@ -4899,7 +4434,7 @@ class xl extends kt {
4899
4434
  */
4900
4435
  f(this, "updateByNdcPosition", (e) => {
4901
4436
  var o, r, a;
4902
- const i = by(this.five, e);
4437
+ const i = hy(this.five, e);
4903
4438
  let s = na(this.five, i);
4904
4439
  if (s) {
4905
4440
  if (this.plane && this.planeMode === "vertical" && (s = ce(H({}, s), {
@@ -4907,7 +4442,7 @@ class xl extends kt {
4907
4442
  face: new w.Face3(0, 0, 0, this.plane.normal.clone()),
4908
4443
  originalPoint: s.point.clone()
4909
4444
  })), this.plane && this.planeMode === "onlyPlane") {
4910
- const l = i.ray.intersectPlane(this.plane, Cd);
4445
+ const l = i.ray.intersectPlane(this.plane, wd);
4911
4446
  if (!l)
4912
4447
  return !1;
4913
4448
  s = {
@@ -4921,7 +4456,7 @@ class xl extends kt {
4921
4456
  return this.updatePointSelectorHelperIntersect(s), this.lastIntersection = s, !0;
4922
4457
  }
4923
4458
  if (this.plane) {
4924
- const l = i.ray.intersectPlane(this.plane, Cd);
4459
+ const l = i.ray.intersectPlane(this.plane, wd);
4925
4460
  if (l) {
4926
4461
  const c = {
4927
4462
  distance: this.five.camera.position.distanceTo(l),
@@ -4937,7 +4472,7 @@ class xl extends kt {
4937
4472
  if (this.actionIfNoIntersection === "lastPoint")
4938
4473
  return this.updatePointSelectorHelperIntersect(this.lastIntersection), !0;
4939
4474
  if (this.actionIfNoIntersection === "virtualPoint") {
4940
- const l = L0(i, (o = this.lastIntersection) == null ? void 0 : o.distance);
4475
+ const l = x0(i, (o = this.lastIntersection) == null ? void 0 : o.distance);
4941
4476
  return l.face = new w.Face3(0, 0, 0, (a = (r = this.lastIntersection) == null ? void 0 : r.face) == null ? void 0 : a.normal), l.isVirtual = !0, this.lastIntersection = l, this.updatePointSelectorHelperIntersect(l), !0;
4942
4477
  } else if (this.actionIfNoIntersection === "disable")
4943
4478
  return this.updatePointSelectorHelperIntersect(null), !1;
@@ -4948,7 +4483,7 @@ class xl extends kt {
4948
4483
  f(this, "updatePointSelectorHelperIntersect", (e) => {
4949
4484
  var s, o, r, a, l, c, h, u;
4950
4485
  if (!e) {
4951
- this.pointSelectorHelper.hide(), this.pointSelectorHelper.position = e, this.emit("intersectionUpdate", e), this.five.getElement().style.cursor = Pd;
4486
+ this.pointSelectorHelper.hide(), this.pointSelectorHelper.position = e, this.emit("intersectionUpdate", e), this.five.getElement().style.cursor = yd;
4952
4487
  return;
4953
4488
  }
4954
4489
  this.onEnter(), this.cursorError || (this.five.getElement().style.cursor = "");
@@ -5048,12 +4583,12 @@ class xl extends kt {
5048
4583
  });
5049
4584
  this.five = e, this.config = H(H({}, this.config), i), this.actionIfNoIntersection = (a = (r = i == null ? void 0 : i.actionIfNoIntersection) != null ? r : i == null ? void 0 : i.actionIfNoModelUnderMouse) != null ? a : "virtualPoint";
5050
4585
  const s = (l = i == null ? void 0 : i.mode) != null ? l : "auto";
5051
- s === "auto" ? this.mode = T0 ? "fixed" : "cursor" : this.mode = s;
4586
+ s === "auto" ? this.mode = k0 ? "fixed" : "cursor" : this.mode = s;
5052
4587
  const o = {
5053
4588
  autoFixPCPosition: this.mode === "cursor",
5054
4589
  initialPosition: this.mode === "fixed" ? { left: "35%", top: "20%" } : void 0
5055
4590
  };
5056
- this.pointSelectorHelper = new D0(this.five, ce(H({}, i == null ? void 0 : i.helper), {
4591
+ this.pointSelectorHelper = new M0(this.five, ce(H({}, i == null ? void 0 : i.helper), {
5057
4592
  magnifierParams: H(H({}, o), (c = i == null ? void 0 : i.helper) == null ? void 0 : c.magnifierParams),
5058
4593
  skipPanorama: (h = i == null ? void 0 : i.skipPanorama) != null ? h : !1
5059
4594
  })), this.pointSelectorHelper.hide();
@@ -5075,7 +4610,7 @@ class xl extends kt {
5075
4610
  return this._cursorError;
5076
4611
  }
5077
4612
  set cursorError(e) {
5078
- this._cursorError = e, this.five.getElement().style.cursor = e ? Pd : "", e ? this.pointSelectorHelper.hide() : this.pointSelectorHelper.show();
4613
+ this._cursorError = e, this.five.getElement().style.cursor = e ? yd : "", e ? this.pointSelectorHelper.hide() : this.pointSelectorHelper.show();
5079
4614
  }
5080
4615
  set outOfFive(e) {
5081
4616
  this._outOfFive = e;
@@ -5093,14 +4628,14 @@ class xl extends kt {
5093
4628
  const e = this.five.getElement();
5094
4629
  if (!e)
5095
4630
  throw new Error("five element not found");
5096
- this.mode === "cursor" ? (this.five.on("wantsMoveToPano", ho), this.five.on("wantsChangeMode", ho), this.five.on("wantsTapGesture", ho), e.addEventListener("touchstart", this.onTouchStart, { passive: !0 }), e.addEventListener("touchmove", this.onTouchMove), e.addEventListener("touchend", this.onTouchEnd), e.addEventListener("mousedown", this.onMouseDown), e.addEventListener("mouseup", this.onMouseUp), e.addEventListener("mousemove", this.updateByMousePosition), e.addEventListener("wheel", this.onMouseWheel), e.addEventListener("mouseenter", this.onMouseEnter), e.addEventListener("mouseout", this.onMouseLeave), this.five.on("wantsPanGesture", this.onFiveWantsPanGesture)) : this.mode === "fixed" && (this.five.on("panoArrived", this.renderScreenCenter), this.five.on("panGesture", this.renderScreenCenter), this.five.on("interiaPan", this.renderScreenCenter), this.renderScreenCenter(), this.pointSelectorHelper.show()), document.addEventListener("keydown", this.onKeyDown), document.addEventListener("keyup", this.onKeyUp), this.pointSelectorHelper.hooks.on("intersectionUpdate", this.emitIntersectionUpdate), this.lastFiveHelperVisible = this.five.helperVisible, this.five.helperVisible = !1, this.emit("enable");
4631
+ this.mode === "cursor" ? (this.five.on("wantsMoveToPano", co), this.five.on("wantsChangeMode", co), this.five.on("wantsTapGesture", co), e.addEventListener("touchstart", this.onTouchStart, { passive: !0 }), e.addEventListener("touchmove", this.onTouchMove), e.addEventListener("touchend", this.onTouchEnd), e.addEventListener("mousedown", this.onMouseDown), e.addEventListener("mouseup", this.onMouseUp), e.addEventListener("mousemove", this.updateByMousePosition), e.addEventListener("wheel", this.onMouseWheel), e.addEventListener("mouseenter", this.onMouseEnter), e.addEventListener("mouseout", this.onMouseLeave), this.five.on("wantsPanGesture", this.onFiveWantsPanGesture)) : this.mode === "fixed" && (this.five.on("panoArrived", this.renderScreenCenter), this.five.on("panGesture", this.renderScreenCenter), this.five.on("interiaPan", this.renderScreenCenter), this.renderScreenCenter(), this.pointSelectorHelper.show()), document.addEventListener("keydown", this.onKeyDown), document.addEventListener("keyup", this.onKeyUp), this.pointSelectorHelper.hooks.on("intersectionUpdate", this.emitIntersectionUpdate), this.lastFiveHelperVisible = this.five.helperVisible, this.five.helperVisible = !1, this.emit("enable");
5097
4632
  }
5098
4633
  disable() {
5099
4634
  if (!this.enabled)
5100
4635
  return;
5101
4636
  this.enabled = !1, this.adherePoints = null, this.adhereLine = [], this.adherePlane = [], this.plane = void 0, this.pointSelectorHelper.disable(), this.five.getElement().style.cursor = "";
5102
4637
  const e = this.five.getElement();
5103
- this.five.off("wantsPanGesture", this.onFiveWantsPanGesture), this.five.off("wantsMoveToPano", ho), this.five.off("wantsChangeMode", ho), this.five.off("wantsTapGesture", ho), this.five.helperVisible = this.lastFiveHelperVisible, e == null || e.removeEventListener("touchstart", this.onTouchStart), e == null || e.removeEventListener("touchmove", this.onTouchMove), e == null || e.removeEventListener("touchend", this.onTouchEnd), e == null || e.removeEventListener("mousedown", this.onMouseDown), e == null || e.removeEventListener("mouseup", this.onMouseUp), e == null || e.removeEventListener("mousemove", this.updateByMousePosition), e == null || e.removeEventListener("wheel", this.onMouseWheel), e == null || e.removeEventListener("mouseenter", this.onMouseEnter), e == null || e.removeEventListener("mouseout", this.onMouseLeave), this.five.off("panoArrived", this.renderScreenCenter), this.five.off("panGesture", this.renderScreenCenter), this.five.off("interiaPan", this.renderScreenCenter), document.removeEventListener("keydown", this.onKeyDown), document.removeEventListener("keyup", this.onKeyUp), this.pointSelectorHelper.hooks.off("intersectionUpdate", this.emitIntersectionUpdate), this.emit("disable");
4638
+ this.five.off("wantsPanGesture", this.onFiveWantsPanGesture), this.five.off("wantsMoveToPano", co), this.five.off("wantsChangeMode", co), this.five.off("wantsTapGesture", co), this.five.helperVisible = this.lastFiveHelperVisible, e == null || e.removeEventListener("touchstart", this.onTouchStart), e == null || e.removeEventListener("touchmove", this.onTouchMove), e == null || e.removeEventListener("touchend", this.onTouchEnd), e == null || e.removeEventListener("mousedown", this.onMouseDown), e == null || e.removeEventListener("mouseup", this.onMouseUp), e == null || e.removeEventListener("mousemove", this.updateByMousePosition), e == null || e.removeEventListener("wheel", this.onMouseWheel), e == null || e.removeEventListener("mouseenter", this.onMouseEnter), e == null || e.removeEventListener("mouseout", this.onMouseLeave), this.five.off("panoArrived", this.renderScreenCenter), this.five.off("panGesture", this.renderScreenCenter), this.five.off("interiaPan", this.renderScreenCenter), document.removeEventListener("keydown", this.onKeyDown), document.removeEventListener("keyup", this.onKeyUp), this.pointSelectorHelper.hooks.off("intersectionUpdate", this.emitIntersectionUpdate), this.emit("disable");
5104
4639
  }
5105
4640
  dispose() {
5106
4641
  this.disable(), this.pointSelectorHelper.dispose();
@@ -5109,7 +4644,125 @@ class xl extends kt {
5109
4644
  e ? typeof e == "function" ? this.adherePoints = e : this.adherePoints = () => e : this.adherePoints = null;
5110
4645
  }
5111
4646
  }
5112
- const z0 = "data:image/png;base64,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", O0 = "data:image/png;base64,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", Py = "data:image/png;base64,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", Cy = `
4647
+ const S0 = "data:image/png;base64,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";
4648
+ class D0 extends w.Mesh {
4649
+ constructor(e, i) {
4650
+ const s = new w.MeshBasicMaterial({ opacity: 0, color: 0, transparent: !1, side: w.DoubleSide }), o = new w.PlaneGeometry(e, i);
4651
+ super(o, s);
4652
+ f(this, "name", "opacity-mesh");
4653
+ }
4654
+ removeFromParent() {
4655
+ const e = this.parent;
4656
+ return e !== null && e.remove(this), this;
4657
+ }
4658
+ }
4659
+ const Vh = (n) => n ? n.visible === !1 ? !1 : Vh(n.parent) : !0, T0 = 1, Pd = `CSS3DObjectPlus@${T0}`, fy = 216e-5, gy = 3e-3;
4660
+ let L0 = class extends Sn {
4661
+ constructor(e) {
4662
+ var z, D, R, L, O;
4663
+ if (pi(e.cornerPoints) && pi(e.width))
4664
+ throw new Error("cornerPoints and width cannot be both empty");
4665
+ const i = (z = e.container) != null ? z : document.createElement("div"), s = (D = e.cornerPoints) != null ? D : (() => {
4666
+ const A = e.width / 2;
4667
+ return [
4668
+ new Ae(-A, A, 0),
4669
+ new Ae(-A, -A, 0),
4670
+ new Ae(A, -A, 0),
4671
+ new Ae(A, A, 0)
4672
+ ];
4673
+ })(), o = (R = e.ratio) != null ? R : gy, r = (L = e.dpr) != null ? L : 1, a = (O = e.pointerEvents) != null ? O : "auto", l = Math.max(fy, o), c = s[0].distanceTo(s[1]), h = s[1].distanceTo(s[2]), u = zo(c / o * r), d = zo(h / o * r), p = Jt(...s);
4674
+ let g;
4675
+ if (l === o)
4676
+ i.style.width = `${u}px`, i.style.height = `${d}px`, g = i;
4677
+ else {
4678
+ const A = document.createElement("div");
4679
+ A.style.width = `${u}px`, A.style.height = `${d}px`, A.style.pointerEvents = "none";
4680
+ const C = o / l;
4681
+ i.style.position = "absolute", i.style.left = "0", i.style.top = "0", i.style.width = `${C * u}px`, i.style.height = `${C * d}px`, A.appendChild(i), g = A;
4682
+ }
4683
+ super(g);
4684
+ f(this, "version", T0);
4685
+ f(this, "isCSS3DObjectPlus", !0);
4686
+ f(this, "isCSS3DObject", !0);
4687
+ f(this, "name", Pd);
4688
+ f(this, "container");
4689
+ f(this, "width");
4690
+ f(this, "height");
4691
+ f(this, "domWidthPx");
4692
+ f(this, "domHeightPx");
4693
+ f(this, "cornerPoints");
4694
+ f(this, "centerPosition");
4695
+ f(this, "ratio");
4696
+ f(this, "mode", "front");
4697
+ f(this, "hooks", new Mt());
4698
+ f(this, "opacityMesh");
4699
+ f(this, "selfVisible", !0);
4700
+ f(this, "setVisible", (e) => {
4701
+ this.selfVisible = e, this.visible = Vh(this.parent) && this.selfVisible, this.opacityMesh && (this.opacityMesh.visible = this.visible);
4702
+ });
4703
+ f(this, "updateVisible", () => {
4704
+ this.setVisible(this.selfVisible);
4705
+ });
4706
+ /**
4707
+ * @description: 生成透明Mesh
4708
+ */
4709
+ f(this, "createOpacityMesh", (e) => {
4710
+ const { domWidthPx: i, domHeightPx: s } = e, o = new D0(i, s);
4711
+ return o.position.copy(e.position), o.rotation.copy(e.rotation), o.scale.copy(e.scale), o;
4712
+ });
4713
+ if (i.style.pointerEvents = a, Object.assign(i.style, e.style), this.scale.set(l, l, l), this.cornerPoints = s, this.ratio = o, this.container = i, e.mode && (this.mode = e.mode), l === o)
4714
+ this.width = c, this.height = h, this.domWidthPx = u, this.domHeightPx = d, this.centerPosition = p;
4715
+ else {
4716
+ const A = o / l;
4717
+ this.width = A * c, this.height = A * h, this.domWidthPx = A * u, this.domHeightPx = A * d, this.centerPosition = new Ae().subVectors(p, s[0]).multiplyScalar(A).add(s[0]);
4718
+ }
4719
+ i.classList.add(`${Pd}__container`);
4720
+ const m = new Ae().subVectors(s[1], s[0]), v = new Ae().subVectors(s[3], s[0]), b = new Ae().crossVectors(m, v).normalize();
4721
+ this.lookAt(b);
4722
+ const P = this.up.clone().applyQuaternion(this.quaternion), E = v.clone(), M = new Ae().crossVectors(P, E).normalize();
4723
+ this.rotateOnWorldAxis(M, P.angleTo(E)), this.position.copy(p), this.addEventListener("added", () => {
4724
+ var A;
4725
+ this.mode === "front" && ((A = this.opacityMesh) == null || A.removeFromParent());
4726
+ }), this.addEventListener("removed", () => {
4727
+ var A;
4728
+ (A = this.opacityMesh) == null || A.removeFromParent();
4729
+ });
4730
+ }
4731
+ removeFromParent() {
4732
+ var i;
4733
+ const e = this.parent;
4734
+ return e !== null && e.remove(this), (i = this.opacityMesh) == null || i.removeFromParent(), this;
4735
+ }
4736
+ removeOpacityMesh() {
4737
+ var e;
4738
+ return (e = this.opacityMesh) == null || e.removeFromParent(), this.opacityMesh = void 0, this;
4739
+ }
4740
+ dispose() {
4741
+ var e;
4742
+ this.container.remove(), this.removeFromParent(), (e = this.opacityMesh) == null || e.removeFromParent();
4743
+ }
4744
+ getOpacityMesh() {
4745
+ if (this.opacityMesh)
4746
+ return this.opacityMesh;
4747
+ {
4748
+ const e = this.createOpacityMesh(this);
4749
+ return this.opacityMesh = e, e;
4750
+ }
4751
+ }
4752
+ applyMatrix4(e) {
4753
+ var i;
4754
+ super.applyMatrix4(e), (i = this.opacityMesh) == null || i.applyMatrix4(e);
4755
+ }
4756
+ applyQuaternion(e) {
4757
+ var i;
4758
+ return super.applyQuaternion(e), (i = this.opacityMesh) == null || i.applyQuaternion(e), this;
4759
+ }
4760
+ applyScaleMatrix4(e) {
4761
+ var i;
4762
+ this.scale.applyMatrix4(e), (i = this.opacityMesh) == null || i.scale.applyMatrix4(e);
4763
+ }
4764
+ };
4765
+ const z0 = "data:image/png;base64,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", py = "data:image/png;base64,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", my = `
5113
4766
  <style>
5114
4767
  .range-piece__container {
5115
4768
  position: absolute;
@@ -5127,7 +4780,7 @@ const z0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGwCAYAAADFUEBtAA
5127
4780
  .range-piece__content {
5128
4781
  width: 100%;
5129
4782
  height: 100%;
5130
- background-image: url(${O0});
4783
+ background-image: url(${z0});
5131
4784
  opacity: 0.4;
5132
4785
  background-size: 100%;
5133
4786
  background-repeat: no-repeat;
@@ -5141,7 +4794,7 @@ const z0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGwCAYAAADFUEBtAA
5141
4794
  height: 100%;
5142
4795
  opacity: 1;
5143
4796
  position: absolute;
5144
- background: url(${Py}) center / contain no-repeat;
4797
+ background: url(${py}) center / contain no-repeat;
5145
4798
  }
5146
4799
  @keyframes dotting {
5147
4800
  0% {
@@ -5170,14 +4823,14 @@ const z0 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbYAAAGwCAYAAADFUEBtAA
5170
4823
  <div class='range-piece__content'></div>
5171
4824
  <div class="range-piece__aim"></div>
5172
4825
  </div>
5173
- `, Iy = `
4826
+ `, vy = `
5174
4827
  varying vec2 vUv;
5175
4828
  void main() {
5176
4829
  vUv = uv;
5177
4830
  vec4 mvPosition = modelViewMatrix * vec4(position, 1);
5178
4831
  gl_Position = projectionMatrix * mvPosition;
5179
4832
  }
5180
- `, Ey = `
4833
+ `, Ay = `
5181
4834
  varying vec2 vUv;
5182
4835
  void main() {
5183
4836
  vec2 uv = vec2(vUv.x, vUv.y);
@@ -5186,8 +4839,8 @@ void main() {
5186
4839
  gl_FragColor = vec4(1.0,1.0,1.0,match);
5187
4840
  }
5188
4841
  `;
5189
- function My() {
5190
- const n = new w.PlaneGeometry(0.4, 0.4), t = z0, e = new w.TextureLoader().load(t);
4842
+ function by() {
4843
+ const n = new w.PlaneGeometry(0.4, 0.4), t = S0, e = new w.TextureLoader().load(t);
5191
4844
  e.encoding = w.sRGBEncoding, e.minFilter = w.LinearFilter;
5192
4845
  const i = new w.MeshBasicMaterial({
5193
4846
  map: e,
@@ -5196,18 +4849,18 @@ function My() {
5196
4849
  });
5197
4850
  return new w.Mesh(n, i);
5198
4851
  }
5199
- function ky() {
4852
+ function yy() {
5200
4853
  const n = new w.CurvePath();
5201
4854
  n.add(new w.LineCurve3(new w.Vector3(0, 0, 0), new w.Vector3(0, 0, 0.1)));
5202
4855
  const t = new w.TubeGeometry(n, 8, 3e-3), e = new w.ShaderMaterial({
5203
- vertexShader: Iy,
5204
- fragmentShader: Ey,
4856
+ vertexShader: vy,
4857
+ fragmentShader: Ay,
5205
4858
  depthTest: !1,
5206
4859
  transparent: !0
5207
4860
  });
5208
4861
  return new w.Mesh(t, e);
5209
4862
  }
5210
- function xy() {
4863
+ function wy() {
5211
4864
  const n = new w.SphereGeometry(0.01, 20, 20), t = new w.MeshBasicMaterial({
5212
4865
  color: 10349931,
5213
4866
  depthTest: !1,
@@ -5216,8 +4869,8 @@ function xy() {
5216
4869
  }), e = new w.Mesh(n, t);
5217
4870
  return e.position.set(0, 0, 0.1), e;
5218
4871
  }
5219
- function Sy() {
5220
- const t = new k0({
4872
+ function Py() {
4873
+ const t = new L0({
5221
4874
  pointerEvents: "none",
5222
4875
  cornerPoints: [
5223
4876
  new w.Vector3(-0.2, 0.2, 0),
@@ -5226,9 +4879,9 @@ function Sy() {
5226
4879
  new w.Vector3(0.2, 0.2, 0)
5227
4880
  ]
5228
4881
  }), e = document.createElement("div");
5229
- return e.style.width = "100%", e.style.height = "100%", e.style.backgroundImage = `url(${O0})`, e.style.backgroundSize = "100%", e.style.backgroundRepeat = "no-repeat", t.container.appendChild(e), t;
4882
+ return e.style.width = "100%", e.style.height = "100%", e.style.backgroundImage = `url(${z0})`, e.style.backgroundSize = "100%", e.style.backgroundRepeat = "no-repeat", t.container.appendChild(e), t;
5230
4883
  }
5231
- class j0 extends w.Object3D {
4884
+ class O0 extends w.Object3D {
5232
4885
  constructor(e) {
5233
4886
  super();
5234
4887
  f(this, "planeMesh");
@@ -5236,7 +4889,7 @@ class j0 extends w.Object3D {
5236
4889
  f(this, "ballMesh");
5237
4890
  f(this, "borderMesh");
5238
4891
  f(this, "five");
5239
- this.planeMesh = My(), this.lineMesh = ky(), this.ballMesh = xy(), this.borderMesh = Sy(), this.addEventListener("added", () => {
4892
+ this.planeMesh = by(), this.lineMesh = yy(), this.ballMesh = wy(), this.borderMesh = Py(), this.addEventListener("added", () => {
5240
4893
  this.add(this.planeMesh, this.lineMesh, this.ballMesh, this.borderMesh);
5241
4894
  }), this.addEventListener("removed", () => {
5242
4895
  this.remove(this.planeMesh, this.lineMesh, this.ballMesh, this.borderMesh);
@@ -5258,7 +4911,7 @@ class j0 extends w.Object3D {
5258
4911
  (e = this.planeMesh.material.map) == null || e.dispose();
5259
4912
  }
5260
4913
  }
5261
- class R0 extends w.Object3D {
4914
+ class j0 extends w.Object3D {
5262
4915
  constructor() {
5263
4916
  super(...arguments);
5264
4917
  f(this, "children", []);
@@ -5273,13 +4926,13 @@ class R0 extends w.Object3D {
5273
4926
  return this.getRaycastIntersects(e)[0];
5274
4927
  }
5275
4928
  }
5276
- class _0 extends zA {
4929
+ class R0 extends zA {
5277
4930
  constructor(t, e) {
5278
4931
  super(t, e);
5279
4932
  }
5280
4933
  }
5281
4934
  const cc = new w.Vector3();
5282
- class Dy extends w.Sphere {
4935
+ class Cy extends w.Sphere {
5283
4936
  expandByPoint(t) {
5284
4937
  if (this.isEmpty())
5285
4938
  return this.center.copy(t), this.radius = 0, this;
@@ -5292,7 +4945,7 @@ class Dy extends w.Sphere {
5292
4945
  return this;
5293
4946
  }
5294
4947
  }
5295
- function Ty(n) {
4948
+ function Iy(n) {
5296
4949
  const { max: t, min: e } = n;
5297
4950
  return [
5298
4951
  new w.Vector3(t.x, t.y, t.z),
@@ -5329,17 +4982,17 @@ function es(n, t) {
5329
4982
  function Ys(n) {
5330
4983
  return Hh(n, "box3");
5331
4984
  }
5332
- function B0(n) {
4985
+ function _0(n) {
5333
4986
  return Hh(n, "sphere");
5334
4987
  }
5335
- function Yc(n) {
4988
+ function Xc(n) {
5336
4989
  return Sl(n, "box3");
5337
4990
  }
5338
- function V0(n) {
4991
+ function B0(n) {
5339
4992
  return Sl(n, "sphere");
5340
4993
  }
5341
4994
  function Sl(n, t) {
5342
- const e = t === "box3" ? new w.Box3() : new Dy(), i = new w.Vector3();
4995
+ const e = t === "box3" ? new w.Box3() : new Cy(), i = new w.Vector3();
5343
4996
  if (n.updateWorldMatrix(!1, !1), n.traverse((s) => {
5344
4997
  var r;
5345
4998
  if (s.name === "shadow" || s.type === "Line2")
@@ -5361,16 +5014,16 @@ function Sl(n, t) {
5361
5014
  }
5362
5015
  function Hh(n, t) {
5363
5016
  const e = Sl(n, t);
5364
- return e && e.applyMatrix4(Ly(n.matrixWorld.clone())), e;
5017
+ return e && e.applyMatrix4(Ey(n.matrixWorld.clone())), e;
5365
5018
  }
5366
- const Ly = (n) => {
5019
+ const Ey = (n) => {
5367
5020
  const t = n.elements, e = t[0], i = t[1], s = t[2], o = t[3], r = t[4], a = t[5], l = t[6], c = t[7], h = t[8], u = t[9], d = t[10], p = t[11], g = t[12], m = t[13], v = t[14], b = t[15], P = u * v * c - m * d * c + m * l * p - a * v * p - u * l * b + a * d * b, E = g * d * c - h * v * c - g * l * p + r * v * p + h * l * b - r * d * b, M = h * m * c - g * u * c + g * a * p - r * m * p - h * a * b + r * u * b, z = g * u * l - h * m * l - g * a * d + r * m * d + h * a * v - r * u * v, D = e * P + i * E + s * M + o * z;
5368
5021
  if (D === 0)
5369
5022
  return n.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
5370
5023
  const R = 1 / D;
5371
5024
  return t[0] = P * R, t[1] = (m * d * o - u * v * o - m * s * p + i * v * p + u * s * b - i * d * b) * R, t[2] = (a * v * o - m * l * o + m * s * c - i * v * c - a * s * b + i * l * b) * R, t[3] = (u * l * o - a * d * o - u * s * c + i * d * c + a * s * p - i * l * p) * R, t[4] = E * R, t[5] = (h * v * o - g * d * o + g * s * p - e * v * p - h * s * b + e * d * b) * R, t[6] = (g * l * o - r * v * o - g * s * c + e * v * c + r * s * b - e * l * b) * R, t[7] = (r * d * o - h * l * o + h * s * c - e * d * c - r * s * p + e * l * p) * R, t[8] = M * R, t[9] = (g * u * o - h * m * o - g * i * p + e * m * p + h * i * b - e * u * b) * R, t[10] = (r * m * o - g * a * o + g * i * c - e * m * c - r * i * b + e * a * b) * R, t[11] = (h * a * o - r * u * o - h * i * c + e * u * c + r * i * p - e * a * p) * R, t[12] = z * R, t[13] = (h * m * s - g * u * s + g * i * d - e * m * d - h * i * v + e * u * v) * R, t[14] = (g * a * s - r * m * s - g * i * l + e * m * l + r * i * v - e * a * v) * R, t[15] = (r * u * s - h * a * s + h * i * l - e * u * l - r * i * d + e * a * d) * R, n;
5372
5025
  };
5373
- var H0 = {
5026
+ var V0 = {
5374
5027
  update: null,
5375
5028
  begin: null,
5376
5029
  loopBegin: null,
@@ -5389,7 +5042,7 @@ var H0 = {
5389
5042
  endDelay: 0,
5390
5043
  easing: "easeOutElastic(1, .5)",
5391
5044
  round: 0
5392
- }, zy = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"], $a = {
5045
+ }, My = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"], $a = {
5393
5046
  CSS: {},
5394
5047
  springs: {}
5395
5048
  };
@@ -5446,17 +5099,17 @@ var Ge = {
5446
5099
  return Ge.hex(n) || Ge.rgb(n) || Ge.hsl(n);
5447
5100
  },
5448
5101
  key: function(n) {
5449
- return !H0.hasOwnProperty(n) && !Fh.hasOwnProperty(n) && n !== "targets" && n !== "keyframes";
5102
+ return !V0.hasOwnProperty(n) && !Fh.hasOwnProperty(n) && n !== "targets" && n !== "keyframes";
5450
5103
  }
5451
5104
  };
5452
- function F0(n) {
5105
+ function H0(n) {
5453
5106
  var t = /\(([^)]+)\)/.exec(n);
5454
5107
  return t ? t[1].split(",").map(function(e) {
5455
5108
  return parseFloat(e);
5456
5109
  }) : [];
5457
5110
  }
5458
- function N0(n, t) {
5459
- var e = F0(n), i = Ji(Ge.und(e[0]) ? 1 : e[0], 0.1, 100), s = Ji(Ge.und(e[1]) ? 100 : e[1], 0.1, 100), o = Ji(Ge.und(e[2]) ? 10 : e[2], 0.1, 100), r = Ji(Ge.und(e[3]) ? 0 : e[3], 0.1, 100), a = Math.sqrt(s / i), l = o / (2 * Math.sqrt(s * i)), c = l < 1 ? a * Math.sqrt(1 - l * l) : 0, h = 1, u = l < 1 ? (l * a + -r) / c : -r + a;
5111
+ function F0(n, t) {
5112
+ var e = H0(n), i = Ji(Ge.und(e[0]) ? 1 : e[0], 0.1, 100), s = Ji(Ge.und(e[1]) ? 100 : e[1], 0.1, 100), o = Ji(Ge.und(e[2]) ? 10 : e[2], 0.1, 100), r = Ji(Ge.und(e[3]) ? 0 : e[3], 0.1, 100), a = Math.sqrt(s / i), l = o / (2 * Math.sqrt(s * i)), c = l < 1 ? a * Math.sqrt(1 - l * l) : 0, h = 1, u = l < 1 ? (l * a + -r) / c : -r + a;
5460
5113
  function d(g) {
5461
5114
  var m = t ? t * g / 1e3 : g;
5462
5115
  return l < 1 ? m = Math.exp(-m * l * a) * (h * Math.cos(c * m) + u * Math.sin(c * m)) : m = (h + u * m) * Math.exp(-m * a), g === 0 || g === 1 ? g : 1 - m;
@@ -5476,12 +5129,12 @@ function N0(n, t) {
5476
5129
  }
5477
5130
  return t ? d : p;
5478
5131
  }
5479
- function Oy(n) {
5132
+ function ky(n) {
5480
5133
  return n === void 0 && (n = 10), function(t) {
5481
5134
  return Math.ceil(Ji(t, 1e-6, 1) * n) * (1 / n);
5482
5135
  };
5483
5136
  }
5484
- var jy = function() {
5137
+ var xy = function() {
5485
5138
  var n = 11, t = 1 / (n - 1);
5486
5139
  function e(h, u) {
5487
5140
  return 1 - 3 * u + 3 * h;
@@ -5534,7 +5187,7 @@ var jy = function() {
5534
5187
  };
5535
5188
  }
5536
5189
  return c;
5537
- }(), G0 = function() {
5190
+ }(), N0 = function() {
5538
5191
  var n = { linear: function() {
5539
5192
  return function(i) {
5540
5193
  return i;
@@ -5601,19 +5254,19 @@ var jy = function() {
5601
5254
  function Nh(n, t) {
5602
5255
  if (Ge.fnc(n))
5603
5256
  return n;
5604
- var e = n.split("(")[0], i = G0[e], s = F0(n);
5257
+ var e = n.split("(")[0], i = N0[e], s = H0(n);
5605
5258
  switch (e) {
5606
5259
  case "spring":
5607
- return N0(n, t);
5260
+ return F0(n, t);
5608
5261
  case "cubicBezier":
5609
- return hc(jy, s);
5262
+ return hc(xy, s);
5610
5263
  case "steps":
5611
- return hc(Oy, s);
5264
+ return hc(ky, s);
5612
5265
  default:
5613
5266
  return hc(i, s);
5614
5267
  }
5615
5268
  }
5616
- function W0(n) {
5269
+ function G0(n) {
5617
5270
  try {
5618
5271
  var t = document.querySelectorAll(n);
5619
5272
  return t;
@@ -5634,8 +5287,8 @@ function Tl(n) {
5634
5287
  return t.concat(Ge.arr(e) ? Tl(e) : e);
5635
5288
  }, []);
5636
5289
  }
5637
- function Id(n) {
5638
- return Ge.arr(n) ? n : (Ge.str(n) && (n = W0(n) || n), n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n]);
5290
+ function Cd(n) {
5291
+ return Ge.arr(n) ? n : (Ge.str(n) && (n = G0(n) || n), n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n]);
5639
5292
  }
5640
5293
  function Gh(n, t) {
5641
5294
  return n.some(function(e) {
@@ -5648,7 +5301,7 @@ function Wh(n) {
5648
5301
  t[e] = n[e];
5649
5302
  return t;
5650
5303
  }
5651
- function Zc(n, t) {
5304
+ function Yc(n, t) {
5652
5305
  var e = Wh(n);
5653
5306
  for (var i in n)
5654
5307
  e[i] = t.hasOwnProperty(i) ? t[i] : n[i];
@@ -5660,17 +5313,17 @@ function Ll(n, t) {
5660
5313
  e[i] = Ge.und(n[i]) ? t[i] : n[i];
5661
5314
  return e;
5662
5315
  }
5663
- function Ry(n) {
5316
+ function Sy(n) {
5664
5317
  var t = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(n);
5665
5318
  return t ? "rgba(" + t[1] + ",1)" : n;
5666
5319
  }
5667
- function _y(n) {
5320
+ function Dy(n) {
5668
5321
  var t = /^#?([a-f\d])([a-f\d])([a-f\d])$/i, e = n.replace(t, function(a, l, c, h) {
5669
5322
  return l + l + c + c + h + h;
5670
5323
  }), i = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e), s = parseInt(i[1], 16), o = parseInt(i[2], 16), r = parseInt(i[3], 16);
5671
5324
  return "rgba(" + s + "," + o + "," + r + ",1)";
5672
5325
  }
5673
- function By(n) {
5326
+ function Ty(n) {
5674
5327
  var t = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n), e = parseInt(t[1], 10) / 360, i = parseInt(t[2], 10) / 100, s = parseInt(t[3], 10) / 100, o = t[4] || 1;
5675
5328
  function r(d, p, g) {
5676
5329
  return g < 0 && (g += 1), g > 1 && (g -= 1), g < 1 / 6 ? d + (p - d) * 6 * g : g < 1 / 2 ? p : g < 2 / 3 ? d + (p - d) * (2 / 3 - g) * 6 : d;
@@ -5684,26 +5337,26 @@ function By(n) {
5684
5337
  }
5685
5338
  return "rgba(" + a * 255 + "," + l * 255 + "," + c * 255 + "," + o + ")";
5686
5339
  }
5687
- function Vy(n) {
5340
+ function Ly(n) {
5688
5341
  if (Ge.rgb(n))
5689
- return Ry(n);
5342
+ return Sy(n);
5690
5343
  if (Ge.hex(n))
5691
- return _y(n);
5344
+ return Dy(n);
5692
5345
  if (Ge.hsl(n))
5693
- return By(n);
5346
+ return Ty(n);
5694
5347
  }
5695
5348
  function kn(n) {
5696
5349
  var t = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n);
5697
5350
  if (t)
5698
5351
  return t[1];
5699
5352
  }
5700
- function Hy(n) {
5353
+ function zy(n) {
5701
5354
  if (xr(n, "translate") || n === "perspective")
5702
5355
  return "px";
5703
5356
  if (xr(n, "rotate") || xr(n, "skew"))
5704
5357
  return "deg";
5705
5358
  }
5706
- function qc(n, t) {
5359
+ function Zc(n, t) {
5707
5360
  return Ge.fnc(n) ? n(t.target, t.id, t.total) : n;
5708
5361
  }
5709
5362
  function Ki(n, t) {
@@ -5723,7 +5376,7 @@ function Uh(n, t, e) {
5723
5376
  var c = l * parseFloat(t);
5724
5377
  return $a.CSS[t + e] = c, c;
5725
5378
  }
5726
- function U0(n, t, e) {
5379
+ function W0(n, t, e) {
5727
5380
  if (t in n.style) {
5728
5381
  var i = t.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), s = n.style[t] || getComputedStyle(n).getPropertyValue(i) || "0";
5729
5382
  return e ? Uh(n, s, e) : s;
@@ -5732,30 +5385,30 @@ function U0(n, t, e) {
5732
5385
  function Qh(n, t) {
5733
5386
  if (Ge.dom(n) && !Ge.inp(n) && (!Ge.nil(Ki(n, t)) || Ge.svg(n) && n[t]))
5734
5387
  return "attribute";
5735
- if (Ge.dom(n) && Gh(zy, t))
5388
+ if (Ge.dom(n) && Gh(My, t))
5736
5389
  return "transform";
5737
- if (Ge.dom(n) && t !== "transform" && U0(n, t))
5390
+ if (Ge.dom(n) && t !== "transform" && W0(n, t))
5738
5391
  return "css";
5739
5392
  if (n[t] != null)
5740
5393
  return "object";
5741
5394
  }
5742
- function Q0(n) {
5395
+ function U0(n) {
5743
5396
  if (Ge.dom(n)) {
5744
5397
  for (var t = n.style.transform || "", e = /(\w+)\(([^)]*)\)/g, i = /* @__PURE__ */ new Map(), s; s = e.exec(t); )
5745
5398
  i.set(s[1], s[2]);
5746
5399
  return i;
5747
5400
  }
5748
5401
  }
5749
- function Fy(n, t, e, i) {
5750
- var s = xr(t, "scale") ? 1 : 0 + Hy(t), o = Q0(n).get(t) || s;
5402
+ function Oy(n, t, e, i) {
5403
+ var s = xr(t, "scale") ? 1 : 0 + zy(t), o = U0(n).get(t) || s;
5751
5404
  return e && (e.transforms.list.set(t, o), e.transforms.last = t), i ? Uh(n, o, i) : o;
5752
5405
  }
5753
5406
  function Xh(n, t, e, i) {
5754
5407
  switch (Qh(n, t)) {
5755
5408
  case "transform":
5756
- return Fy(n, t, i, e);
5409
+ return Oy(n, t, i, e);
5757
5410
  case "css":
5758
- return U0(n, t, e);
5411
+ return W0(n, t, e);
5759
5412
  case "attribute":
5760
5413
  return Ki(n, t);
5761
5414
  default:
@@ -5776,9 +5429,9 @@ function Yh(n, t) {
5776
5429
  return s * o + i;
5777
5430
  }
5778
5431
  }
5779
- function X0(n, t) {
5432
+ function Q0(n, t) {
5780
5433
  if (Ge.col(n))
5781
- return Vy(n);
5434
+ return Ly(n);
5782
5435
  if (/\s/g.test(n))
5783
5436
  return n;
5784
5437
  var e = kn(n), i = e ? n.substr(0, n.length - e.length) : n;
@@ -5787,56 +5440,56 @@ function X0(n, t) {
5787
5440
  function Zh(n, t) {
5788
5441
  return Math.sqrt(Math.pow(t.x - n.x, 2) + Math.pow(t.y - n.y, 2));
5789
5442
  }
5790
- function Ny(n) {
5443
+ function jy(n) {
5791
5444
  return Math.PI * 2 * Ki(n, "r");
5792
5445
  }
5793
- function Gy(n) {
5446
+ function Ry(n) {
5794
5447
  return Ki(n, "width") * 2 + Ki(n, "height") * 2;
5795
5448
  }
5796
- function Wy(n) {
5449
+ function _y(n) {
5797
5450
  return Zh(
5798
5451
  { x: Ki(n, "x1"), y: Ki(n, "y1") },
5799
5452
  { x: Ki(n, "x2"), y: Ki(n, "y2") }
5800
5453
  );
5801
5454
  }
5802
- function Y0(n) {
5455
+ function X0(n) {
5803
5456
  for (var t = n.points, e = 0, i, s = 0; s < t.numberOfItems; s++) {
5804
5457
  var o = t.getItem(s);
5805
5458
  s > 0 && (e += Zh(i, o)), i = o;
5806
5459
  }
5807
5460
  return e;
5808
5461
  }
5809
- function Uy(n) {
5462
+ function By(n) {
5810
5463
  var t = n.points;
5811
- return Y0(n) + Zh(t.getItem(t.numberOfItems - 1), t.getItem(0));
5464
+ return X0(n) + Zh(t.getItem(t.numberOfItems - 1), t.getItem(0));
5812
5465
  }
5813
- function Z0(n) {
5466
+ function Y0(n) {
5814
5467
  if (n.getTotalLength)
5815
5468
  return n.getTotalLength();
5816
5469
  switch (n.tagName.toLowerCase()) {
5817
5470
  case "circle":
5818
- return Ny(n);
5471
+ return jy(n);
5819
5472
  case "rect":
5820
- return Gy(n);
5473
+ return Ry(n);
5821
5474
  case "line":
5822
- return Wy(n);
5475
+ return _y(n);
5823
5476
  case "polyline":
5824
- return Y0(n);
5477
+ return X0(n);
5825
5478
  case "polygon":
5826
- return Uy(n);
5479
+ return By(n);
5827
5480
  }
5828
5481
  }
5829
- function Qy(n) {
5830
- var t = Z0(n);
5482
+ function Vy(n) {
5483
+ var t = Y0(n);
5831
5484
  return n.setAttribute("stroke-dasharray", t), t;
5832
5485
  }
5833
- function Xy(n) {
5486
+ function Hy(n) {
5834
5487
  for (var t = n.parentNode; Ge.svg(t) && Ge.svg(t.parentNode); )
5835
5488
  t = t.parentNode;
5836
5489
  return t;
5837
5490
  }
5838
- function q0(n, t) {
5839
- var e = t || {}, i = e.el || Xy(n), s = i.getBoundingClientRect(), o = Ki(i, "viewBox"), r = s.width, a = s.height, l = e.viewBox || (o ? o.split(" ") : [0, 0, r, a]);
5491
+ function Z0(n, t) {
5492
+ var e = t || {}, i = e.el || Hy(n), s = i.getBoundingClientRect(), o = Ki(i, "viewBox"), r = s.width, a = s.height, l = e.viewBox || (o ? o.split(" ") : [0, 0, r, a]);
5840
5493
  return {
5841
5494
  el: i,
5842
5495
  viewBox: l,
@@ -5848,24 +5501,24 @@ function q0(n, t) {
5848
5501
  vH: l[3]
5849
5502
  };
5850
5503
  }
5851
- function Yy(n, t) {
5852
- var e = Ge.str(n) ? W0(n)[0] : n, i = t || 100;
5504
+ function Fy(n, t) {
5505
+ var e = Ge.str(n) ? G0(n)[0] : n, i = t || 100;
5853
5506
  return function(s) {
5854
5507
  return {
5855
5508
  property: s,
5856
5509
  el: e,
5857
- svg: q0(e),
5858
- totalLength: Z0(e) * (i / 100)
5510
+ svg: Z0(e),
5511
+ totalLength: Y0(e) * (i / 100)
5859
5512
  };
5860
5513
  };
5861
5514
  }
5862
- function Zy(n, t, e) {
5515
+ function Ny(n, t, e) {
5863
5516
  function i(h) {
5864
5517
  h === void 0 && (h = 0);
5865
5518
  var u = t + h >= 1 ? t + h : 0;
5866
5519
  return n.el.getPointAtLength(u);
5867
5520
  }
5868
- var s = q0(n.el, n.svg), o = i(), r = i(-1), a = i(1), l = e ? 1 : s.w / s.vW, c = e ? 1 : s.h / s.vH;
5521
+ var s = Z0(n.el, n.svg), o = i(), r = i(-1), a = i(1), l = e ? 1 : s.w / s.vW, c = e ? 1 : s.h / s.vH;
5869
5522
  switch (n.property) {
5870
5523
  case "x":
5871
5524
  return (o.x - s.x) * l;
@@ -5875,8 +5528,8 @@ function Zy(n, t, e) {
5875
5528
  return Math.atan2(a.y - r.y, a.x - r.x) * 180 / Math.PI;
5876
5529
  }
5877
5530
  }
5878
- function Ed(n, t) {
5879
- var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g, i = X0(Ge.pth(n) ? n.totalLength : n, t) + "";
5531
+ function Id(n, t) {
5532
+ var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g, i = Q0(Ge.pth(n) ? n.totalLength : n, t) + "";
5880
5533
  return {
5881
5534
  original: i,
5882
5535
  numbers: i.match(e) ? i.match(e).map(Number) : [0],
@@ -5884,20 +5537,20 @@ function Ed(n, t) {
5884
5537
  };
5885
5538
  }
5886
5539
  function qh(n) {
5887
- var t = n ? Tl(Ge.arr(n) ? n.map(Id) : Id(n)) : [];
5540
+ var t = n ? Tl(Ge.arr(n) ? n.map(Cd) : Cd(n)) : [];
5888
5541
  return Dl(t, function(e, i, s) {
5889
5542
  return s.indexOf(e) === i;
5890
5543
  });
5891
5544
  }
5892
- function J0(n) {
5545
+ function q0(n) {
5893
5546
  var t = qh(n);
5894
5547
  return t.map(function(e, i) {
5895
- return { target: e, id: i, total: t.length, transforms: { list: Q0(e) } };
5548
+ return { target: e, id: i, total: t.length, transforms: { list: U0(e) } };
5896
5549
  });
5897
5550
  }
5898
- function qy(n, t) {
5551
+ function Gy(n, t) {
5899
5552
  var e = Wh(t);
5900
- if (/^spring/.test(e.easing) && (e.duration = N0(e.easing)), Ge.arr(n)) {
5553
+ if (/^spring/.test(e.easing) && (e.duration = F0(e.easing)), Ge.arr(n)) {
5901
5554
  var i = n.length, s = i === 2 && !Ge.obj(n[0]);
5902
5555
  s ? n = { value: n } : Ge.fnc(t.duration) || (e.duration = t.duration / i);
5903
5556
  }
@@ -5909,7 +5562,7 @@ function qy(n, t) {
5909
5562
  return Ll(r, e);
5910
5563
  });
5911
5564
  }
5912
- function Jy(n) {
5565
+ function Wy(n) {
5913
5566
  for (var t = Dl(Tl(n.map(function(o) {
5914
5567
  return Object.keys(o);
5915
5568
  })), function(o) {
@@ -5928,34 +5581,34 @@ function Jy(n) {
5928
5581
  i(s);
5929
5582
  return e;
5930
5583
  }
5931
- function Ky(n, t) {
5584
+ function Uy(n, t) {
5932
5585
  var e = [], i = t.keyframes;
5933
- i && (t = Ll(Jy(i), t));
5586
+ i && (t = Ll(Wy(i), t));
5934
5587
  for (var s in t)
5935
5588
  Ge.key(s) && e.push({
5936
5589
  name: s,
5937
- tweens: qy(t[s], n)
5590
+ tweens: Gy(t[s], n)
5938
5591
  });
5939
5592
  return e;
5940
5593
  }
5941
- function $y(n, t) {
5594
+ function Qy(n, t) {
5942
5595
  var e = {};
5943
5596
  for (var i in n) {
5944
- var s = qc(n[i], t);
5597
+ var s = Zc(n[i], t);
5945
5598
  Ge.arr(s) && (s = s.map(function(o) {
5946
- return qc(o, t);
5599
+ return Zc(o, t);
5947
5600
  }), s.length === 1 && (s = s[0])), e[i] = s;
5948
5601
  }
5949
5602
  return e.duration = parseFloat(e.duration), e.delay = parseFloat(e.delay), e;
5950
5603
  }
5951
- function ew(n, t) {
5604
+ function Xy(n, t) {
5952
5605
  var e;
5953
5606
  return n.tweens.map(function(i) {
5954
- var s = $y(i, t), o = s.value, r = Ge.arr(o) ? o[1] : o, a = kn(r), l = Xh(t.target, n.name, a, t), c = e ? e.to.original : l, h = Ge.arr(o) ? o[0] : c, u = kn(h) || kn(l), d = a || u;
5955
- return Ge.und(r) && (r = c), s.from = Ed(h, d), s.to = Ed(Yh(r, h), d), s.start = e ? e.end : 0, s.end = s.start + s.delay + s.duration + s.endDelay, s.easing = Nh(s.easing, s.duration), s.isPath = Ge.pth(o), s.isPathTargetInsideSVG = s.isPath && Ge.svg(t.target), s.isColor = Ge.col(s.from.original), s.isColor && (s.round = 1), e = s, s;
5607
+ var s = Qy(i, t), o = s.value, r = Ge.arr(o) ? o[1] : o, a = kn(r), l = Xh(t.target, n.name, a, t), c = e ? e.to.original : l, h = Ge.arr(o) ? o[0] : c, u = kn(h) || kn(l), d = a || u;
5608
+ return Ge.und(r) && (r = c), s.from = Id(h, d), s.to = Id(Yh(r, h), d), s.start = e ? e.end : 0, s.end = s.start + s.delay + s.duration + s.endDelay, s.easing = Nh(s.easing, s.duration), s.isPath = Ge.pth(o), s.isPathTargetInsideSVG = s.isPath && Ge.svg(t.target), s.isColor = Ge.col(s.from.original), s.isColor && (s.round = 1), e = s, s;
5956
5609
  });
5957
5610
  }
5958
- var K0 = {
5611
+ var J0 = {
5959
5612
  css: function(n, t, e) {
5960
5613
  return n.style[t] = e;
5961
5614
  },
@@ -5974,19 +5627,19 @@ var K0 = {
5974
5627
  }
5975
5628
  }
5976
5629
  };
5977
- function $0(n, t) {
5978
- var e = J0(n);
5630
+ function K0(n, t) {
5631
+ var e = q0(n);
5979
5632
  e.forEach(function(i) {
5980
5633
  for (var s in t) {
5981
- var o = qc(t[s], i), r = i.target, a = kn(o), l = Xh(r, s, a, i), c = a || kn(l), h = Yh(X0(o, c), l), u = Qh(r, s);
5982
- K0[u](r, s, h, i.transforms, !0);
5634
+ var o = Zc(t[s], i), r = i.target, a = kn(o), l = Xh(r, s, a, i), c = a || kn(l), h = Yh(Q0(o, c), l), u = Qh(r, s);
5635
+ J0[u](r, s, h, i.transforms, !0);
5983
5636
  }
5984
5637
  });
5985
5638
  }
5986
- function tw(n, t) {
5639
+ function Yy(n, t) {
5987
5640
  var e = Qh(n.target, t.name);
5988
5641
  if (e) {
5989
- var i = ew(t, n), s = i[i.length - 1];
5642
+ var i = Xy(t, n), s = i[i.length - 1];
5990
5643
  return {
5991
5644
  type: e,
5992
5645
  property: t.name,
@@ -5998,16 +5651,16 @@ function tw(n, t) {
5998
5651
  };
5999
5652
  }
6000
5653
  }
6001
- function iw(n, t) {
5654
+ function Zy(n, t) {
6002
5655
  return Dl(Tl(n.map(function(e) {
6003
5656
  return t.map(function(i) {
6004
- return tw(e, i);
5657
+ return Yy(e, i);
6005
5658
  });
6006
5659
  })), function(e) {
6007
5660
  return !Ge.und(e);
6008
5661
  });
6009
5662
  }
6010
- function e1(n, t) {
5663
+ function $0(n, t) {
6011
5664
  var e = n.length, i = function(o) {
6012
5665
  return o.timelineOffset ? o.timelineOffset : 0;
6013
5666
  }, s = {};
@@ -6019,10 +5672,10 @@ function e1(n, t) {
6019
5672
  return i(o) + o.duration - o.endDelay;
6020
5673
  })) : t.endDelay, s;
6021
5674
  }
6022
- var Md = 0;
6023
- function nw(n) {
6024
- var t = Zc(H0, n), e = Zc(Fh, n), i = Ky(e, n), s = J0(n.targets), o = iw(s, i), r = e1(o, e), a = Md;
6025
- return Md++, Ll(t, {
5675
+ var Ed = 0;
5676
+ function qy(n) {
5677
+ var t = Yc(V0, n), e = Yc(Fh, n), i = Uy(e, n), s = q0(n.targets), o = Zy(s, i), r = $0(o, e), a = Ed;
5678
+ return Ed++, Ll(t, {
6026
5679
  id: a,
6027
5680
  children: [],
6028
5681
  animatables: s,
@@ -6032,10 +5685,10 @@ function nw(n) {
6032
5685
  endDelay: r.endDelay
6033
5686
  });
6034
5687
  }
6035
- var Bi = [], t1 = function() {
5688
+ var Bi = [], e1 = function() {
6036
5689
  var n;
6037
5690
  function t() {
6038
- !n && (!kd() || !at.suspendWhenDocumentHidden) && Bi.length > 0 && (n = requestAnimationFrame(e));
5691
+ !n && (!Md() || !at.suspendWhenDocumentHidden) && Bi.length > 0 && (n = requestAnimationFrame(e));
6039
5692
  }
6040
5693
  function e(s) {
6041
5694
  for (var o = Bi.length, r = 0; r < o; ) {
@@ -6045,15 +5698,15 @@ var Bi = [], t1 = function() {
6045
5698
  n = r > 0 ? requestAnimationFrame(e) : void 0;
6046
5699
  }
6047
5700
  function i() {
6048
- at.suspendWhenDocumentHidden && (kd() ? n = cancelAnimationFrame(n) : (Bi.forEach(
5701
+ at.suspendWhenDocumentHidden && (Md() ? n = cancelAnimationFrame(n) : (Bi.forEach(
6049
5702
  function(s) {
6050
5703
  return s._onDocumentVisibility();
6051
5704
  }
6052
- ), t1()));
5705
+ ), e1()));
6053
5706
  }
6054
5707
  return typeof document != "undefined" && document.addEventListener("visibilitychange", i), t;
6055
5708
  }();
6056
- function kd() {
5709
+ function Md() {
6057
5710
  return !!document && document.hidden;
6058
5711
  }
6059
5712
  function at(n) {
@@ -6065,7 +5718,7 @@ function at(n) {
6065
5718
  });
6066
5719
  return P.finished = E, E;
6067
5720
  }
6068
- var l = nw(n);
5721
+ var l = qy(n);
6069
5722
  a(l);
6070
5723
  function c() {
6071
5724
  var P = l.direction;
@@ -6098,7 +5751,7 @@ function at(n) {
6098
5751
  })[0] || A);
6099
5752
  for (var C = Ji(P - A.start - A.delay, 0, A.duration) / A.duration, I = isNaN(C) ? 1 : A.easing(C), k = A.to.strings, S = A.round, T = [], N = A.to.numbers.length, B = void 0, J = 0; J < N; J++) {
6100
5753
  var te = void 0, $ = A.to.numbers[J], oe = A.from.numbers[J] || 0;
6101
- A.isPath ? te = Zy(A.value, I * $, A.isPathTargetInsideSVG) : te = oe + I * ($ - oe), S && (A.isColor && J > 2 || (te = Math.round(te * S) / S)), T.push(te);
5754
+ A.isPath ? te = Ny(A.value, I * $, A.isPathTargetInsideSVG) : te = oe + I * ($ - oe), S && (A.isColor && J > 2 || (te = Math.round(te * S) / S)), T.push(te);
6102
5755
  }
6103
5756
  var Z = k.length;
6104
5757
  if (!Z)
@@ -6111,7 +5764,7 @@ function at(n) {
6111
5764
  isNaN(ue) || (Se ? B += ue + Se : B += ue + " ");
6112
5765
  }
6113
5766
  }
6114
- K0[D.type](R.target, D.property, B, R.transforms), D.currentValue = B, E++;
5767
+ J0[D.type](R.target, D.property, B, R.transforms), D.currentValue = B, E++;
6115
5768
  }
6116
5769
  }
6117
5770
  function m(P) {
@@ -6131,7 +5784,7 @@ function at(n) {
6131
5784
  l.children[E].reset();
6132
5785
  (l.reversed && l.loop !== !0 || P === "alternate" && l.loop === 1) && l.remaining++, g(l.reversed ? l.duration : 0);
6133
5786
  }, l._onDocumentVisibility = u, l.set = function(P, E) {
6134
- return $0(P, E), l;
5787
+ return K0(P, E), l;
6135
5788
  }, l.tick = function(P) {
6136
5789
  i = P, t || (t = i), b((i + (e - t)) * at.speed);
6137
5790
  }, l.seek = function(P) {
@@ -6139,36 +5792,36 @@ function at(n) {
6139
5792
  }, l.pause = function() {
6140
5793
  l.paused = !0, u();
6141
5794
  }, l.play = function() {
6142
- l.paused && (l.completed && l.reset(), l.paused = !1, Bi.push(l), u(), t1());
5795
+ l.paused && (l.completed && l.reset(), l.paused = !1, Bi.push(l), u(), e1());
6143
5796
  }, l.reverse = function() {
6144
5797
  c(), l.completed = !l.reversed, u();
6145
5798
  }, l.restart = function() {
6146
5799
  l.reset(), l.play();
6147
5800
  }, l.remove = function(P) {
6148
5801
  var E = qh(P);
6149
- i1(E, l);
5802
+ t1(E, l);
6150
5803
  }, l.reset(), l.autoplay && l.play(), l;
6151
5804
  }
6152
- function xd(n, t) {
5805
+ function kd(n, t) {
6153
5806
  for (var e = t.length; e--; )
6154
5807
  Gh(n, t[e].animatable.target) && t.splice(e, 1);
6155
5808
  }
6156
- function i1(n, t) {
5809
+ function t1(n, t) {
6157
5810
  var e = t.animations, i = t.children;
6158
- xd(n, e);
5811
+ kd(n, e);
6159
5812
  for (var s = i.length; s--; ) {
6160
5813
  var o = i[s], r = o.animations;
6161
- xd(n, r), !r.length && !o.children.length && i.splice(s, 1);
5814
+ kd(n, r), !r.length && !o.children.length && i.splice(s, 1);
6162
5815
  }
6163
5816
  !e.length && !i.length && t.pause();
6164
5817
  }
6165
- function sw(n) {
5818
+ function Jy(n) {
6166
5819
  for (var t = qh(n), e = Bi.length; e--; ) {
6167
5820
  var i = Bi[e];
6168
- i1(t, i);
5821
+ t1(t, i);
6169
5822
  }
6170
5823
  }
6171
- function ow(n, t) {
5824
+ function Ky(n, t) {
6172
5825
  t === void 0 && (t = {});
6173
5826
  var e = t.direction || "normal", i = t.easing ? Nh(t.easing) : null, s = t.grid, o = t.axis, r = t.from || 0, a = r === "first", l = r === "center", c = r === "last", h = Ge.arr(n), u = parseFloat(h ? n[0] : n), d = h ? parseFloat(n[1]) : 0, p = kn(h ? n[1] : n) || 0, g = t.start || 0 + (h ? u : 0), m = [], v = 0;
6174
5827
  return function(b, P, E) {
@@ -6192,7 +5845,7 @@ function ow(n, t) {
6192
5845
  return g + I * (Math.round(m[P] * 100) / 100) + p;
6193
5846
  };
6194
5847
  }
6195
- function rw(n) {
5848
+ function $y(n) {
6196
5849
  n === void 0 && (n = {});
6197
5850
  var t = at(n);
6198
5851
  return t.duration = 0, t.add = function(e, i) {
@@ -6203,13 +5856,13 @@ function rw(n) {
6203
5856
  }
6204
5857
  for (var a = 0; a < o.length; a++)
6205
5858
  r(o[a]);
6206
- var l = Ll(e, Zc(Fh, n));
5859
+ var l = Ll(e, Yc(Fh, n));
6207
5860
  l.targets = l.targets || n.targets;
6208
5861
  var c = t.duration;
6209
5862
  l.autoplay = !1, l.direction = t.direction, l.timelineOffset = Ge.und(i) ? c : Yh(i, c), r(t), t.seek(l.timelineOffset);
6210
5863
  var h = at(l);
6211
5864
  r(h), o.push(h);
6212
- var u = e1(o, n);
5865
+ var u = $0(o, n);
6213
5866
  return t.delay = u.delay, t.endDelay = u.endDelay, t.duration = u.duration, t.seek(0), t.reset(), t.autoplay && t.play(), t;
6214
5867
  }, t;
6215
5868
  }
@@ -6217,22 +5870,22 @@ at.version = "3.2.1";
6217
5870
  at.speed = 1;
6218
5871
  at.suspendWhenDocumentHidden = !0;
6219
5872
  at.running = Bi;
6220
- at.remove = sw;
5873
+ at.remove = Jy;
6221
5874
  at.get = Xh;
6222
- at.set = $0;
5875
+ at.set = K0;
6223
5876
  at.convertPx = Uh;
6224
- at.path = Yy;
6225
- at.setDashoffset = Qy;
6226
- at.stagger = ow;
6227
- at.timeline = rw;
5877
+ at.path = Fy;
5878
+ at.setDashoffset = Vy;
5879
+ at.stagger = Ky;
5880
+ at.timeline = $y;
6228
5881
  at.easing = Nh;
6229
- at.penner = G0;
5882
+ at.penner = N0;
6230
5883
  at.random = function(n, t) {
6231
5884
  return Math.floor(Math.random() * (t - n + 1)) + n;
6232
5885
  };
6233
- const n1 = process.env.NODE_ENV === "development";
6234
- function Hr(n, t) {
6235
- n1 && console.log(`[blink] ${n}`, t);
5886
+ const i1 = process.env.NODE_ENV === "development";
5887
+ function Vr(n, t) {
5888
+ i1 && console.log(`[blink] ${n}`, t);
6236
5889
  }
6237
5890
  const Jh = {
6238
5891
  duration: 300,
@@ -6240,13 +5893,13 @@ const Jh = {
6240
5893
  direction: "alternate",
6241
5894
  loop: 4,
6242
5895
  autoplay: !1
6243
- }, s1 = {
5896
+ }, n1 = {
6244
5897
  quick: { duration: 200, loop: 2 },
6245
5898
  normal: { duration: 300, loop: 4 },
6246
5899
  slow: { duration: 500, loop: 6 },
6247
5900
  attention: { duration: 400, loop: 8, easing: "easeInOutQuad" }
6248
5901
  };
6249
- class aw {
5902
+ class ew {
6250
5903
  constructor() {
6251
5904
  f(this, "materialsToUpdate", /* @__PURE__ */ new Set());
6252
5905
  }
@@ -6272,7 +5925,7 @@ class aw {
6272
5925
  this.materialsToUpdate.clear();
6273
5926
  }
6274
5927
  }
6275
- class lw {
5928
+ class tw {
6276
5929
  constructor() {
6277
5930
  f(this, "startTime", 0);
6278
5931
  f(this, "measurements", /* @__PURE__ */ new Map());
@@ -6291,7 +5944,7 @@ class lw {
6291
5944
  */
6292
5945
  end(t) {
6293
5946
  const e = performance.now() - this.startTime;
6294
- return this.measurements.has(t) || this.measurements.set(t, []), this.measurements.get(t).push(e), n1 && Hr(`Performance [${t}]: ${e.toFixed(2)}ms`), e;
5947
+ return this.measurements.has(t) || this.measurements.set(t, []), this.measurements.get(t).push(e), i1 && Vr(`Performance [${t}]: ${e.toFixed(2)}ms`), e;
6295
5948
  }
6296
5949
  /**
6297
5950
  * 获取平均耗时
@@ -6309,11 +5962,11 @@ class lw {
6309
5962
  this.measurements.clear();
6310
5963
  }
6311
5964
  }
6312
- class cw {
5965
+ class iw {
6313
5966
  constructor() {
6314
5967
  f(this, "stateMap", /* @__PURE__ */ new WeakMap());
6315
- f(this, "materialManager", new aw());
6316
- f(this, "performanceMonitor", new lw());
5968
+ f(this, "materialManager", new ew());
5969
+ f(this, "performanceMonitor", new tw());
6317
5970
  }
6318
5971
  /**
6319
5972
  * 存储物体状态
@@ -6361,7 +6014,7 @@ class cw {
6361
6014
  visibility: t.style.visibility
6362
6015
  }
6363
6016
  };
6364
- if (jo(t))
6017
+ if (Oo(t))
6365
6018
  if (!Ls(t) && t.children.length === 0 && t.name, Ls(t)) {
6366
6019
  if (el(t)) {
6367
6020
  const i = t.material.transparent;
@@ -6391,7 +6044,7 @@ class cw {
6391
6044
  * @private
6392
6045
  */
6393
6046
  restoreSingleState(t, e) {
6394
- t instanceof HTMLElement ? (t.style.opacity = e.opacity === void 0 ? "" : String(e.opacity), typeof e.visible == "object" && e.visible !== null && (t.style.display = e.visible.display, t.style.visibility = e.visible.visibility)) : jo(t) && (typeof e.visible == "boolean" && (t.visible = e.visible), Ls(t) && (el(t) ? (t.material.uniforms.opacity !== void 0 && (t.material.uniforms.opacity.value = e.opacity !== void 0 ? Number(e.opacity) : 1), e.transparent !== void 0 && (t.material.transparent = e.transparent), this.materialManager.scheduleUpdate(t.material)) : tl(t) && (t.material.opacity = e.opacity !== void 0 ? Number(e.opacity) : 1, e.transparent !== void 0 && (t.material.transparent = e.transparent), this.materialManager.scheduleUpdate(t.material))));
6047
+ t instanceof HTMLElement ? (t.style.opacity = e.opacity === void 0 ? "" : String(e.opacity), typeof e.visible == "object" && e.visible !== null && (t.style.display = e.visible.display, t.style.visibility = e.visible.visibility)) : Oo(t) && (typeof e.visible == "boolean" && (t.visible = e.visible), Ls(t) && (el(t) ? (t.material.uniforms.opacity !== void 0 && (t.material.uniforms.opacity.value = e.opacity !== void 0 ? Number(e.opacity) : 1), e.transparent !== void 0 && (t.material.transparent = e.transparent), this.materialManager.scheduleUpdate(t.material)) : tl(t) && (t.material.opacity = e.opacity !== void 0 ? Number(e.opacity) : 1, e.transparent !== void 0 && (t.material.transparent = e.transparent), this.materialManager.scheduleUpdate(t.material))));
6395
6048
  }
6396
6049
  /**
6397
6050
  * 清空所有状态
@@ -6400,12 +6053,12 @@ class cw {
6400
6053
  this.materialManager.clear(), this.performanceMonitor.clear();
6401
6054
  }
6402
6055
  }
6403
- const Cn = /* @__PURE__ */ new WeakMap(), xn = new cw();
6404
- function jo(n) {
6056
+ const Cn = /* @__PURE__ */ new WeakMap(), xn = new iw();
6057
+ function Oo(n) {
6405
6058
  return "isObject3D" in n && n.isObject3D === !0;
6406
6059
  }
6407
6060
  function Ls(n) {
6408
- return jo(n) && "material" in n && n.material !== void 0;
6061
+ return Oo(n) && "material" in n && n.material !== void 0;
6409
6062
  }
6410
6063
  function el(n) {
6411
6064
  return Ls(n) && n.material instanceof El;
@@ -6413,15 +6066,15 @@ function el(n) {
6413
6066
  function tl(n) {
6414
6067
  return Ls(n) && !(n.material instanceof El);
6415
6068
  }
6416
- function hw(n, t) {
6417
- n instanceof HTMLElement ? n.style.opacity = String(t) : jo(n) && Ls(n) && (el(n) ? (n.material.uniforms.opacity && (n.material.uniforms.opacity.value = t), n.material.transparent = !0) : tl(n) && (n.material.opacity = t, n.material.transparent = !0));
6069
+ function nw(n, t) {
6070
+ n instanceof HTMLElement ? n.style.opacity = String(t) : Oo(n) && Ls(n) && (el(n) ? (n.material.uniforms.opacity && (n.material.uniforms.opacity.value = t), n.material.transparent = !0) : tl(n) && (n.material.opacity = t, n.material.transparent = !0));
6418
6071
  }
6419
6072
  function il() {
6420
6073
  const n = at({});
6421
6074
  return n.preComplete = () => {
6422
6075
  }, n;
6423
6076
  }
6424
- function o1(n) {
6077
+ function s1(n) {
6425
6078
  if (!n)
6426
6079
  throw new Error("Invalid objects parameter: objects cannot be null or undefined");
6427
6080
  const t = fs(n);
@@ -6430,15 +6083,15 @@ function o1(n) {
6430
6083
  if (t.some((e) => e == null))
6431
6084
  throw new Error("Invalid objects parameter: objects array contains null or undefined values");
6432
6085
  }
6433
- function r1(n, t) {
6086
+ function o1(n, t) {
6434
6087
  const e = fs(n), i = [];
6435
6088
  return e.forEach((s) => {
6436
- s && (s instanceof HTMLElement ? i.push(s) : jo(s) && (t ? (i.push(s), s.traverse((o) => {
6089
+ s && (s instanceof HTMLElement ? i.push(s) : Oo(s) && (t ? (i.push(s), s.traverse((o) => {
6437
6090
  o && i.push(o);
6438
6091
  })) : i.push(s)));
6439
6092
  }), Array.from(new Set(i.filter(Boolean)));
6440
6093
  }
6441
- function uw(n, t) {
6094
+ function sw(n, t) {
6442
6095
  const e = /* @__PURE__ */ new Map(), i = xn.getStateMap();
6443
6096
  return n.forEach((s) => {
6444
6097
  var r;
@@ -6454,11 +6107,11 @@ function uw(n, t) {
6454
6107
  if (!c)
6455
6108
  return;
6456
6109
  const h = c.initialOpacity * (100 - o) / 100;
6457
- hw(l, h);
6110
+ nw(l, h);
6458
6111
  }), (r = t.onProgress) == null || r.call(t, o), (a = t.updateRender) == null || a.call(t);
6459
6112
  };
6460
6113
  }
6461
- function dw(n, t) {
6114
+ function ow(n, t) {
6462
6115
  const e = /* @__PURE__ */ new Map(), i = xn.getStateMap();
6463
6116
  return n.forEach((s) => {
6464
6117
  var a, l;
@@ -6472,21 +6125,21 @@ function dw(n, t) {
6472
6125
  if (!c)
6473
6126
  return;
6474
6127
  const h = c.maxOpacity * (o / 100);
6475
- l instanceof HTMLElement ? (l.style.opacity = String(h), l.style.visibility = "visible") : jo(l) && (fs(n).includes(l) && (l.visible = !0), Ls(l) && (el(l) ? (l.material.uniforms.opacity && (l.material.uniforms.opacity.value = h), l.material.transparent = !0) : tl(l) && (l.material.opacity = h, l.material.transparent = !0)));
6128
+ l instanceof HTMLElement ? (l.style.opacity = String(h), l.style.visibility = "visible") : Oo(l) && (fs(n).includes(l) && (l.visible = !0), Ls(l) && (el(l) ? (l.material.uniforms.opacity && (l.material.uniforms.opacity.value = h), l.material.transparent = !0) : tl(l) && (l.material.opacity = h, l.material.transparent = !0)));
6476
6129
  }), (r = t.onProgress) == null || r.call(t, o), (a = t.updateRender) == null || a.call(t);
6477
6130
  };
6478
6131
  }
6479
6132
  function zl(n, t) {
6480
6133
  var e, i;
6481
6134
  try {
6482
- o1(n);
6483
- const s = (e = t == null ? void 0 : t.traverseTHREEObject) != null ? e : !0, o = r1(n, s);
6135
+ s1(n);
6136
+ const s = (e = t == null ? void 0 : t.traverseTHREEObject) != null ? e : !0, o = o1(n, s);
6484
6137
  if (o.length === 0)
6485
- return Hr("No valid targets found"), il();
6138
+ return Vr("No valid targets found"), il();
6486
6139
  xn.storeState(o);
6487
6140
  const r = ce(H(H({}, Jh), t), {
6488
6141
  targets: o,
6489
- update: uw(o, t || {})
6142
+ update: sw(o, t || {})
6490
6143
  }), a = at(r);
6491
6144
  a.preComplete = () => {
6492
6145
  a.completed || (a.pause(), xn.restoreState(o), setTimeout(() => {
@@ -6508,20 +6161,20 @@ function zl(n, t) {
6508
6161
  }, 100);
6509
6162
  }), a;
6510
6163
  } catch (s) {
6511
- return Hr("Blink animation failed:", s), il();
6164
+ return Vr("Blink animation failed:", s), il();
6512
6165
  }
6513
6166
  }
6514
- function a1(n, t) {
6167
+ function r1(n, t) {
6515
6168
  var e, i;
6516
6169
  try {
6517
- o1(n);
6518
- const s = (e = t == null ? void 0 : t.traverseTHREEObject) != null ? e : !0, o = r1(n, s);
6170
+ s1(n);
6171
+ const s = (e = t == null ? void 0 : t.traverseTHREEObject) != null ? e : !0, o = o1(n, s);
6519
6172
  if (o.length === 0)
6520
- return Hr("No valid targets found"), il();
6173
+ return Vr("No valid targets found"), il();
6521
6174
  xn.storeState(o);
6522
6175
  const r = ce(H(H({}, Jh), t), {
6523
6176
  targets: o,
6524
- update: dw(o, t || {})
6177
+ update: ow(o, t || {})
6525
6178
  }), a = at(r);
6526
6179
  a.preComplete = () => {
6527
6180
  a.completed || (a.pause(), xn.restoreState(o), setTimeout(() => {
@@ -6543,32 +6196,381 @@ function a1(n, t) {
6543
6196
  }, 100);
6544
6197
  }), a;
6545
6198
  } catch (s) {
6546
- return Hr("ReBlink animation failed:", s), il();
6199
+ return Vr("ReBlink animation failed:", s), il();
6547
6200
  }
6548
6201
  }
6549
- function fw(n, t, e) {
6550
- const i = s1[t];
6202
+ function rw(n, t, e) {
6203
+ const i = n1[t];
6551
6204
  return zl(n, H(H({}, i), e));
6552
6205
  }
6553
- function gw() {
6206
+ function aw() {
6554
6207
  xn.clear();
6555
6208
  }
6556
- function pw(n, t) {
6209
+ function lw(n, t) {
6557
6210
  const e = Ci(n), { x: i, y: s } = t, o = i * 2 - 1, r = s * 2 - 1, a = new w.Raycaster();
6558
6211
  a.setFromCamera({ x: o, y: r }, n.camera);
6559
6212
  const c = e.intersectRaycaster(a)[0];
6560
6213
  if (c)
6561
6214
  return ce(H({}, c), { raycaster: a, isVirtual: !1 });
6562
6215
  }
6563
- function mw(n, t) {
6216
+ function cw(n, t) {
6564
6217
  const e = n.getElement();
6565
6218
  if (!e)
6566
6219
  return;
6567
6220
  const i = C0(t, e), s = new w.Raycaster();
6568
6221
  return s.setFromCamera(i, n.camera), s;
6569
6222
  }
6570
- const vw = "data:image/png;base64,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", l1 = "v2.0.1", Sd = `CSS3DRenderPlugin@${l1}`;
6571
- let Aw = class extends Br {
6223
+ const hw = "data:image/png;base64,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";
6224
+ function jo(n) {
6225
+ const t = [];
6226
+ return fs(n).forEach((i) => {
6227
+ i.traverse((s) => {
6228
+ (s.isCSS3DObjectPlus || s.isCSS3DObject || s.isCSS3DSprite) && t.push(s);
6229
+ });
6230
+ }), t;
6231
+ }
6232
+ class uw extends w.Scene {
6233
+ constructor() {
6234
+ super();
6235
+ }
6236
+ add(...t) {
6237
+ return super.add(...t), jo(t).forEach((e) => {
6238
+ e.mode = "front";
6239
+ }), this;
6240
+ }
6241
+ }
6242
+ class dw extends w.Scene {
6243
+ constructor(e) {
6244
+ super();
6245
+ f(this, "scene");
6246
+ if (!e)
6247
+ throw new Error("CSS3DBehindScene: scene is required");
6248
+ this.scene = e;
6249
+ }
6250
+ add(...e) {
6251
+ return super.add(...e), jo(e).forEach((i) => {
6252
+ i.mode = "behind", this.scene.add(i.getOpacityMesh());
6253
+ }), this;
6254
+ }
6255
+ remove(...e) {
6256
+ return jo(e).forEach((i) => {
6257
+ var s;
6258
+ (s = i.opacityMesh) == null || s.removeFromParent(), i.opacityMesh = null;
6259
+ }), super.remove(...e), this;
6260
+ }
6261
+ }
6262
+ class a1 extends w.Group {
6263
+ constructor(e) {
6264
+ super();
6265
+ f(this, "isCSS3DGroup", !0);
6266
+ f(this, "mode");
6267
+ f(this, "CSS3DObjectLength", 0);
6268
+ this.mode = e;
6269
+ }
6270
+ add(...e) {
6271
+ return jo(e).forEach((i) => {
6272
+ i.mode = this.mode;
6273
+ }), super.add(...e), this.updateLength(), this;
6274
+ }
6275
+ setVisible(e) {
6276
+ this.visible = e, this.traverse((i) => {
6277
+ i.isCSS3DObjectPlus && i.updateVisible();
6278
+ });
6279
+ }
6280
+ remove(...e) {
6281
+ return super.remove(...e), this.updateLength(), this;
6282
+ }
6283
+ updateLength() {
6284
+ this.CSS3DObjectLength = jo(this).length;
6285
+ }
6286
+ }
6287
+ class fw extends a1 {
6288
+ constructor() {
6289
+ super("front");
6290
+ }
6291
+ }
6292
+ class gw extends a1 {
6293
+ constructor(e) {
6294
+ super("behind");
6295
+ f(this, "scene");
6296
+ if (!e)
6297
+ throw new Error("CSS3DBehindScene: scene is required");
6298
+ this.scene = e;
6299
+ }
6300
+ add(...e) {
6301
+ return jo(e).forEach((i) => {
6302
+ this.scene.add(i.getOpacityMesh());
6303
+ }), super.add(...e), this;
6304
+ }
6305
+ }
6306
+ const pw = 3, qc = "CSS3DRenderer", Pr = `${qc}@${pw}`, ho = () => {
6307
+ console.error(`${Pr} is disposed`);
6308
+ }, xt = {
6309
+ css3DObjects: [],
6310
+ frontModeStore: {
6311
+ css3DRenderer: new Ka()
6312
+ },
6313
+ behindModeStore: {
6314
+ css3DRenderer: new Ka()
6315
+ }
6316
+ };
6317
+ function xd(n) {
6318
+ return xt.css3DObjects.find((t) => t.id === n);
6319
+ }
6320
+ function mw(n) {
6321
+ xt.frontModeStore.css3DRenderer.setWrapper(n);
6322
+ }
6323
+ function vw(n) {
6324
+ xt.behindModeStore.css3DRenderer.setWrapper(n);
6325
+ }
6326
+ class Hr {
6327
+ // eslint-disable-next-line @typescript-eslint/no-useless-constructor
6328
+ constructor(t) {
6329
+ f(this, "hooks", new Mt());
6330
+ f(this, "state", {
6331
+ enabled: !0,
6332
+ visible: !0,
6333
+ disposed: !1
6334
+ });
6335
+ f(this, "_scene");
6336
+ f(this, "store", {
6337
+ frontModeGroup: new fw()
6338
+ });
6339
+ /**
6340
+ * @description 根据传入的四个点位创建一个 3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
6341
+ * @param { Vector3Position[] } points 矩形四个点坐标
6342
+ * @param params 均为可选值
6343
+ * @config_document `params` 均为可选值
6344
+ * | key | type | defaultValue | comment |
6345
+ * | - | - | - | - |
6346
+ * | `ratio` | *`number`* | `0.00216` | 1px对应多少米,默认为 0.00216,即1px对应2.16mm |
6347
+ * | `devicePixelRatio` | *`number`* | `1` | 设备的物理像素分辨率与CSS像素分辨率的比值 |
6348
+ * | `container` | *`HTMLElement`* | `undefined` | 自定义 return 中的 `container`
6349
+ * | `pointerEvents` | *`'none'\|'auto'`* | `'none'` | container 的 css属性:`pointer-events` 的值 |
6350
+ * | `autoRender` | *`boolean`* | `true` | 是否自动渲染,通常为true |
6351
+ * | `mode` | *`'front'\|'behind'`* | `front` | 两种模式:|
6352
+ * | | | | `front` 模式:DOM 处于 five Canvas 上方,所以无法模拟遮挡效果,需要手动检测是否可见去设置显隐 |
6353
+ * | | | | `behind` 模式:DOM 处于 five Canvas 下方,可以模拟真实的遮挡效果,但是 DOM 必须是非透明的 |
6354
+ * | `scene` | *`THREE.Scene`* | `undefined` | 如果 mode 为 `behind`,需要传入 |
6355
+ *
6356
+ * @return
6357
+ * ```typescript
6358
+ * {
6359
+ * id: string, // id
6360
+ * container: HTMLDIVElement // dom容器
6361
+ * dispose: () => void // 销毁
6362
+ * css3DObject: CSS3DObject // THREE.CSS3DObject 实例
6363
+ * render?: () => void // 渲染函数,当 config.autoRender = true || undefined 时为 undefined
6364
+ * setVisible: (visible: boolean) => void // 设置显隐, 同 setVisibleById(id, visible)
6365
+ * show: () => void // 同 setVisible(true)
6366
+ * hide: () => void // 同 setVisible(false)
6367
+ * setEnabled: (enabled: boolean) => void // 添加/移除 container, 同 setEnabledById(id, enabled)
6368
+ * enable: () => void // 同 setEnabled(true)
6369
+ * disable: () => void // 同 setEnabled(false)
6370
+ * } | void
6371
+ * ```
6372
+ */
6373
+ f(this, "create3DElement", (t, e, i) => {
6374
+ if (this.state.disposed)
6375
+ return ho();
6376
+ const s = (() => {
6377
+ const z = {
6378
+ ratio: 216e-5,
6379
+ devicePixelRatio: 1,
6380
+ mode: "front",
6381
+ autoRender: !0,
6382
+ container: document.createElement("div"),
6383
+ pointerEvents: "none",
6384
+ wrapperStyle: {}
6385
+ };
6386
+ return Object.assign(z, i);
6387
+ })(), o = e.map(Ue);
6388
+ if ((o == null ? void 0 : o.length) < 4)
6389
+ return console.error(`${Pr}: requires 4 point but params may have fewer`);
6390
+ const { ratio: r, devicePixelRatio: a, mode: l, autoRender: c, container: h, pointerEvents: u, wrapperStyle: d } = s;
6391
+ let p = !1;
6392
+ const g = this.createObject(o, { ratio: r, dpr: a, container: h, mode: l, pointerEvents: u, wrapperStyle: d });
6393
+ xt.css3DObjects.push(g), s.scene && this.setScene(s.scene);
6394
+ const m = () => {
6395
+ if (p)
6396
+ return;
6397
+ const z = g.mode === "front" ? this.getFrontCSS3DObjectGroup() : this.getBehindCSS3DObjectGroup();
6398
+ z && z.add(g);
6399
+ }, v = () => {
6400
+ p || (m(), this.render(t), this.hooks.emit("render"));
6401
+ }, b = (z) => this.setVisibleById(g.id, z), P = (z) => this.setEnabledById(g.id, z), E = () => (p = !0, g.removeFromParent(), !0), M = l === "front" ? xt.frontModeStore.css3DRenderer : xt.behindModeStore.css3DRenderer;
6402
+ return c && v(), {
6403
+ id: g.uuid,
6404
+ container: h,
6405
+ css3DObject: g,
6406
+ render: c ? void 0 : v,
6407
+ show: () => b(!0),
6408
+ hide: () => b(!1),
6409
+ setVisible: b,
6410
+ enable: () => P(!0),
6411
+ disable: () => P(!1),
6412
+ setEnabled: P,
6413
+ dispose: E,
6414
+ appendToElement: (z) => M.setWrapper(z)
6415
+ };
6416
+ });
6417
+ f(this, "setVisibleById", (t, e) => {
6418
+ var i;
6419
+ (i = xd(t)) == null || i.setVisible(e);
6420
+ });
6421
+ f(this, "setEnabledById", (t, e) => {
6422
+ const i = xd(t);
6423
+ if (!i)
6424
+ return;
6425
+ const s = i.mode === "front" ? this.getFrontCSS3DObjectGroup({ addGroupIfNotExists: !1 }) : this.getBehindCSS3DObjectGroup({ addGroupIfNotExists: !1 });
6426
+ s && (e ? s.add(i) : s.remove(i));
6427
+ });
6428
+ f(this, "createObject", (t, e) => {
6429
+ const i = new L0(ce(H({ cornerPoints: t }, e), { style: e.wrapperStyle }));
6430
+ return i.element.classList.add(`${qc}__container`), i.element.id = `${qc}__container--${i.uuid}`, i;
6431
+ });
6432
+ t && this.setScene(t);
6433
+ }
6434
+ get scene() {
6435
+ return this._scene || console.error("scene doesn't exist!, please call setScene(scene) first"), this._scene;
6436
+ }
6437
+ static get frontModeCSS3DRenderer() {
6438
+ return xt.frontModeStore.css3DRenderer;
6439
+ }
6440
+ static get behindModeCSS3DRenderer() {
6441
+ return xt.behindModeStore.css3DRenderer;
6442
+ }
6443
+ get frontModeCSS3DRenderer() {
6444
+ return xt.frontModeStore.css3DRenderer;
6445
+ }
6446
+ get behindModeCSS3DRenderer() {
6447
+ return xt.behindModeStore.css3DRenderer;
6448
+ }
6449
+ setScene(t) {
6450
+ this._scene = t;
6451
+ }
6452
+ getCurrentState() {
6453
+ return this.state;
6454
+ }
6455
+ setState(t, e = { userAction: !0 }) {
6456
+ if (this.state.disposed)
6457
+ return ho();
6458
+ const i = H({}, this.state);
6459
+ this.state = Object.assign(this.state, t), i.visible !== this.state.visible && (t.visible ? this.handleShow() : this.handleHide()), i.enabled !== this.state.enabled && (t.enabled ? this.handleEnable() : this.handleDisable()), i.disposed !== this.state.disposed && this.handleDispose(), this.hooks.emit("stateChange", { state: this.state, prevState: i, userAction: e.userAction });
6460
+ }
6461
+ dispose() {
6462
+ this.setState({ disposed: !0 }), this.hooks.emit("dispose");
6463
+ }
6464
+ show() {
6465
+ return ie(this, arguments, function* ({ userAction: t } = { userAction: !0 }) {
6466
+ if (this.state.disposed)
6467
+ return ho();
6468
+ this.setState({ visible: !0 }, { userAction: t }), this.hooks.emit("show", { userAction: t });
6469
+ });
6470
+ }
6471
+ hide() {
6472
+ return ie(this, arguments, function* ({ userAction: t } = { userAction: !0 }) {
6473
+ if (this.state.disposed)
6474
+ return ho();
6475
+ this.setState({ visible: !1 }, { userAction: t }), this.hooks.emit("hide", { userAction: t });
6476
+ });
6477
+ }
6478
+ enable({ userAction: t } = { userAction: !0 }) {
6479
+ if (this.state.disposed)
6480
+ return ho();
6481
+ this.setState({ enabled: !0 }, { userAction: t }), this.hooks.emit("enable", { userAction: t });
6482
+ }
6483
+ disable({ userAction: t } = { userAction: !0 }) {
6484
+ if (this.state.disposed)
6485
+ return ho();
6486
+ this.setState({ enabled: !1 }, { userAction: t }), this.hooks.emit("disable", { userAction: t });
6487
+ }
6488
+ getFrontCSS3DScene({ createSceneIfNotExists: t = !1 } = {}) {
6489
+ var i;
6490
+ const e = (i = xt.frontModeStore) == null ? void 0 : i.css3DScene;
6491
+ if (e)
6492
+ return e;
6493
+ if (t) {
6494
+ const s = new uw();
6495
+ xt.frontModeStore.css3DScene = s;
6496
+ }
6497
+ return xt.frontModeStore.css3DScene;
6498
+ }
6499
+ getBehindCSS3DScene({ createSceneIfNotExists: t = !1 } = {}) {
6500
+ var i, s;
6501
+ const e = (i = xt.behindModeStore) == null ? void 0 : i.css3DScene;
6502
+ if (e)
6503
+ return e;
6504
+ if (t) {
6505
+ const o = (s = xt.behindModeStore.scene) != null ? s : this.scene;
6506
+ if (!o) {
6507
+ console.error(`${Pr}: scene is required when mode is behind`);
6508
+ return;
6509
+ }
6510
+ const r = new dw(o);
6511
+ xt.behindModeStore.css3DScene = r, xt.behindModeStore.scene = o;
6512
+ }
6513
+ return xt.behindModeStore.css3DScene;
6514
+ }
6515
+ getFrontCSS3DObjectGroup({ addGroupIfNotExists: t = !0 } = {}) {
6516
+ const e = this.getFrontCSS3DScene({ createSceneIfNotExists: t });
6517
+ return t && e && (e.getObjectById(this.store.frontModeGroup.id) || e.add(this.store.frontModeGroup)), this.store.frontModeGroup;
6518
+ }
6519
+ getBehindCSS3DObjectGroup({ addGroupIfNotExists: t = !0 } = {}) {
6520
+ var i;
6521
+ const e = this.getBehindCSS3DScene({ createSceneIfNotExists: t });
6522
+ if (t && e && this.scene) {
6523
+ const s = (i = this.store.behindModeGroup) != null ? i : new gw(this.scene);
6524
+ this.store.behindModeGroup = s, e.getObjectById(s.id) || e.add(s);
6525
+ }
6526
+ return this.store.behindModeGroup;
6527
+ }
6528
+ render(t) {
6529
+ var e, i;
6530
+ if (this.getFrontCSS3DObjectGroup({ addGroupIfNotExists: !1 }).CSS3DObjectLength > 0) {
6531
+ const s = this.getFrontCSS3DScene({ createSceneIfNotExists: !0 });
6532
+ if (!s)
6533
+ return console.error(`${Pr}: css3DScene is required when mode is front`);
6534
+ xt.frontModeStore.css3DRenderer.renderEveryFrame(s, t);
6535
+ }
6536
+ if (((i = (e = this.getBehindCSS3DObjectGroup({ addGroupIfNotExists: !1 })) == null ? void 0 : e.CSS3DObjectLength) != null ? i : 0) > 0) {
6537
+ const s = this.getBehindCSS3DScene({ createSceneIfNotExists: !0 });
6538
+ if (!s)
6539
+ return console.error(`${Pr}: css3DScene is required when mode is behind`);
6540
+ xt.behindModeStore.css3DRenderer.renderEveryFrame(s, t);
6541
+ }
6542
+ }
6543
+ handleShow() {
6544
+ return ie(this, null, function* () {
6545
+ var t;
6546
+ this.store.frontModeGroup.setVisible(!0), (t = this.store.behindModeGroup) == null || t.setVisible(!0);
6547
+ });
6548
+ }
6549
+ handleHide() {
6550
+ return ie(this, null, function* () {
6551
+ var t;
6552
+ this.store.frontModeGroup.setVisible(!1), (t = this.store.behindModeGroup) == null || t.setVisible(!1);
6553
+ });
6554
+ }
6555
+ handleEnable() {
6556
+ var t, e;
6557
+ (t = this.getFrontCSS3DScene()) == null || t.add(this.store.frontModeGroup), this.store.behindModeGroup && ((e = this.getBehindCSS3DScene()) == null || e.add(this.store.behindModeGroup));
6558
+ }
6559
+ handleDisable() {
6560
+ var t, e, i;
6561
+ this.store.frontModeGroup.children.forEach((s) => {
6562
+ s instanceof Sn && s.element instanceof Element && s.element.parentNode !== null && s.element.remove();
6563
+ }), (t = this.store.behindModeGroup) == null || t.children.forEach((s) => {
6564
+ s instanceof Sn && s.element instanceof Element && s.element.parentNode !== null && s.element.remove();
6565
+ }), (e = this.getFrontCSS3DScene()) == null || e.remove(this.store.frontModeGroup), this.store.behindModeGroup && ((i = this.getBehindCSS3DScene()) == null || i.remove(this.store.behindModeGroup));
6566
+ }
6567
+ handleDispose() {
6568
+ this.handleDisable();
6569
+ }
6570
+ }
6571
+ f(Hr, "setFrontModeContainer", mw), f(Hr, "setBehindModeContainer", vw);
6572
+ const l1 = "v2.0.1", Sd = `CSS3DRenderPlugin@${l1}`;
6573
+ let Aw = class extends Hr {
6572
6574
  constructor(e) {
6573
6575
  super();
6574
6576
  f(this, "five");
@@ -6696,7 +6698,7 @@ class bw {
6696
6698
  const { container: r, dispose: a, css3DObject: l } = o;
6697
6699
  this.container = r, this.css3DObject = l, this.disposeCss3DObject = a;
6698
6700
  }
6699
- this.contentElement.style.width = "100%", this.contentElement.style.height = "100%", this.contentElement.style.backgroundImage = `url(${vw})`, this.contentElement.style.backgroundSize = "100%", this.contentElement.style.backgroundRepeat = "no-repeat";
6701
+ this.contentElement.style.width = "100%", this.contentElement.style.height = "100%", this.contentElement.style.backgroundImage = `url(${hw})`, this.contentElement.style.backgroundSize = "100%", this.contentElement.style.backgroundRepeat = "no-repeat";
6700
6702
  }
6701
6703
  enable() {
6702
6704
  var t;
@@ -6739,7 +6741,7 @@ void main() {
6739
6741
  }
6740
6742
  `;
6741
6743
  function Pw() {
6742
- const n = new w.PlaneGeometry(0.4, 0.4), t = z0, e = new w.TextureLoader().load(t);
6744
+ const n = new w.PlaneGeometry(0.4, 0.4), t = S0, e = new w.TextureLoader().load(t);
6743
6745
  e.encoding = w.sRGBEncoding, e.minFilter = w.LinearFilter;
6744
6746
  const i = new w.MeshBasicMaterial({
6745
6747
  map: e,
@@ -6802,7 +6804,7 @@ function Mw(n, t, e) {
6802
6804
  var P, E, M;
6803
6805
  if (!t)
6804
6806
  return;
6805
- const i = V0(t);
6807
+ const i = B0(t);
6806
6808
  if (!i)
6807
6809
  return;
6808
6810
  const s = new kl(n), o = (P = e == null ? void 0 : e.scale) != null ? P : 1.4, r = i.center, a = n.camera.position.clone().sub(r).setY(0).normalize(), l = n.state.mode === "Mapview" ? n.state.fov : 60, h = Math.max(1.5, i.radius * o), u = h * (1 / Math.tan(w.MathUtils.degToRad(l / 2)));
@@ -7014,7 +7016,7 @@ class Ro {
7014
7016
  })))
7015
7017
  continue;
7016
7018
  }
7017
- if (((M = this.config) != null && M.noEmitWhenHide || A != null && A.noEmitWhenHide) && !_h(D))
7019
+ if (((M = this.config) != null && M.noEmitWhenHide || A != null && A.noEmitWhenHide) && !Vh(D))
7018
7020
  continue;
7019
7021
  if (g = !0, e === "hover") {
7020
7022
  if (D._hovered)
@@ -7302,7 +7304,7 @@ class Vw {
7302
7304
  }
7303
7305
  const aT = (n, t) => {
7304
7306
  var C, I;
7305
- const e = new kt();
7307
+ const e = new Mt();
7306
7308
  let i = (I = (C = t == null ? void 0 : t.initialState) == null ? void 0 : C.enabled) != null ? I : !0, s = !1, o = !0, r = null;
7307
7309
  const l = H(H({}, {
7308
7310
  lookAtCurrentCamera: !1,
@@ -7532,7 +7534,7 @@ function us(n) {
7532
7534
  }
7533
7535
  return -1;
7534
7536
  }
7535
- function Ct(n) {
7537
+ function Pt(n) {
7536
7538
  return n == null ? "" : n;
7537
7539
  }
7538
7540
  function ri(n) {
@@ -7782,7 +7784,7 @@ function w1() {
7782
7784
  function cl() {
7783
7785
  return w1(), y1;
7784
7786
  }
7785
- function wt(n) {
7787
+ function yt(n) {
7786
7788
  xo.push(n);
7787
7789
  }
7788
7790
  function Bl(n) {
@@ -7819,7 +7821,7 @@ function Yw(n) {
7819
7821
  if (n.fragment !== null) {
7820
7822
  n.update(), ct(n.before_update);
7821
7823
  const t = n.dirty;
7822
- n.dirty = [-1], n.fragment && n.fragment.p(n.ctx, t), n.after_update.forEach(wt);
7824
+ n.dirty = [-1], n.fragment && n.fragment.p(n.ctx, t), n.after_update.forEach(yt);
7823
7825
  }
7824
7826
  }
7825
7827
  function Zw(n) {
@@ -7872,7 +7874,7 @@ function ps(n, t, e) {
7872
7874
  const { delay: d = 0, duration: p = 300, easing: g = Dn, tick: m = se, css: v } = s || gu;
7873
7875
  v && (r = rl(n, 0, 1, p, d, g, v, l++)), m(0, 1);
7874
7876
  const b = au() + d, P = b + p;
7875
- a && a.abort(), o = !0, wt(() => zs(n, !0, "start")), a = cu((E) => {
7877
+ a && a.abort(), o = !0, yt(() => zs(n, !0, "start")), a = cu((E) => {
7876
7878
  if (o) {
7877
7879
  if (E >= P)
7878
7880
  return m(1, 0), zs(n, !0, "end"), c(), o = !1;
@@ -7906,7 +7908,7 @@ function Ko(n, t, e) {
7906
7908
  const { delay: c = 0, duration: h = 300, easing: u = Dn, tick: d = se, css: p } = s || gu;
7907
7909
  p && (r = rl(n, 1, 0, h, c, u, p));
7908
7910
  const g = au() + c, m = g + h;
7909
- wt(() => zs(n, !1, "start")), cu((v) => {
7911
+ yt(() => zs(n, !1, "start")), cu((v) => {
7910
7912
  if (o) {
7911
7913
  if (v >= m)
7912
7914
  return d(0, 1), zs(n, !1, "end"), --a.r || ct(a.c), !1;
@@ -7949,7 +7951,7 @@ function zi(n, t, e, i) {
7949
7951
  start: au() + g,
7950
7952
  b: p
7951
7953
  };
7952
- p || (E.group = $i, $i.r += 1), a || l ? l = E : (P && (h(), c = rl(n, r, p, m, g, v, P)), p && b(0, 1), a = u(E, m), wt(() => zs(n, p, "start")), cu((M) => {
7954
+ p || (E.group = $i, $i.r += 1), a || l ? l = E : (P && (h(), c = rl(n, r, p, m, g, v, P)), p && b(0, 1), a = u(E, m), yt(() => zs(n, p, "start")), cu((M) => {
7953
7955
  if (l && M > l.start && (a = u(l, m), l = null, zs(n, a.b, "start"), P && (h(), c = rl(n, r, a.b, a.duration, 0, v, o.css))), a) {
7954
7956
  if (M >= a.end)
7955
7957
  b(r = a.b, 1 - r), zs(n, a.b, "end"), l || (a.b ? h() : --a.group.r || ct(a.group.c)), a = null;
@@ -8074,10 +8076,10 @@ function pe(n) {
8074
8076
  }
8075
8077
  function fe(n, t, e, i) {
8076
8078
  const { fragment: s, after_update: o } = n.$$;
8077
- s && s.m(t, e), i || wt(() => {
8079
+ s && s.m(t, e), i || yt(() => {
8078
8080
  const r = n.$$.on_mount.map(d1).filter(oi);
8079
8081
  n.$$.on_destroy ? n.$$.on_destroy.push(...r) : ct(r), n.$$.on_mount = [];
8080
- }), o.forEach(wt);
8082
+ }), o.forEach(yt);
8081
8083
  }
8082
8084
  function ge(n, t) {
8083
8085
  const e = n.$$;
@@ -8239,7 +8241,7 @@ class $w {
8239
8241
  }
8240
8242
  let gc = null;
8241
8243
  const e2 = () => (gc || (gc = new $w()), gc), aa = () => typeof window == "undefined" ? "md" : e2();
8242
- function It(n, t = 16) {
8244
+ function Ct(n, t = 16) {
8243
8245
  return (Number(typeof n == "string" ? n.replace(/px/g, "") : n) / t).toFixed(5) + "rem";
8244
8246
  }
8245
8247
  function t2(n) {
@@ -8366,11 +8368,11 @@ function n2(n, t, e) {
8366
8368
  var p;
8367
8369
  n.$$.dirty & /*fontSize*/
8368
8370
  64 && e(9, i = mu[u]), n.$$.dirty & /*fontConfig*/
8369
- 512 && e(3, s = It((i == null ? void 0 : i.name) || 12)), n.$$.dirty & /*fontConfig*/
8371
+ 512 && e(3, s = Ct((i == null ? void 0 : i.name) || 12)), n.$$.dirty & /*fontConfig*/
8370
8372
  512 && e(8, o = ((p = i == null ? void 0 : i.padding) == null ? void 0 : p.room) || [6, 5]), n.$$.dirty & /*padding*/
8371
- 256 && e(2, r = `${It(o[1])} ${It(o[0])}`), n.$$.dirty & /*fontConfig, padding*/
8373
+ 256 && e(2, r = `${Ct(o[1])} ${Ct(o[0])}`), n.$$.dirty & /*fontConfig, padding*/
8372
8374
  768 && e(7, a = ((i == null ? void 0 : i.lineHeight) || 14) + o[1] * 2), n.$$.dirty & /*textHeight*/
8373
- 128 && e(1, l = It(-(64 - a)));
8375
+ 128 && e(1, l = Ct(-(64 - a)));
8374
8376
  }, [
8375
8377
  h,
8376
8378
  l,
@@ -9844,8 +9846,8 @@ function i3(n, t, e) {
9844
9846
  1207959552 && e(14, g = c || ae), n.$$.dirty[0] & /*wrapperLabelVisible, isHovered*/
9845
9847
  671088640 && e(13, m = d || ae), n.$$.dirty[0] & /*mainLabelVisible, wrapperLabelVisible*/
9846
9848
  1610612736 && e(12, v = c && !d), n.$$.dirty[0] & /*fontConfig*/
9847
- 268435456 && e(11, b = It((i == null ? void 0 : i.name) || 12)), n.$$.dirty[0] & /*fontConfig*/
9848
- 268435456 && e(10, P = It((i == null ? void 0 : i.area) || 10));
9849
+ 268435456 && e(11, b = Ct((i == null ? void 0 : i.name) || 12)), n.$$.dirty[0] & /*fontConfig*/
9850
+ 268435456 && e(10, P = Ct((i == null ? void 0 : i.area) || 10));
9849
9851
  }, [
9850
9852
  M,
9851
9853
  z,
@@ -12327,7 +12329,7 @@ function aP(n) {
12327
12329
  }
12328
12330
  return e = l(n), i = a[e] = r[e](n), {
12329
12331
  c() {
12330
- t = W("div"), i.c(), y(t, "class", s = Ct(`floorplan-plugin__floor${/*isCurrent*/
12332
+ t = W("div"), i.c(), y(t, "class", s = Pt(`floorplan-plugin__floor${/*isCurrent*/
12331
12333
  n[1] ? " floorplan-plugin__floor--is-current" : ""}`) + " svelte-bl8zrz");
12332
12334
  },
12333
12335
  m(c, h) {
@@ -12338,7 +12340,7 @@ function aP(n) {
12338
12340
  e = l(c), e === u ? a[e].p(c, h) : (Me(), Y(a[u], 1, 1, () => {
12339
12341
  a[u] = null;
12340
12342
  }), ke(), i = a[e], i ? i.p(c, h) : (i = a[e] = r[e](c), i.c()), F(i, 1), i.m(t, null)), (!o || h & /*isCurrent*/
12341
- 2 && s !== (s = Ct(`floorplan-plugin__floor${/*isCurrent*/
12343
+ 2 && s !== (s = Pt(`floorplan-plugin__floor${/*isCurrent*/
12342
12344
  c[1] ? " floorplan-plugin__floor--is-current" : ""}`) + " svelte-bl8zrz")) && y(t, "class", s);
12343
12345
  },
12344
12346
  i(c) {
@@ -12482,7 +12484,7 @@ function df(n) {
12482
12484
  if (!i) {
12483
12485
  for (let l = 0; l < s.length; l += 1)
12484
12486
  F(o[l]);
12485
- e || wt(() => {
12487
+ e || yt(() => {
12486
12488
  e = ps(t, _t, {
12487
12489
  duration: (
12488
12490
  /*duration*/
@@ -12976,7 +12978,7 @@ let ms = class {
12976
12978
  /**
12977
12979
  * @realsee/dnalogel 版本号
12978
12980
  */
12979
- f(this, "VERSION", "3.70.0");
12981
+ f(this, "VERSION", "3.70.1");
12980
12982
  f(this, "NAME");
12981
12983
  f(this, "five");
12982
12984
  f(this, "workUtil");
@@ -12984,7 +12986,7 @@ let ms = class {
12984
12986
  /**
12985
12987
  * @description: 插件事件钩子
12986
12988
  */
12987
- f(this, "hooks", new kt());
12989
+ f(this, "hooks", new Mt());
12988
12990
  f(this, "staticPrefix", jl);
12989
12991
  this.five = t, this.fiveUtil = new kl(t), this.workUtil = this.fiveUtil.workUtil, e != null && e.staticPrefix && (this.staticPrefix = e.staticPrefix);
12990
12992
  }
@@ -22584,7 +22586,7 @@ function i5(n) {
22584
22586
  let t, e;
22585
22587
  return {
22586
22588
  c() {
22587
- t = W("em"), y(t, "class", e = Ct(
22589
+ t = W("em"), y(t, "class", e = Pt(
22588
22590
  /*rulerItemProp*/
22589
22591
  n[0].state ? "em-solid" : "em-dotted"
22590
22592
  ) + " svelte-1h27ktp"), y(
@@ -22599,7 +22601,7 @@ function i5(n) {
22599
22601
  },
22600
22602
  p(i, s) {
22601
22603
  s & /*rulerItemProp*/
22602
- 1 && e !== (e = Ct(
22604
+ 1 && e !== (e = Pt(
22603
22605
  /*rulerItemProp*/
22604
22606
  i[0].state ? "em-solid" : "em-dotted"
22605
22607
  ) + " svelte-1h27ktp") && y(t, "class", e), s & /*vars*/
@@ -22620,7 +22622,7 @@ function Kf(n) {
22620
22622
  n[6].width}px`;
22621
22623
  return {
22622
22624
  c() {
22623
- t = W("div"), y(t, "class", e = Ct(
22625
+ t = W("div"), y(t, "class", e = Pt(
22624
22626
  /*child*/
22625
22627
  n[6].state ? "em-solid" : "em-dotted"
22626
22628
  ) + " svelte-1h27ktp"), y(
@@ -22635,7 +22637,7 @@ function Kf(n) {
22635
22637
  },
22636
22638
  p(s, o) {
22637
22639
  o & /*rulerItemProp*/
22638
- 1 && e !== (e = Ct(
22640
+ 1 && e !== (e = Pt(
22639
22641
  /*child*/
22640
22642
  s[6].state ? "em-solid" : "em-dotted"
22641
22643
  ) + " svelte-1h27ktp") && y(t, "class", e), o & /*vars*/
@@ -22673,7 +22675,7 @@ function n5(n) {
22673
22675
  let g = p(n), m = g(n);
22674
22676
  return {
22675
22677
  c() {
22676
- t = W("div"), m.c(), e = re(), i = W("div"), s = W("div"), r = Re(o), y(s, "class", "PanoRulerPlugin-rule-label-name svelte-1h27ktp"), wt(() => (
22678
+ t = W("div"), m.c(), e = re(), i = W("div"), s = W("div"), r = Re(o), y(s, "class", "PanoRulerPlugin-rule-label-name svelte-1h27ktp"), yt(() => (
22677
22679
  /*div0_elementresize_handler*/
22678
22680
  n[4].call(s)
22679
22681
  )), y(i, "class", "PanoRulerPlugin-rule-label svelte-1h27ktp"), j(i, "left", l), y(t, "class", "PanoRulerPlugin-rule-line svelte-1h27ktp"), j(t, "width", c), j(t, "left", h), j(t, "top", u), j(t, "transform", d), j(
@@ -23799,7 +23801,7 @@ function Ws(n, t) {
23799
23801
  t || (t = n);
23800
23802
  var e = n, i;
23801
23803
  do
23802
- if (i = !1, !e.steiner && (Gl(e, e.next) || bt(e.prev, e, e.next) === 0)) {
23804
+ if (i = !1, !e.steiner && (Gl(e, e.next) || At(e.prev, e, e.next) === 0)) {
23803
23805
  if (Xr(e), e = t = e.prev, e === e.next)
23804
23806
  break;
23805
23807
  i = !0;
@@ -23825,10 +23827,10 @@ function Ur(n, t, e, i, s, o, r) {
23825
23827
  }
23826
23828
  function D5(n) {
23827
23829
  var t = n.prev, e = n, i = n.next;
23828
- if (bt(t, e, i) >= 0)
23830
+ if (At(t, e, i) >= 0)
23829
23831
  return !1;
23830
23832
  for (var s = t.x, o = e.x, r = i.x, a = t.y, l = e.y, c = i.y, h = s < o ? s < r ? s : r : o < r ? o : r, u = a < l ? a < c ? a : c : l < c ? l : c, d = s > o ? s > r ? s : r : o > r ? o : r, p = a > l ? a > c ? a : c : l > c ? l : c, g = i.next; g !== t; ) {
23831
- if (g.x >= h && g.x <= d && g.y >= u && g.y <= p && bo(s, a, o, l, r, c, g.x, g.y) && bt(g.prev, g, g.next) >= 0)
23833
+ if (g.x >= h && g.x <= d && g.y >= u && g.y <= p && bo(s, a, o, l, r, c, g.x, g.y) && At(g.prev, g, g.next) >= 0)
23832
23834
  return !1;
23833
23835
  g = g.next;
23834
23836
  }
@@ -23836,20 +23838,20 @@ function D5(n) {
23836
23838
  }
23837
23839
  function T5(n, t, e, i) {
23838
23840
  var s = n.prev, o = n, r = n.next;
23839
- if (bt(s, o, r) >= 0)
23841
+ if (At(s, o, r) >= 0)
23840
23842
  return !1;
23841
23843
  for (var a = s.x, l = o.x, c = r.x, h = s.y, u = o.y, d = r.y, p = a < l ? a < c ? a : c : l < c ? l : c, g = h < u ? h < d ? h : d : u < d ? u : d, m = a > l ? a > c ? a : c : l > c ? l : c, v = h > u ? h > d ? h : d : u > d ? u : d, b = oh(p, g, t, e, i), P = oh(m, v, t, e, i), E = n.prevZ, M = n.nextZ; E && E.z >= b && M && M.z <= P; ) {
23842
- if (E.x >= p && E.x <= m && E.y >= g && E.y <= v && E !== s && E !== r && bo(a, h, l, u, c, d, E.x, E.y) && bt(E.prev, E, E.next) >= 0 || (E = E.prevZ, M.x >= p && M.x <= m && M.y >= g && M.y <= v && M !== s && M !== r && bo(a, h, l, u, c, d, M.x, M.y) && bt(M.prev, M, M.next) >= 0))
23844
+ if (E.x >= p && E.x <= m && E.y >= g && E.y <= v && E !== s && E !== r && bo(a, h, l, u, c, d, E.x, E.y) && At(E.prev, E, E.next) >= 0 || (E = E.prevZ, M.x >= p && M.x <= m && M.y >= g && M.y <= v && M !== s && M !== r && bo(a, h, l, u, c, d, M.x, M.y) && At(M.prev, M, M.next) >= 0))
23843
23845
  return !1;
23844
23846
  M = M.nextZ;
23845
23847
  }
23846
23848
  for (; E && E.z >= b; ) {
23847
- if (E.x >= p && E.x <= m && E.y >= g && E.y <= v && E !== s && E !== r && bo(a, h, l, u, c, d, E.x, E.y) && bt(E.prev, E, E.next) >= 0)
23849
+ if (E.x >= p && E.x <= m && E.y >= g && E.y <= v && E !== s && E !== r && bo(a, h, l, u, c, d, E.x, E.y) && At(E.prev, E, E.next) >= 0)
23848
23850
  return !1;
23849
23851
  E = E.prevZ;
23850
23852
  }
23851
23853
  for (; M && M.z <= P; ) {
23852
- if (M.x >= p && M.x <= m && M.y >= g && M.y <= v && M !== s && M !== r && bo(a, h, l, u, c, d, M.x, M.y) && bt(M.prev, M, M.next) >= 0)
23854
+ if (M.x >= p && M.x <= m && M.y >= g && M.y <= v && M !== s && M !== r && bo(a, h, l, u, c, d, M.x, M.y) && At(M.prev, M, M.next) >= 0)
23853
23855
  return !1;
23854
23856
  M = M.nextZ;
23855
23857
  }
@@ -23915,7 +23917,7 @@ function _5(n, t) {
23915
23917
  return r;
23916
23918
  }
23917
23919
  function B5(n, t) {
23918
- return bt(n.prev, n, t.prev) < 0 && bt(t.next, n, n.next) < 0;
23920
+ return At(n.prev, n, t.prev) < 0 && At(t.next, n, n.next) < 0;
23919
23921
  }
23920
23922
  function V5(n, t, e, i) {
23921
23923
  var s = n;
@@ -23954,17 +23956,17 @@ function bo(n, t, e, i, s, o, r, a) {
23954
23956
  function N5(n, t) {
23955
23957
  return n.next.i !== t.i && n.prev.i !== t.i && !G5(n, t) && // dones't intersect other edges
23956
23958
  (Qr(n, t) && Qr(t, n) && W5(n, t) && // locally visible
23957
- (bt(n.prev, n, t.prev) || bt(n, t.prev, t)) || // does not create opposite-facing sectors
23958
- Gl(n, t) && bt(n.prev, n, n.next) > 0 && bt(t.prev, t, t.next) > 0);
23959
+ (At(n.prev, n, t.prev) || At(n, t.prev, t)) || // does not create opposite-facing sectors
23960
+ Gl(n, t) && At(n.prev, n, n.next) > 0 && At(t.prev, t, t.next) > 0);
23959
23961
  }
23960
- function bt(n, t, e) {
23962
+ function At(n, t, e) {
23961
23963
  return (t.y - n.y) * (e.x - t.x) - (t.x - n.x) * (e.y - t.y);
23962
23964
  }
23963
23965
  function Gl(n, t) {
23964
23966
  return n.x === t.x && n.y === t.y;
23965
23967
  }
23966
23968
  function J1(n, t, e, i) {
23967
- var s = ja(bt(n, t, e)), o = ja(bt(n, t, i)), r = ja(bt(e, i, n)), a = ja(bt(e, i, t));
23969
+ var s = ja(At(n, t, e)), o = ja(At(n, t, i)), r = ja(At(e, i, n)), a = ja(At(e, i, t));
23968
23970
  return !!(s !== o && r !== a || s === 0 && Oa(n, e, t) || o === 0 && Oa(n, i, t) || r === 0 && Oa(e, n, i) || a === 0 && Oa(e, t, i));
23969
23971
  }
23970
23972
  function Oa(n, t, e) {
@@ -23983,7 +23985,7 @@ function G5(n, t) {
23983
23985
  return !1;
23984
23986
  }
23985
23987
  function Qr(n, t) {
23986
- return bt(n.prev, n, n.next) < 0 ? bt(n, t, n.next) >= 0 && bt(n, n.prev, t) >= 0 : bt(n, t, n.prev) < 0 || bt(n, n.next, t) < 0;
23988
+ return At(n.prev, n, n.next) < 0 ? At(n, t, n.next) >= 0 && At(n, n.prev, t) >= 0 : At(n, t, n.prev) < 0 || At(n, n.next, t) < 0;
23987
23989
  }
23988
23990
  function W5(n, t) {
23989
23991
  var e = n, i = !1, s = (n.x + t.x) / 2, o = (n.y + t.y) / 2;
@@ -24931,7 +24933,7 @@ class sv {
24931
24933
  f(this, "config");
24932
24934
  f(this, "polylines", []);
24933
24935
  f(this, "areas", []);
24934
- f(this, "hook", new kt());
24936
+ f(this, "hook", new Mt());
24935
24937
  this.config = t;
24936
24938
  }
24937
24939
  addPolyline(t) {
@@ -25098,7 +25100,7 @@ class c4 {
25098
25100
  const t = Ci(this.five).intersectRaycaster(this.raycaster)[0];
25099
25101
  return t || null;
25100
25102
  });
25101
- this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = ov(H({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = Cy, 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 Mo(
25103
+ this.five = t.five, this.hook = t.hook, this.group = t.group, this.mouseGroup = ov(H({ isMobile: !0 }, t.openParams.crossHairParameter)), this.container.innerHTML = my, 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 Mo(
25102
25104
  new rb(0.04, 0.08, 32),
25103
25105
  new jr({ color: 1245179, opacity: 0, side: v0, transparent: !0 })
25104
25106
  ), this.container.addEventListener("animationend", this.computedCenterMouseXY), this.five.on("cameraUpdate", this.onCameraDirectionUpdate), this.hook.on("willChangeState", this.onWillChangeState);
@@ -26406,7 +26408,7 @@ function wg(n) {
26406
26408
  );
26407
26409
  },
26408
26410
  i(o) {
26409
- s || (wt(() => {
26411
+ s || (yt(() => {
26410
26412
  s && (i || (i = zi(t, _t, { duration: 300 }, !0)), i.run(1));
26411
26413
  }), s = !0);
26412
26414
  },
@@ -26566,7 +26568,7 @@ function Cg(n) {
26566
26568
  n[0].changeMeasureType), e.$set(a);
26567
26569
  },
26568
26570
  i(o) {
26569
- s || (F(e.$$.fragment, o), o && wt(() => {
26571
+ s || (F(e.$$.fragment, o), o && yt(() => {
26570
26572
  s && (i || (i = zi(t, _t, { duration: Qo }, !0)), i.run(1));
26571
26573
  }), s = !0);
26572
26574
  },
@@ -26612,7 +26614,7 @@ function Ig(n) {
26612
26614
  );
26613
26615
  },
26614
26616
  i(h) {
26615
- a || (h && wt(() => {
26617
+ a || (h && yt(() => {
26616
26618
  a && (r || (r = zi(t, _t, { duration: Qo }, !0)), r.run(1));
26617
26619
  }), a = !0);
26618
26620
  },
@@ -26647,7 +26649,7 @@ function Eg(n) {
26647
26649
  n[2]("结束") + "") && Ve(o, s);
26648
26650
  },
26649
26651
  i(h) {
26650
- a || (h && wt(() => {
26652
+ a || (h && yt(() => {
26651
26653
  a && (r || (r = zi(t, _t, { duration: Qo }, !0)), r.run(1));
26652
26654
  }), a = !0);
26653
26655
  },
@@ -26978,7 +26980,7 @@ function Mg(n) {
26978
26980
  );
26979
26981
  },
26980
26982
  i(r) {
26981
- o || (wt(() => {
26983
+ o || (yt(() => {
26982
26984
  o && (s || (s = zi(t, _t, {}, !0)), s.run(1));
26983
26985
  }), o = !0);
26984
26986
  },
@@ -27214,7 +27216,7 @@ class nI extends ms {
27214
27216
  e,
27215
27217
  (u = (h = i.magnifierParams) != null ? h : (c = (l = i.pointSelectorConfig) == null ? void 0 : l.helper) == null ? void 0 : c.magnifierParams) != null ? u : { width: 190, height: 190, scale: 2 }
27216
27218
  ), this.allowMeasureType = Array.from(new Set((p = (d = i.editParams) == null ? void 0 : d.allowMeasureType) != null ? p : ["line"])), this.currentMeasureType = (g = this.allowMeasureType[0]) != null ? g : "line", this.group = new En(), 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.visibility = "hidden", this.container.style.pointerEvents = "none", this.container.style.width = "100%", this.container.style.height = "100%", this.container.style.opacity = "0", this.container.style.zIndex = "1";
27217
- const s = (v = (m = i.editParams) == null ? void 0 : m.pointSelectorMode) != null ? v : T0 ? "fixed" : "cursor", o = (b = this.params.openParams) != null ? b : {};
27219
+ const s = (v = (m = i.editParams) == null ? void 0 : m.pointSelectorMode) != null ? v : k0 ? "fixed" : "cursor", o = (b = this.params.openParams) != null ? b : {};
27218
27220
  if (this.params.useUIController !== !1) {
27219
27221
  const P = H({
27220
27222
  container: this.container,
@@ -27449,21 +27451,21 @@ class Ln extends mi {
27449
27451
  Ne(e.color) && (this.fontMesh.material.setValues({ color: e.color }), this.backgroundMesh.material.setValues({ color: e.color })), Ne(e.size) && (this.fontMesh.material.setValues({ side: e.size }), this.backgroundMesh.material.setValues({ side: e.size })), Ne(e.occlusionVisibility) && (e.occlusionVisibility ? e.occlusionMode === "depthTest" ? (this.fontMesh.material.depthTest = !1, this.backgroundMesh.visible = !1) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !0) : (this.fontMesh.material.depthTest = !0, this.backgroundMesh.visible = !1));
27450
27452
  }
27451
27453
  highlight() {
27452
- this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.fontMesh.material.opacity, this.fontMesh.material.setValues({ opacity: this.opacityBeforeHighlight * Bh }));
27454
+ this.highlighted || (this.highlighted = !0, this.opacityBeforeHighlight = this.fontMesh.material.opacity, this.fontMesh.material.setValues({ opacity: this.opacityBeforeHighlight * _h }));
27453
27455
  }
27454
27456
  unhighlight() {
27455
27457
  this.highlighted && (this.highlighted = !1, this.fontMesh.material.setValues({ opacity: this.opacityBeforeHighlight }));
27456
27458
  }
27457
27459
  updateMatrixWorld(e) {
27458
27460
  super.updateMatrixWorld(e);
27459
- const i = Vr(this, this.position).toArray().join(",");
27461
+ const i = Br(this, this.position).toArray().join(",");
27460
27462
  i !== this.lastRenderDomItem && (this.updateDom(), this.lastRenderDomItem = i);
27461
27463
  }
27462
27464
  updateDom() {
27463
27465
  const e = this.paramsStyle.tip;
27464
27466
  e && !this.dom && (this.dom = new ta(this.five), this.dom.intersectCheck = !1, this.dom.simulate3D = !0, this.dom.container.style.display = this.visible ? "block" : "none");
27465
27467
  const i = (s) => {
27466
- this.dom && this.dom.__text !== s && (this.dom.__text = s, s instanceof HTMLElement ? (this.dom.container.innerHTML = "", this.dom.container.appendChild(s)) : s ? this.dom.container.innerHTML = Vh(s, {
27468
+ this.dom && this.dom.__text !== s && (this.dom.__text = s, s instanceof HTMLElement ? (this.dom.container.innerHTML = "", this.dom.container.appendChild(s)) : s ? this.dom.container.innerHTML = Bh(s, {
27467
27469
  style: ""
27468
27470
  }) : this.dom.container.innerHTML = "");
27469
27471
  };
@@ -27535,13 +27537,13 @@ class Ul extends mi {
27535
27537
  f(this, "colorBeforeHighlight");
27536
27538
  this.paramsStyle = e != null ? e : {};
27537
27539
  const i = new w.MeshBasicMaterial({
27538
- color: new w.Color((a = e == null ? void 0 : e.color) != null ? a : ey).convertSRGBToLinear(),
27540
+ color: new w.Color((a = e == null ? void 0 : e.color) != null ? a : Ub).convertSRGBToLinear(),
27539
27541
  // 给 MeshBasicMaterial 的颜色必须是 linear,要不颜色不对
27540
27542
  transparent: !0,
27541
27543
  side: w.DoubleSide,
27542
27544
  depthTest: !0,
27543
27545
  depthWrite: !1,
27544
- opacity: (l = e == null ? void 0 : e.opacity) != null ? l : ny
27546
+ opacity: (l = e == null ? void 0 : e.opacity) != null ? l : Yb
27545
27547
  }), s = new w.MeshBasicMaterial({
27546
27548
  color: 16777215,
27547
27549
  transparent: !0,
@@ -27583,7 +27585,7 @@ class Ul extends mi {
27583
27585
  }
27584
27586
  highlight(e) {
27585
27587
  var i, s;
27586
- this.highlighted = !0, Ne(e == null ? void 0 : e.color) ? (this.colorBeforeHighlight = (i = this.colorBeforeHighlight) != null ? i : this.meshFont.material.color.clone(), this.meshFont.material.color.set(new w.Color(e.color).convertSRGBToLinear())) : (this.opacityBeforeHighlight = (s = this.opacityBeforeHighlight) != null ? s : this.opacity, this.meshFont.material.opacity = this.opacity * Bh, this.meshBackground.material.opacity = 0.3 / 0.5 * this.meshFont.material.opacity), this.needsRender = !0;
27588
+ this.highlighted = !0, Ne(e == null ? void 0 : e.color) ? (this.colorBeforeHighlight = (i = this.colorBeforeHighlight) != null ? i : this.meshFont.material.color.clone(), this.meshFont.material.color.set(new w.Color(e.color).convertSRGBToLinear())) : (this.opacityBeforeHighlight = (s = this.opacityBeforeHighlight) != null ? s : this.opacity, this.meshFont.material.opacity = this.opacity * _h, this.meshBackground.material.opacity = 0.3 / 0.5 * this.meshFont.material.opacity), this.needsRender = !0;
27587
27589
  }
27588
27590
  unhighlight() {
27589
27591
  this.highlighted = !1, Ne(this.opacityBeforeHighlight) && (this.meshFont.material.opacity = this.opacityBeforeHighlight, this.meshBackground.material.opacity = 0.3 / 0.5 * this.meshFont.material.opacity, this.opacityBeforeHighlight = void 0), Ne(this.colorBeforeHighlight) && (this.meshFont.material.color = new w.Color(this.colorBeforeHighlight), this.colorBeforeHighlight = void 0), this.needsRender = !0;
@@ -27650,7 +27652,7 @@ class er extends Ul {
27650
27652
  }
27651
27653
  updateMatrixWorld(e) {
27652
27654
  if (super.updateMatrixWorld(e), this.center) {
27653
- const i = Vr(this, this.center).toArray().join(",");
27655
+ const i = Br(this, this.center).toArray().join(",");
27654
27656
  i !== this.lastRenderAreaItem && (this.updateAreaItems(), this.lastRenderAreaItem = i);
27655
27657
  }
27656
27658
  }
@@ -27689,8 +27691,8 @@ class er extends Ul {
27689
27691
  const o = new ta(this.five), r = (a = this._paramsStyle.occlusionVisibility) != null ? a : !0;
27690
27692
  return o.intersectCheck = !r, o.simulate3D = !0, o;
27691
27693
  })(), this.areaDom.setPosition(this.center);
27692
- const i = ly(this.geometryInfo.area, this._paramsStyle.lengthUnit);
27693
- i ? this.areaDom.container.innerHTML = Vh(i, {
27694
+ const i = $b(this.geometryInfo.area, this._paramsStyle.lengthUnit);
27695
+ i ? this.areaDom.container.innerHTML = Bh(i, {
27694
27696
  style: "color: #FFFFFF; background: #3366FF"
27695
27697
  }) : this.areaDom.container.innerHTML = "";
27696
27698
  }
@@ -27864,7 +27866,7 @@ const Zr = {
27864
27866
  18: !1,
27865
27867
  17: !1,
27866
27868
  91: !1
27867
- }, yt = {};
27869
+ }, bt = {};
27868
27870
  for (let n = 1; n < 20; n++)
27869
27871
  Zr["f".concat(n)] = 111 + n;
27870
27872
  let ut = [], Tr = null, pv = "all";
@@ -27883,8 +27885,8 @@ function cI() {
27883
27885
  }
27884
27886
  function hI() {
27885
27887
  const n = [];
27886
- return Object.keys(yt).forEach((t) => {
27887
- yt[t].forEach((e) => {
27888
+ return Object.keys(bt).forEach((t) => {
27889
+ bt[t].forEach((e) => {
27888
27890
  let {
27889
27891
  key: i,
27890
27892
  scope: s,
@@ -27914,9 +27916,9 @@ function dI(n) {
27914
27916
  function fI(n, t) {
27915
27917
  let e, i;
27916
27918
  n || (n = qr());
27917
- for (const s in yt)
27918
- if (Object.prototype.hasOwnProperty.call(yt, s))
27919
- for (e = yt[s], i = 0; i < e.length; )
27919
+ for (const s in bt)
27920
+ if (Object.prototype.hasOwnProperty.call(bt, s))
27921
+ for (e = bt[s], i = 0; i < e.length; )
27920
27922
  e[i].scope === n ? e.splice(i, 1).forEach((r) => {
27921
27923
  let {
27922
27924
  element: a
@@ -27936,8 +27938,8 @@ function gI(n) {
27936
27938
  }
27937
27939
  function vv(n) {
27938
27940
  if (typeof n == "undefined")
27939
- Object.keys(yt).forEach((s) => {
27940
- Array.isArray(yt[s]) && yt[s].forEach((o) => Ra(o)), delete yt[s];
27941
+ Object.keys(bt).forEach((s) => {
27942
+ Array.isArray(bt[s]) && bt[s].forEach((o) => Ra(o)), delete bt[s];
27941
27943
  }), Lu(null);
27942
27944
  else if (Array.isArray(n))
27943
27945
  n.forEach((s) => {
@@ -27966,11 +27968,11 @@ const Ra = (n) => {
27966
27968
  } = n;
27967
27969
  gv(t).forEach((r) => {
27968
27970
  const a = r.split(s), l = a.length, c = a[l - 1], h = c === "*" ? "*" : la(c);
27969
- if (!yt[h])
27971
+ if (!bt[h])
27970
27972
  return;
27971
27973
  e || (e = qr());
27972
27974
  const u = l > 1 ? fv(an, a) : [], d = [];
27973
- yt[h] = yt[h].filter((p) => {
27975
+ bt[h] = bt[h].filter((p) => {
27974
27976
  const m = (i ? p.method === i : !0) && p.scope === e && oI(p.mods, u);
27975
27977
  return m && d.push(p.element), !m;
27976
27978
  }), d.forEach((p) => Lu(p));
@@ -27988,7 +27990,7 @@ function Sg(n, t, e, i) {
27988
27990
  }
27989
27991
  }
27990
27992
  function Dg(n, t) {
27991
- const e = yt["*"];
27993
+ const e = bt["*"];
27992
27994
  let i = n.keyCode || n.which || n.charCode;
27993
27995
  if (!pt.filter.call(this, n))
27994
27996
  return;
@@ -28009,9 +28011,9 @@ function Dg(n, t) {
28009
28011
  if (e)
28010
28012
  for (let a = 0; a < e.length; a++)
28011
28013
  e[a].scope === s && (n.type === "keydown" && e[a].keydown || n.type === "keyup" && e[a].keyup) && Sg(n, e[a], s, t);
28012
- if (!(i in yt))
28014
+ if (!(i in bt))
28013
28015
  return;
28014
- const o = yt[i], r = o.length;
28016
+ const o = bt[i], r = o.length;
28015
28017
  for (let a = 0; a < r; a++)
28016
28018
  if ((n.type === "keydown" && o[a].keydown || n.type === "keyup" && o[a].keyup) && o[a].key) {
28017
28019
  const l = o[a], {
@@ -28027,7 +28029,7 @@ function pt(n, t, e) {
28027
28029
  const i = gv(n);
28028
28030
  let s = [], o = "all", r = document, a = 0, l = !1, c = !0, h = "+", u = !1, d = !1;
28029
28031
  for (e === void 0 && typeof t == "function" && (e = t), Object.prototype.toString.call(t) === "[object Object]" && (t.scope && (o = t.scope), t.element && (r = t.element), t.keyup && (l = t.keyup), t.keydown !== void 0 && (c = t.keydown), t.capture !== void 0 && (u = t.capture), typeof t.splitKey == "string" && (h = t.splitKey), t.single === !0 && (d = !0)), typeof t == "string" && (o = t), d && vv(n, o); a < i.length; a++)
28030
- n = i[a].split(h), s = [], n.length > 1 && (s = fv(an, n)), n = n[n.length - 1], n = n === "*" ? "*" : la(n), n in yt || (yt[n] = []), yt[n].push({
28032
+ n = i[a].split(h), s = [], n.length > 1 && (s = fv(an, n)), n = n[n.length - 1], n = n === "*" ? "*" : la(n), n in bt || (bt[n] = []), bt[n].push({
28031
28033
  keyup: l,
28032
28034
  keydown: c,
28033
28035
  scope: o,
@@ -28066,14 +28068,14 @@ function pt(n, t, e) {
28066
28068
  }
28067
28069
  function pI(n) {
28068
28070
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "all";
28069
- Object.keys(yt).forEach((e) => {
28070
- yt[e].filter((s) => s.scope === t && s.shortcut === n).forEach((s) => {
28071
+ Object.keys(bt).forEach((e) => {
28072
+ bt[e].filter((s) => s.scope === t && s.shortcut === n).forEach((s) => {
28071
28073
  s && s.method && s.method();
28072
28074
  });
28073
28075
  });
28074
28076
  }
28075
28077
  function Lu(n) {
28076
- const t = Object.values(yt).flat();
28078
+ const t = Object.values(bt).flat();
28077
28079
  if (t.findIndex((i) => {
28078
28080
  let {
28079
28081
  element: s
@@ -28094,7 +28096,7 @@ function Lu(n) {
28094
28096
  capture: a
28095
28097
  } = yn.get(s) || {};
28096
28098
  o && r && (Ar(s, "keyup", r, a), Ar(s, "keydown", o, a), yn.delete(s));
28097
- }), yn.clear(), Object.keys(yt).forEach((s) => delete yt[s]), Tr)) {
28099
+ }), yn.clear(), Object.keys(bt).forEach((s) => delete bt[s]), Tr)) {
28098
28100
  const {
28099
28101
  listener: s,
28100
28102
  capture: o
@@ -28196,7 +28198,7 @@ class Av {
28196
28198
  this.container.style.cursor = "auto";
28197
28199
  }
28198
28200
  }
28199
- class wI extends kt {
28201
+ class wI extends Mt {
28200
28202
  constructor(e, i) {
28201
28203
  super();
28202
28204
  f(this, "name", "MeasurePlugin");
@@ -29706,7 +29708,7 @@ function _I(n) {
29706
29708
  c() {
29707
29709
  t = W("div"), e = W("div"), i = W("span"), o = Re(s), r = re(), a = W("div"), y(i, "class", "item-label-item__text svelte-1wufped"), y(e, "class", "item-label-item__text-wrap svelte-1wufped"), j(e, "top", `-${/*itemLabel*/
29708
29710
  n[0].strokeLength + 26}px`), y(a, "class", "item-label-item__bar svelte-1wufped"), j(a, "height", `${/*itemLabel*/
29709
- n[0].strokeLength}px`), y(t, "class", l = Ct(gi("item-label-item", { visible: (
29711
+ n[0].strokeLength}px`), y(t, "class", l = Pt(gi("item-label-item", { visible: (
29710
29712
  /*itemLabel*/
29711
29713
  n[0].visible
29712
29714
  ) })) + " svelte-1wufped"), j(
@@ -29741,7 +29743,7 @@ function _I(n) {
29741
29743
  u[0].strokeLength + 26}px`), d & /*itemLabel*/
29742
29744
  1 && j(a, "height", `${/*itemLabel*/
29743
29745
  u[0].strokeLength}px`), d & /*itemLabel*/
29744
- 1 && l !== (l = Ct(gi("item-label-item", { visible: (
29746
+ 1 && l !== (l = Pt(gi("item-label-item", { visible: (
29745
29747
  /*itemLabel*/
29746
29748
  u[0].visible
29747
29749
  ) })) + " svelte-1wufped") && y(t, "class", l), d & /*itemLabel*/
@@ -29854,7 +29856,7 @@ function FI(n) {
29854
29856
  t = W("div");
29855
29857
  for (let l = 0; l < e.length; l += 1)
29856
29858
  e[l].c();
29857
- y(t, "class", "item-labels-container svelte-f82itz"), wt(() => (
29859
+ y(t, "class", "item-labels-container svelte-f82itz"), yt(() => (
29858
29860
  /*div_elementresize_handler*/
29859
29861
  n[9].call(t)
29860
29862
  )), j(
@@ -30341,15 +30343,15 @@ function KI(n) {
30341
30343
  let d = u(n, -1), p = d(n);
30342
30344
  return {
30343
30345
  c() {
30344
- t = W("div"), e = W("div"), p.c(), o = re(), r = W("div"), y(e, "class", s = Ct(gi("item-label-item__text-wrap", {
30346
+ t = W("div"), e = W("div"), p.c(), o = re(), r = W("div"), y(e, "class", s = Pt(gi("item-label-item__text-wrap", {
30345
30347
  "item-label-item__custom": typeof /*itemLabel*/
30346
30348
  n[0].render == "function"
30347
30349
  })) + " svelte-1jhufeh"), j(e, "bottom", `${/*itemLabel*/
30348
- n[0].strokeLength}px`), y(r, "class", a = Ct(gi("item-label-item__bar", { anchor: (
30350
+ n[0].strokeLength}px`), y(r, "class", a = Pt(gi("item-label-item__bar", { anchor: (
30349
30351
  /*anchorEnabled*/
30350
30352
  n[1]
30351
30353
  ) })) + " svelte-1jhufeh"), j(r, "height", `${/*itemLabel*/
30352
- n[0].strokeLength}px`), y(t, "class", l = Ct(gi("item-label-item", { fold: (
30354
+ n[0].strokeLength}px`), y(t, "class", l = Pt(gi("item-label-item", { fold: (
30353
30355
  /*itemLabel*/
30354
30356
  n[0].isFold
30355
30357
  ) })) + " svelte-1jhufeh"), j(
@@ -30374,19 +30376,19 @@ function KI(n) {
30374
30376
  },
30375
30377
  p(g, [m]) {
30376
30378
  d === (d = u(g, m)) && p ? p.p(g, m) : (p.d(1), p = d(g), p && (p.c(), p.m(e, null))), m & /*itemLabel*/
30377
- 1 && s !== (s = Ct(gi("item-label-item__text-wrap", {
30379
+ 1 && s !== (s = Pt(gi("item-label-item__text-wrap", {
30378
30380
  "item-label-item__custom": typeof /*itemLabel*/
30379
30381
  g[0].render == "function"
30380
30382
  })) + " svelte-1jhufeh") && y(e, "class", s), m & /*itemLabel*/
30381
30383
  1 && j(e, "bottom", `${/*itemLabel*/
30382
30384
  g[0].strokeLength}px`), m & /*anchorEnabled*/
30383
- 2 && a !== (a = Ct(gi("item-label-item__bar", { anchor: (
30385
+ 2 && a !== (a = Pt(gi("item-label-item__bar", { anchor: (
30384
30386
  /*anchorEnabled*/
30385
30387
  g[1]
30386
30388
  ) })) + " svelte-1jhufeh") && y(r, "class", a), m & /*itemLabel*/
30387
30389
  1 && j(r, "height", `${/*itemLabel*/
30388
30390
  g[0].strokeLength}px`), m & /*itemLabel*/
30389
- 1 && l !== (l = Ct(gi("item-label-item", { fold: (
30391
+ 1 && l !== (l = Pt(gi("item-label-item", { fold: (
30390
30392
  /*itemLabel*/
30391
30393
  g[0].isFold
30392
30394
  ) })) + " svelte-1jhufeh") && y(t, "class", l), m & /*itemLabel*/
@@ -30589,7 +30591,7 @@ function oE(n) {
30589
30591
  t = W("div");
30590
30592
  for (let l = 0; l < e.length; l += 1)
30591
30593
  e[l].c();
30592
- y(t, "class", "item-labels-container svelte-f82itz"), wt(() => (
30594
+ y(t, "class", "item-labels-container svelte-f82itz"), yt(() => (
30593
30595
  /*div_elementresize_handler*/
30594
30596
  n[12].call(t)
30595
30597
  )), j(
@@ -30869,7 +30871,7 @@ function dE(n) {
30869
30871
  ), o, r, a, l, c, h, u, d, p;
30870
30872
  return {
30871
30873
  c() {
30872
- t = W("div"), e = W("div"), i = W("span"), o = Re(s), r = re(), a = W("i"), y(i, "class", "plugin-DoorLabelPlugin-txt svelte-1irjijd"), y(a, "class", "plugin-DoorLabelPlugin-icon svelte-1irjijd"), y(e, "class", l = Ct(gi(
30874
+ t = W("div"), e = W("div"), i = W("span"), o = Re(s), r = re(), a = W("i"), y(i, "class", "plugin-DoorLabelPlugin-txt svelte-1irjijd"), y(a, "class", "plugin-DoorLabelPlugin-icon svelte-1irjijd"), y(e, "class", l = Pt(gi(
30873
30875
  "plugin-DoorLabelPlugin-cnt",
30874
30876
  /*props*/
30875
30877
  n[0].toward
@@ -30894,7 +30896,7 @@ function dE(n) {
30894
30896
  m & /*props*/
30895
30897
  1 && s !== (s = /*props*/
30896
30898
  g[0].name + "") && Ve(o, s), m & /*props*/
30897
- 1 && l !== (l = Ct(gi(
30899
+ 1 && l !== (l = Pt(gi(
30898
30900
  "plugin-DoorLabelPlugin-cnt",
30899
30901
  /*props*/
30900
30902
  g[0].toward
@@ -32585,7 +32587,7 @@ class Ru {
32585
32587
  })(), this.matrix = e.matrix ? (() => {
32586
32588
  const m = new w.Matrix4().fromArray(e.matrix);
32587
32589
  return m.premultiply(t.workUtil.transform), m.elements;
32588
- })() : e.matrix, this.initialConfig = o, this.computedConfig = r, this.stickType = i, this.config = e.config, this.fiveState = e.fiveState, this.normal = e.normal, this.cache = new Jr(), this.hooks = new kt(), Object.keys(e).forEach((m) => {
32590
+ })() : e.matrix, this.initialConfig = o, this.computedConfig = r, this.stickType = i, this.config = e.config, this.fiveState = e.fiveState, this.normal = e.normal, this.cache = new Jr(), this.hooks = new Mt(), Object.keys(e).forEach((m) => {
32589
32591
  this[m] === void 0 && e[m] !== void 0 && (this[m] = e[m]);
32590
32592
  });
32591
32593
  }
@@ -32682,7 +32684,7 @@ class Ru {
32682
32684
  console.warn("tagDom is empty");
32683
32685
  return;
32684
32686
  }
32685
- const r = s ? zl : a1;
32687
+ const r = s ? zl : r1;
32686
32688
  this._currentBlinkInstance = r(o, H({
32687
32689
  begin: () => {
32688
32690
  s === !1 && (this.dom && (this.dom.style.visibility = ""), this.contentDom && (this.contentDom.style.visibility = ""));
@@ -33289,7 +33291,7 @@ class zv extends Sn {
33289
33291
  const m = new Ae().subVectors(s[1], s[0]), v = new Ae().subVectors(s[3], s[0]), b = new Ae().crossVectors(m, v).normalize();
33290
33292
  this.lookAt(b);
33291
33293
  const P = this.up.clone().applyQuaternion(this.quaternion), E = v.clone(), M = new Ae().crossVectors(P, E).normalize();
33292
- this.rotateOnWorldAxis(M, P.angleTo(E)), this.position.copy(p), this._opacityMesh = new E0(u, d), this._opacityMesh.visible = e.mode === "behind", this.add(this._opacityMesh);
33294
+ this.rotateOnWorldAxis(M, P.angleTo(E)), this.position.copy(p), this._opacityMesh = new D0(u, d), this._opacityMesh.visible = e.mode === "behind", this.add(this._opacityMesh);
33293
33295
  }
33294
33296
  get mode() {
33295
33297
  return this._mode;
@@ -33458,7 +33460,7 @@ function ip(n) {
33458
33460
  );
33459
33461
  },
33460
33462
  i(r) {
33461
- o || (r && wt(() => {
33463
+ o || (r && yt(() => {
33462
33464
  o && (s && s.end(1), i = ps(t, dl, {
33463
33465
  duration: (
33464
33466
  /*duration*/
@@ -33656,7 +33658,7 @@ function np(n) {
33656
33658
  );
33657
33659
  },
33658
33660
  i(r) {
33659
- o || (r && wt(() => {
33661
+ o || (r && yt(() => {
33660
33662
  o && (s && s.end(1), i = ps(t, _t, { duration: (
33661
33663
  /*inDelay*/
33662
33664
  n[0]
@@ -34040,7 +34042,7 @@ function rp(n) {
34040
34042
  n[0] + " svelte-1ogmlqq")) && y(s, "class", o);
34041
34043
  },
34042
34044
  i(u) {
34043
- l || (F(e.$$.fragment, u), u && wt(() => {
34045
+ l || (F(e.$$.fragment, u), u && yt(() => {
34044
34046
  l && (a && a.end(1), r = ps(s, _t, {
34045
34047
  duration: (
34046
34048
  /*duration*/
@@ -35086,7 +35088,7 @@ function gp(n) {
35086
35088
  n = o;
35087
35089
  },
35088
35090
  i(o) {
35089
- s || (o && wt(() => {
35091
+ s || (o && yt(() => {
35090
35092
  s && (i && i.end(1), e = ps(t, dl, {
35091
35093
  duration: (
35092
35094
  /*duration*/
@@ -36240,7 +36242,7 @@ var Ha = J9, Pl = {}, K9 = {
36240
36242
  function $t(x, G) {
36241
36243
  var K = ur(x) || ro(x) ? _e(x.length, String) : [], le = K.length, We = !!le;
36242
36244
  for (var Fe in x)
36243
- (G || ot.call(x, Fe)) && !(We && (Fe == "length" || Pt(Fe, le))) && K.push(Fe);
36245
+ (G || ot.call(x, Fe)) && !(We && (Fe == "length" || wt(Fe, le))) && K.push(Fe);
36244
36246
  return K;
36245
36247
  }
36246
36248
  function hi(x, G, K) {
@@ -36253,7 +36255,7 @@ var Ha = J9, Pl = {}, K9 = {
36253
36255
  return K;
36254
36256
  return -1;
36255
36257
  }
36256
- function Et(x, G) {
36258
+ function It(x, G) {
36257
36259
  return x && Un(G, fr(G), x);
36258
36260
  }
36259
36261
  function ei(x, G, K, le, We, Fe, qe) {
@@ -36262,8 +36264,8 @@ var Ha = J9, Pl = {}, K9 = {
36262
36264
  return et;
36263
36265
  if (!Zi(x))
36264
36266
  return x;
36265
- var xt = ur(x);
36266
- if (xt) {
36267
+ var kt = ur(x);
36268
+ if (kt) {
36267
36269
  if (et = be(x), !G)
36268
36270
  return Is(x, et);
36269
36271
  } else {
@@ -36274,7 +36276,7 @@ var Ha = J9, Pl = {}, K9 = {
36274
36276
  if (He(x))
36275
36277
  return Fe ? x : {};
36276
36278
  if (et = Oe(Xt ? {} : x), !G)
36277
- return cr(x, Et(et, x));
36279
+ return cr(x, It(et, x));
36278
36280
  } else {
36279
36281
  if (!$[it])
36280
36282
  return Fe ? x : {};
@@ -36285,7 +36287,7 @@ var Ha = J9, Pl = {}, K9 = {
36285
36287
  var ui = qe.get(x);
36286
36288
  if (ui)
36287
36289
  return ui;
36288
- if (qe.set(x, et), !xt)
36290
+ if (qe.set(x, et), !kt)
36289
36291
  var zt = K ? hr(x) : fr(x);
36290
36292
  return Le(zt || x, function(Yt, Bt) {
36291
36293
  zt && (Bt = Yt, Yt = x[Bt]), hi(et, Bt, ei(Yt, G, K, le, Bt, x, qe));
@@ -36370,7 +36372,7 @@ var Ha = J9, Pl = {}, K9 = {
36370
36372
  }
36371
36373
  function V(x, G) {
36372
36374
  var K = x.__data__;
36373
- return Mt(G) ? K[typeof G == "string" ? "string" : "hash"] : K.map;
36375
+ return Et(G) ? K[typeof G == "string" ? "string" : "hash"] : K.map;
36374
36376
  }
36375
36377
  function U(x, G) {
36376
36378
  var K = ve(x, G);
@@ -36434,10 +36436,10 @@ var Ha = J9, Pl = {}, K9 = {
36434
36436
  return lr(x);
36435
36437
  }
36436
36438
  }
36437
- function Pt(x, G) {
36439
+ function wt(x, G) {
36438
36440
  return G = G == null ? s : G, !!G && (typeof x == "number" || te.test(x)) && x > -1 && x % 1 == 0 && x < G;
36439
36441
  }
36440
- function Mt(x) {
36442
+ function Et(x) {
36441
36443
  var G = typeof x;
36442
36444
  return G == "string" || G == "number" || G == "symbol" || G == "boolean" ? x !== "__proto__" : x === null;
36443
36445
  }
@@ -36679,7 +36681,7 @@ var Cl = {}, ek = {
36679
36681
  return this.__data__.has(x);
36680
36682
  }
36681
36683
  $t.prototype.add = $t.prototype.push = hi, $t.prototype.has = xi;
36682
- function Et(x) {
36684
+ function It(x) {
36683
36685
  var G = this.__data__ = new Tt(x);
36684
36686
  this.size = G.size;
36685
36687
  }
@@ -36706,15 +36708,15 @@ var Cl = {}, ek = {
36706
36708
  }
36707
36709
  return K.set(x, G), this.size = K.size, this;
36708
36710
  }
36709
- Et.prototype.clear = ei, Et.prototype.delete = no, Et.prototype.get = so, Et.prototype.has = Nn, Et.prototype.set = ti;
36711
+ It.prototype.clear = ei, It.prototype.delete = no, It.prototype.get = so, It.prototype.has = Nn, It.prototype.set = ti;
36710
36712
  function Gn(x, G) {
36711
- var K = ro(x), le = !K && ga(x), We = !K && !le && ao(x), Fe = !K && !le && !We && va(x), qe = K || le || We || Fe, et = qe ? Xe(x.length, String) : [], xt = et.length;
36713
+ var K = ro(x), le = !K && ga(x), We = !K && !le && ao(x), Fe = !K && !le && !We && va(x), qe = K || le || We || Fe, et = qe ? Xe(x.length, String) : [], kt = et.length;
36712
36714
  for (var it in x)
36713
36715
  (G || rt.call(x, it)) && !(qe && // Safari 9 has enumerable `arguments.length` in strict mode.
36714
36716
  (it == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
36715
36717
  We && (it == "offset" || it == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
36716
36718
  Fe && (it == "buffer" || it == "byteLength" || it == "byteOffset") || // Skip index properties.
36717
- Qe(it, xt))) && et.push(it);
36719
+ Qe(it, kt))) && et.push(it);
36718
36720
  return et;
36719
36721
  }
36720
36722
  function Yi(x, G) {
@@ -36737,27 +36739,27 @@ var Cl = {}, ek = {
36737
36739
  return x === G ? !0 : x == null || G == null || !Zi(x) && !Zi(G) ? x !== x && G !== G : bi(x, G, K, le, mn, We);
36738
36740
  }
36739
36741
  function bi(x, G, K, le, We, Fe) {
36740
- var qe = ro(x), et = ro(G), xt = qe ? l : Oe(x), it = et ? l : Oe(G);
36741
- xt = xt == a ? P : xt, it = it == a ? P : it;
36742
- var Xt = xt == P, ui = it == P, zt = xt == it;
36742
+ var qe = ro(x), et = ro(G), kt = qe ? l : Oe(x), it = et ? l : Oe(G);
36743
+ kt = kt == a ? P : kt, it = it == a ? P : it;
36744
+ var Xt = kt == P, ui = it == P, zt = kt == it;
36743
36745
  if (zt && ao(x)) {
36744
36746
  if (!ao(G))
36745
36747
  return !1;
36746
36748
  qe = !0, Xt = !1;
36747
36749
  }
36748
36750
  if (zt && !Xt)
36749
- return Fe || (Fe = new Et()), qe || va(x) ? Un(x, G, K, le, We, Fe) : cr(x, G, xt, K, le, We, Fe);
36751
+ return Fe || (Fe = new It()), qe || va(x) ? Un(x, G, K, le, We, Fe) : cr(x, G, kt, K, le, We, Fe);
36750
36752
  if (!(K & s)) {
36751
36753
  var Yt = Xt && rt.call(x, "__wrapped__"), Bt = ui && rt.call(G, "__wrapped__");
36752
36754
  if (Yt || Bt) {
36753
36755
  var Qn = Yt ? x.value() : x, vn = Bt ? G.value() : G;
36754
- return Fe || (Fe = new Et()), We(Qn, vn, K, le, Fe);
36756
+ return Fe || (Fe = new It()), We(Qn, vn, K, le, Fe);
36755
36757
  }
36756
36758
  }
36757
- return zt ? (Fe || (Fe = new Et()), hr(x, G, K, le, We, Fe)) : !1;
36759
+ return zt ? (Fe || (Fe = new It()), hr(x, G, K, le, We, Fe)) : !1;
36758
36760
  }
36759
36761
  function lr(x) {
36760
- if (!ma(x) || Mt(x))
36762
+ if (!ma(x) || Et(x))
36761
36763
  return !1;
36762
36764
  var G = pa(x) ? ir : ae;
36763
36765
  return G.test(ni(x));
@@ -36774,8 +36776,8 @@ var Cl = {}, ek = {
36774
36776
  return G;
36775
36777
  }
36776
36778
  function Un(x, G, K, le, We, Fe) {
36777
- var qe = K & s, et = x.length, xt = G.length;
36778
- if (et != xt && !(qe && xt > et))
36779
+ var qe = K & s, et = x.length, kt = G.length;
36780
+ if (et != kt && !(qe && kt > et))
36779
36781
  return !1;
36780
36782
  var it = Fe.get(x);
36781
36783
  if (it && Fe.get(G))
@@ -36826,8 +36828,8 @@ var Cl = {}, ek = {
36826
36828
  case m:
36827
36829
  var et = $e;
36828
36830
  case D:
36829
- var xt = le & s;
36830
- if (et || (et = ot), x.size != G.size && !xt)
36831
+ var kt = le & s;
36832
+ if (et || (et = ot), x.size != G.size && !kt)
36831
36833
  return !1;
36832
36834
  var it = qe.get(x);
36833
36835
  if (it)
@@ -36842,10 +36844,10 @@ var Cl = {}, ek = {
36842
36844
  return !1;
36843
36845
  }
36844
36846
  function hr(x, G, K, le, We, Fe) {
36845
- var qe = K & s, et = V(x), xt = et.length, it = V(G), Xt = it.length;
36846
- if (xt != Xt && !qe)
36847
+ var qe = K & s, et = V(x), kt = et.length, it = V(G), Xt = it.length;
36848
+ if (kt != Xt && !qe)
36847
36849
  return !1;
36848
- for (var ui = xt; ui--; ) {
36850
+ for (var ui = kt; ui--; ) {
36849
36851
  var zt = et[ui];
36850
36852
  if (!(qe ? zt in G : rt.call(G, zt)))
36851
36853
  return !1;
@@ -36855,7 +36857,7 @@ var Cl = {}, ek = {
36855
36857
  return Yt == G;
36856
36858
  var Bt = !0;
36857
36859
  Fe.set(x, G), Fe.set(G, x);
36858
- for (var Qn = qe; ++ui < xt; ) {
36860
+ for (var Qn = qe; ++ui < kt; ) {
36859
36861
  zt = et[ui];
36860
36862
  var vn = x[zt], Es = G[zt];
36861
36863
  if (le)
@@ -36877,7 +36879,7 @@ var Cl = {}, ek = {
36877
36879
  }
36878
36880
  function U(x, G) {
36879
36881
  var K = x.__data__;
36880
- return Pt(G) ? K[typeof G == "string" ? "string" : "hash"] : K.map;
36882
+ return wt(G) ? K[typeof G == "string" ? "string" : "hash"] : K.map;
36881
36883
  }
36882
36884
  function q(x, G) {
36883
36885
  var K = Je(x, G);
@@ -36918,11 +36920,11 @@ var Cl = {}, ek = {
36918
36920
  function Qe(x, G) {
36919
36921
  return G = G == null ? r : G, !!G && (typeof x == "number" || Se.test(x)) && x > -1 && x % 1 == 0 && x < G;
36920
36922
  }
36921
- function Pt(x) {
36923
+ function wt(x) {
36922
36924
  var G = typeof x;
36923
36925
  return G == "string" || G == "number" || G == "symbol" || G == "boolean" ? x !== "__proto__" : x === null;
36924
36926
  }
36925
- function Mt(x) {
36927
+ function Et(x) {
36926
36928
  return !!Wt && Wt in x;
36927
36929
  }
36928
36930
  function Lt(x) {
@@ -38597,7 +38599,7 @@ function _p(n) {
38597
38599
  );
38598
38600
  },
38599
38601
  i(u) {
38600
- a || (F(s), u && wt(() => {
38602
+ a || (F(s), u && yt(() => {
38601
38603
  a && (r && r.end(1), o = ps(
38602
38604
  t,
38603
38605
  jd,
@@ -39634,7 +39636,7 @@ function Xk(n) {
39634
39636
  "border-top-right-radius",
39635
39637
  /*data*/
39636
39638
  n[1].headerPictureUrl ? "0px" : "6px"
39637
- ), y(t, "class", P = Ct(`marketing ${/*theme*/
39639
+ ), y(t, "class", P = Pt(`marketing ${/*theme*/
39638
39640
  n[5]}`) + " svelte-rehsoc"), Ce(
39639
39641
  t,
39640
39642
  "unfolded",
@@ -39702,7 +39704,7 @@ function Xk(n) {
39702
39704
  /*data*/
39703
39705
  O[1].headerPictureUrl ? "0px" : "6px"
39704
39706
  ), (!E || A & /*theme*/
39705
- 32 && P !== (P = Ct(`marketing ${/*theme*/
39707
+ 32 && P !== (P = Pt(`marketing ${/*theme*/
39706
39708
  O[5]}`) + " svelte-rehsoc")) && y(t, "class", P), (!E || A & /*theme, unfolded*/
39707
39709
  96) && Ce(
39708
39710
  t,
@@ -40615,7 +40617,7 @@ function nm(n) {
40615
40617
  8196 && (h.$$scope = { dirty: c, ctx: n }), s.$set(h);
40616
40618
  },
40617
40619
  i(l) {
40618
- a || (F(e.$$.fragment, l), F(s.$$.fragment, l), l && wt(() => {
40620
+ a || (F(e.$$.fragment, l), F(s.$$.fragment, l), l && yt(() => {
40619
40621
  a && (r && r.end(1), o = ps(t, _t, {
40620
40622
  duration: 1e3,
40621
40623
  delay: 0,
@@ -42699,7 +42701,7 @@ function h6(n) {
42699
42701
  "unfolded",
42700
42702
  /*tag*/
42701
42703
  (z = n[0].state) == null ? void 0 : z.unfolded
42702
- ), y(e, "class", "content__wrapper svelte-1fy4duy"), y(t, "class", p = Ct(gi(
42704
+ ), y(e, "class", "content__wrapper svelte-1fy4duy"), y(t, "class", p = Pt(gi(
42703
42705
  "content__container",
42704
42706
  /*tag*/
42705
42707
  n[0].className
@@ -42754,7 +42756,7 @@ function h6(n) {
42754
42756
  /*tag*/
42755
42757
  (L = z[0].state) == null ? void 0 : L.unfolded
42756
42758
  ), (!m || D & /*tag*/
42757
- 1 && p !== (p = Ct(gi(
42759
+ 1 && p !== (p = Pt(gi(
42758
42760
  "content__container",
42759
42761
  /*tag*/
42760
42762
  z[0].className
@@ -42820,7 +42822,7 @@ function u6(n) {
42820
42822
  }
42821
42823
  }), {
42822
42824
  c() {
42823
- t = W("div"), pe(e.$$.fragment), y(t, "class", i = Ct(gi(
42825
+ t = W("div"), pe(e.$$.fragment), y(t, "class", i = Pt(gi(
42824
42826
  "content__container",
42825
42827
  /*tag*/
42826
42828
  n[0].className
@@ -42854,7 +42856,7 @@ function u6(n) {
42854
42856
  )), c & /*rendererMap*/
42855
42857
  4 && (h.rendererMap = /*rendererMap*/
42856
42858
  l[2]), e.$set(h), (!o || c & /*tag*/
42857
- 1 && i !== (i = Ct(gi(
42859
+ 1 && i !== (i = Pt(gi(
42858
42860
  "content__container",
42859
42861
  /*tag*/
42860
42862
  l[0].className
@@ -46109,7 +46111,7 @@ function jm(n) {
46109
46111
  );
46110
46112
  },
46111
46113
  i(h) {
46112
- a || (F(i.$$.fragment, h), wt(() => {
46114
+ a || (F(i.$$.fragment, h), yt(() => {
46113
46115
  a && (s || (s = zi(
46114
46116
  e,
46115
46117
  /*fadeAndFly*/
@@ -47125,7 +47127,7 @@ function Vm(n) {
47125
47127
  if (!r) {
47126
47128
  for (let h = 0; h < a.length; h += 1)
47127
47129
  F(e[h]);
47128
- o || wt(() => {
47130
+ o || yt(() => {
47129
47131
  o = ps(t, _t, {}), o.start();
47130
47132
  }), r = !0;
47131
47133
  }
@@ -48026,13 +48028,13 @@ function Jx(n, t, e) {
48026
48028
  var E, M;
48027
48029
  n.$$.dirty & /*fontSize*/
48028
48030
  2048 && e(13, i = mu[b]), n.$$.dirty & /*fontConfig*/
48029
- 8192 && e(9, s = It((i == null ? void 0 : i.name) || 12)), n.$$.dirty & /*fontConfig*/
48031
+ 8192 && e(9, s = Ct((i == null ? void 0 : i.name) || 12)), n.$$.dirty & /*fontConfig*/
48030
48032
  8192 && e(15, o = ((E = i == null ? void 0 : i.padding) == null ? void 0 : E.guide) || [8, 2]), n.$$.dirty & /*padding*/
48031
- 32768 && e(8, r = `${It(o[1])} ${It(o[0])}`), n.$$.dirty & /*fontConfig*/
48033
+ 32768 && e(8, r = `${Ct(o[1])} ${Ct(o[0])}`), n.$$.dirty & /*fontConfig*/
48032
48034
  8192 && e(14, a = ((M = i == null ? void 0 : i.padding) == null ? void 0 : M.distance) || [4, 2]), n.$$.dirty & /*distancePadding*/
48033
- 16384 && e(7, l = `${It(a[1])} ${It(a[0])}`), n.$$.dirty & /*fontConfig*/
48035
+ 16384 && e(7, l = `${Ct(a[1])} ${Ct(a[0])}`), n.$$.dirty & /*fontConfig*/
48034
48036
  8192 && e(12, c = (i == null ? void 0 : i.lineHeight) || 14), n.$$.dirty & /*lineHeight*/
48035
- 4096 && e(6, h = It(c));
48037
+ 4096 && e(6, h = Ct(c));
48036
48038
  }, [
48037
48039
  u,
48038
48040
  d,
@@ -49309,7 +49311,7 @@ class sA {
49309
49311
  f(this, "isGuideLine", !0);
49310
49312
  f(this, "panoramaItem");
49311
49313
  f(this, "modelItem");
49312
- f(this, "hooks", new kt());
49314
+ f(this, "hooks", new Mt());
49313
49315
  f(this, "_visible", !0);
49314
49316
  f(this, "plugin");
49315
49317
  f(this, "five");
@@ -49607,7 +49609,7 @@ class ha extends mi {
49607
49609
  }
49608
49610
  initialPosition(e) {
49609
49611
  var i, s;
49610
- this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Ys(this.originObject3D)) == null ? void 0 : i.getCenter(new w.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy((s = B0(this.originObject3D)) == null ? void 0 : s.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof Ae ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
49612
+ this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" ? this.position.copy((i = Ys(this.originObject3D)) == null ? void 0 : i.getCenter(new w.Vector3()).applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom === "boundingSphere" ? this.position.copy((s = _0(this.originObject3D)) == null ? void 0 : s.center.clone().applyMatrix4(this.originObject3D.matrixWorld)) : this.positionFrom instanceof Ae ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
49611
49613
  }
49612
49614
  setScaleByCamera(e) {
49613
49615
  }
@@ -50110,7 +50112,7 @@ class SS extends pS {
50110
50112
  f(this, "cornerPositions", []);
50111
50113
  f(this, "css3DInstance");
50112
50114
  f(this, "plane");
50113
- f(this, "css3DRenderer", new Br());
50115
+ f(this, "css3DRenderer", new Hr());
50114
50116
  f(this, "camera");
50115
50117
  f(this, "scene");
50116
50118
  f(this, "container");
@@ -50309,7 +50311,7 @@ const Fa = /* @__PURE__ */ new Map();
50309
50311
  function TS(n) {
50310
50312
  if (Fa.has(n))
50311
50313
  return Fa.get(n).hooks;
50312
- const t = new kt();
50314
+ const t = new Mt();
50313
50315
  let e = null, i;
50314
50316
  const s = () => {
50315
50317
  e = requestAnimationFrame(s);
@@ -50354,7 +50356,7 @@ class ua {
50354
50356
  });
50355
50357
  f(this, "getBox", () => this.boundingBox ? this.boundingBox : (this.boundingBox = Ys(this.originObject3D), this.boundingBox));
50356
50358
  var h, u, d;
50357
- this.hooks = (h = t.sharedHooks) != null ? h : new kt(), this.internalHooks = (u = t.sharedInternalHooks) != null ? u : new kt(), this.camera = t.camera, this.model = t.model, this.originObject3D = t.originObject3D, this.helperObject3D = t.helperObject3D, this.container = t.container, this.scene = t.scene, this.domEvents = t.domEvents, this.onRender = (d = t.onRender) != null ? d : () => {
50359
+ this.hooks = (h = t.sharedHooks) != null ? h : new Mt(), this.internalHooks = (u = t.sharedInternalHooks) != null ? u : new Mt(), this.camera = t.camera, this.model = t.model, this.originObject3D = t.originObject3D, this.helperObject3D = t.helperObject3D, this.container = t.container, this.scene = t.scene, this.domEvents = t.domEvents, this.onRender = (d = t.onRender) != null ? d : () => {
50358
50360
  }, this.config = e != null ? e : {}, this.initialHelperPosition(), this.initialHelperQuaternion(), this.updateHelperScale(), this.cameraHooks = TS(this.camera), this.enable();
50359
50361
  const i = this.onSetOriginObjectScale.bind(this), s = this.onSetOriginObjectRotate.bind(this), o = this.onSetOriginObjectPosition.bind(this), r = this.onApplyOriginObjectScale.bind(this), a = this.onApplyOriginObjectRotate.bind(this), l = this.onApplyOriginObjectPosition.bind(this), c = this.initialHelperPosition.bind(this);
50360
50362
  this.cameraHooks.on("cameraUpdate", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", c), this.internalHooks.on("setObjectScale", i), this.internalHooks.on("setObjectRotate", s), this.internalHooks.on("setObjectPosition", o), this.internalHooks.on("applyObjectPosition", l), this.internalHooks.on("applyObjectRotate", a), this.internalHooks.on("applyObjectScale", r), this.hooks.on("moveEnd", this.updateHelperScale), this.internalHooks.on("setObjectPosition", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", this.updateHelperScale), this.disposers.push(() => {
@@ -50823,7 +50825,7 @@ class VS {
50823
50825
  enabled: !0,
50824
50826
  disposed: !1
50825
50827
  });
50826
- f(this, "hooks", new kt());
50828
+ f(this, "hooks", new Mt());
50827
50829
  f(this, "eventListener", {});
50828
50830
  t && this.addControllers(t), this.setState(this.state);
50829
50831
  }
@@ -51487,7 +51489,7 @@ class XS extends ua {
51487
51489
  }), "hideLineConnections" in this.helperObject3D && typeof this.helperObject3D.hideLineConnections == "function" && this.helperObject3D.hideLineConnections();
51488
51490
  try {
51489
51491
  this.originObject3D.updateMatrixWorld(!0), this.helperObject3D.updateMatrixWorld(!0);
51490
- const g = Yc(this.originObject3D), m = g ? g.getCenter(new w.Vector3()) : this.originObject3D.getWorldPosition(new w.Vector3()), b = c.clone().applyMatrix4(this.helperObject3D.matrixWorld).clone().sub(m).normalize(), P = m, E = this.solidGuide.createSolidLine(P, b, { color: 16777215, renderOrder: Fi.DRAG_GUIDE_LINE });
51492
+ const g = Xc(this.originObject3D), m = g ? g.getCenter(new w.Vector3()) : this.originObject3D.getWorldPosition(new w.Vector3()), b = c.clone().applyMatrix4(this.helperObject3D.matrixWorld).clone().sub(m).normalize(), P = m, E = this.solidGuide.createSolidLine(P, b, { color: 16777215, renderOrder: Fi.DRAG_GUIDE_LINE });
51491
51493
  this.scene.add(E), this.dragGuideLine = E, this.addFaceMesh();
51492
51494
  } catch (g) {
51493
51495
  }
@@ -51627,7 +51629,7 @@ class XS extends ua {
51627
51629
  return;
51628
51630
  const { draggingObject: e } = this.startInfo;
51629
51631
  this.originObject3D.updateMatrixWorld(!0), this.helperObject3D.updateMatrixWorld(!0);
51630
- const i = Yc(this.originObject3D), s = i ? i.getCenter(new w.Vector3()) : this.originObject3D.getWorldPosition(new w.Vector3()), r = e.position.clone().applyMatrix4(this.helperObject3D.matrixWorld).clone().sub(s).normalize(), a = s;
51632
+ const i = Xc(this.originObject3D), s = i ? i.getCenter(new w.Vector3()) : this.originObject3D.getWorldPosition(new w.Vector3()), r = e.position.clone().applyMatrix4(this.helperObject3D.matrixWorld).clone().sub(s).normalize(), a = s;
51631
51633
  this.solidGuide.updateSolidLine(this.dragGuideLine, a, r);
51632
51634
  }
51633
51635
  /**
@@ -51935,7 +51937,7 @@ class aA extends ms {
51935
51937
  f(this, "css3DObjectParentMap", /* @__PURE__ */ new Map());
51936
51938
  f(this, "css3DObjectModeMap", /* @__PURE__ */ new Map());
51937
51939
  f(this, "css3DRender");
51938
- this.five = e, this.css3DRender = new Br(this.five.scene), console.warn("Object3DHelper: 使用此插件,需要在初始化five时,设置five参数: { backgroundAlpha: 0, backgroundColor: 0x000000 }"), Object.assign(window, { [`__${Eh.toUpperCase()}_DEBUG__`]: this });
51940
+ this.five = e, this.css3DRender = new Hr(this.five.scene), console.warn("Object3DHelper: 使用此插件,需要在初始化five时,设置five参数: { backgroundAlpha: 0, backgroundColor: 0x000000 }"), Object.assign(window, { [`__${Eh.toUpperCase()}_DEBUG__`]: this });
51939
51941
  }
51940
51942
  /**
51941
51943
  * @description Show guide line
@@ -52005,7 +52007,7 @@ class aA extends ms {
52005
52007
  scaleHelper: !0,
52006
52008
  boundingBoxHelper: !1,
52007
52009
  positionFrom: "objectPosition"
52008
- }), i), { moveHelper: h, rotateHelper: u, scaleHelper: d, boundingBoxHelper: p } = c, g = s.hooks, m = new kt(), v = new Ke(this.five.camera, this.five.getElement()), b = (E) => {
52010
+ }), i), { moveHelper: h, rotateHelper: u, scaleHelper: d, boundingBoxHelper: p } = c, g = s.hooks, m = new Mt(), v = new Ke(this.five.camera, this.five.getElement()), b = (E) => {
52009
52011
  if (E)
52010
52012
  return typeof E == "boolean" ? E : E.enable;
52011
52013
  };
@@ -53273,10 +53275,10 @@ function Jm(n) {
53273
53275
  "--bg-image",
53274
53276
  /*fontConfig*/
53275
53277
  ((a = n[6]) == null ? void 0 : a.name) >= 16 ? `url(${Zm})` : `url(${qm})`
53276
- ), j(t, "min-width", It(
53278
+ ), j(t, "min-width", Ct(
53277
53279
  /*fontConfig*/
53278
53280
  (l = n[6]) == null ? void 0 : l.minWidth
53279
- )), y(s, "class", "room-label-item__bar svelte-1j96xkf"), j(s, "top", It(
53281
+ )), y(s, "class", "room-label-item__bar svelte-1j96xkf"), j(s, "top", Ct(
53280
53282
  /*barTopPosition*/
53281
53283
  n[10]
53282
53284
  ));
@@ -53321,11 +53323,11 @@ function Jm(n) {
53321
53323
  /*fontConfig*/
53322
53324
  ((c = n[6]) == null ? void 0 : c.name) >= 16 ? `url(${Zm})` : `url(${qm})`
53323
53325
  ), l & /*fontConfig*/
53324
- 64 && j(t, "min-width", It(
53326
+ 64 && j(t, "min-width", Ct(
53325
53327
  /*fontConfig*/
53326
53328
  (h = n[6]) == null ? void 0 : h.minWidth
53327
53329
  )), l & /*barTopPosition*/
53328
- 1024 && j(s, "top", It(
53330
+ 1024 && j(s, "top", Ct(
53329
53331
  /*barTopPosition*/
53330
53332
  n[10]
53331
53333
  ));
@@ -53406,7 +53408,7 @@ function yD(n, t, e) {
53406
53408
  const A = (S) => {
53407
53409
  if (p.state.mode !== "Panorama") {
53408
53410
  const B = -(10 + 54 * (1 - di(S.latitude) / 90)), J = B + h, te = J >= 0 ? 0 : -J / -u;
53409
- e(8, R.style.transform = `scaleY(${te})`, R), e(8, R.style.top = It(J), R), e(9, L.style.top = It(B), L);
53411
+ e(8, R.style.transform = `scaleY(${te})`, R), e(8, R.style.top = Ct(J), R), e(9, L.style.top = Ct(B), L);
53410
53412
  }
53411
53413
  };
53412
53414
  St(() => {
@@ -53436,11 +53438,11 @@ function yD(n, t, e) {
53436
53438
  n.$$.dirty & /*visible*/
53437
53439
  65536 && e(14, i = g ? "visible" : "hidden"), n.$$.dirty & /*fontSize*/
53438
53440
  262144 && e(6, s = vD[z]), n.$$.dirty & /*fontConfig*/
53439
- 64 && e(13, o = It(s == null ? void 0 : s.name)), n.$$.dirty & /*fontConfig*/
53441
+ 64 && e(13, o = Ct(s == null ? void 0 : s.name)), n.$$.dirty & /*fontConfig*/
53440
53442
  64 && e(20, r = (S = s == null ? void 0 : s.padding) == null ? void 0 : S.room), n.$$.dirty & /*padding*/
53441
- 1048576 && e(12, a = `${It(r[1])} ${It(r[0])}`), n.$$.dirty & /*fontConfig*/
53443
+ 1048576 && e(12, a = `${Ct(r[1])} ${Ct(r[0])}`), n.$$.dirty & /*fontConfig*/
53442
53444
  64 && e(21, l = s == null ? void 0 : s.lineHeight), n.$$.dirty & /*textLineHeight*/
53443
- 2097152 && e(11, c = It(l)), n.$$.dirty & /*textLineHeight, padding*/
53445
+ 2097152 && e(11, c = Ct(l)), n.$$.dirty & /*textLineHeight, padding*/
53444
53446
  3145728 && e(19, h = l + r[1] * 2), n.$$.dirty & /*textHeight*/
53445
53447
  524288 && e(10, u = -(64 - h));
53446
53448
  }, [
@@ -53495,7 +53497,7 @@ class cA extends Pe {
53495
53497
  );
53496
53498
  }
53497
53499
  }
53498
- class wD extends R0 {
53500
+ class wD extends j0 {
53499
53501
  constructor(e) {
53500
53502
  super();
53501
53503
  f(this, "areaMakerItem");
@@ -53551,7 +53553,7 @@ class PD {
53551
53553
  /** 标注标签的显示层级 */
53552
53554
  f(this, "tagZIndex", 0);
53553
53555
  /** 标注实例的事件处理器 */
53554
- f(this, "hooks", new kt());
53556
+ f(this, "hooks", new Mt());
53555
53557
  /** 自定义 Dom */
53556
53558
  f(this, "itemRenderer");
53557
53559
  /** 数据 */
@@ -53688,7 +53690,7 @@ class PD {
53688
53690
  });
53689
53691
  var l, c, h, u;
53690
53692
  const i = e.object_data, s = i.bottom_y, o = i.height, r = new w.Color((l = i.color) != null ? l : "#FFFFFF"), a = (c = i.opacity) != null ? c : 0.4;
53691
- this.data = e, this.id = e.id, this.name = (h = e.name) != null ? h : "", this.plugin = t, this.height = o, this.bottomY = s, this.opacity = a, this.shape = new w.Shape().fromJSON(i.shape), this.floorIndex = e.floor_index, this.makerObject = new w.Mesh(Km(this.shape, o), CD(r, a)), Hc(this.makerObject, s), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new _0(
53693
+ this.data = e, this.id = e.id, this.name = (h = e.name) != null ? h : "", this.plugin = t, this.height = o, this.bottomY = s, this.opacity = a, this.shape = new w.Shape().fromJSON(i.shape), this.floorIndex = e.floor_index, this.makerObject = new w.Mesh(Km(this.shape, o), CD(r, a)), Hc(this.makerObject, s), this.makerObject.material.depthTest = this.plugin.config.modelDepthTest, this.outline = new R0(
53692
53694
  new w.EdgesGeometry(this.makerObject.geometry),
53693
53695
  new w.LineBasicMaterial({ color: r, transparent: !0 })
53694
53696
  ), Hc(this.outline, s), this.outline.material.depthTest = this.plugin.config.modelDepthTest, this.setHeight(o), this.modelGroup = new wD(this), this.modelGroup.visible = (u = i.visible) != null ? u : !0;
@@ -54442,11 +54444,11 @@ class Gi extends mi {
54442
54444
  f(this, "off", (...e) => dt.modules.fiveDomEvents.removeEventListener(this, ...e));
54443
54445
  f(this, "applyObjectMatrixWorld", (e, i) => {
54444
54446
  const s = i != null ? i : this;
54445
- return s.updateMatrixWorld(), Vr(s, e);
54447
+ return s.updateMatrixWorld(), Br(s, e);
54446
54448
  });
54447
54449
  f(this, "applyObjectReversalMatrixWorld", (e, i) => {
54448
54450
  const s = i != null ? i : this;
54449
- return s.updateMatrixWorld(), sy(s, e);
54451
+ return s.updateMatrixWorld(), Zb(s, e);
54450
54452
  });
54451
54453
  e != null && e.id && (this.uuid = e.id), this.config = H({ defaultAction: !0, occlusionVisibility: !0, occlusionMode: "translucence" }, i), e && (Ne((s = this.config) == null ? void 0 : s.occlusionMode) && (e.style = ce(H({}, e.style), { occlusionMode: this.config.occlusionMode })), Ne((o = this.config) == null ? void 0 : o.occlusionVisibility) && (e.style = ce(H({}, e.style), { occlusionVisibility: this.config.occlusionVisibility }))), pt("esc", () => {
54452
54454
  this.stopCreating();
@@ -54554,7 +54556,7 @@ class Gi extends mi {
54554
54556
  class Jl extends mi {
54555
54557
  constructor(e) {
54556
54558
  super();
54557
- f(this, "hooks", new kt());
54559
+ f(this, "hooks", new Mt());
54558
54560
  f(this, "originObject");
54559
54561
  this.originObject = e;
54560
54562
  }
@@ -56409,7 +56411,7 @@ function EA(n, t, e) {
56409
56411
  redo: P
56410
56412
  };
56411
56413
  }
56412
- const Io = class extends kt {
56414
+ const Io = class extends Mt {
56413
56415
  constructor(e, i, s) {
56414
56416
  super();
56415
56417
  f(this, "group");
@@ -56612,7 +56614,7 @@ function FD(n, ...t) {
56612
56614
  n.children.includes(e) || e && n.add(e);
56613
56615
  });
56614
56616
  }
56615
- class nd extends kt {
56617
+ class nd extends Mt {
56616
56618
  constructor(e) {
56617
56619
  var s, o;
56618
56620
  super();
@@ -57154,7 +57156,7 @@ const DL = (...n) => new YD(...n), ZD = /* @__PURE__ */ Object.freeze(/* @__PURE
57154
57156
  createRectangle: td
57155
57157
  }, Symbol.toStringTag, { value: "Module" })), TL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
57156
57158
  __proto__: null,
57157
- ANIME_PRESETS: s1,
57159
+ ANIME_PRESETS: n1,
57158
57160
  BetterTween: Hs,
57159
57161
  CURRENT_PANO_IMAGE_DEFAULT_IMAGE: iu,
57160
57162
  DEFAULT_ANIME_CONFIG: Jh,
@@ -57169,38 +57171,38 @@ const DL = (...n) => new YD(...n), ZD = /* @__PURE__ */ Object.freeze(/* @__PURE
57169
57171
  Interval: Uc,
57170
57172
  LegacyPointHelper: Ew,
57171
57173
  LightTag: ta,
57172
- LineSegments: _0,
57174
+ LineSegments: R0,
57173
57175
  MODEL_CHASSIS_COMPASS_DEFAULT_MODEL: tu,
57174
57176
  MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL: nu,
57175
57177
  Magnifier: jh,
57176
- Object3D: R0,
57178
+ Object3D: j0,
57177
57179
  PANO_COMPASS_DEFAULT_IMAGE: su,
57178
57180
  PANO_SPATIAL_TAG_BLUR_IMAGE: $h,
57179
57181
  PANO_TAG_DEFAULT_LINK_ICON: eu,
57180
57182
  PointDomHelper: bw,
57181
- PointHelper: j0,
57183
+ PointHelper: O0,
57182
57184
  PointSelector: xl,
57183
- PointSelectorHelper: D0,
57185
+ PointSelectorHelper: M0,
57184
57186
  Rectangle: zb,
57185
57187
  animeMap: Cn,
57186
57188
  awaitNextFrame: Tw,
57187
57189
  blink: zl,
57188
- blinkWithPreset: fw,
57190
+ blinkWithPreset: rw,
57189
57191
  bounding: Hh,
57190
57192
  boundingBox: Ys,
57191
- boundingSphere: B0,
57193
+ boundingSphere: _0,
57192
57194
  boxVertex: es,
57193
- boxVertexes: Ty,
57195
+ boxVertexes: Iy,
57194
57196
  checkFiveModelLoaded: kw,
57195
- cleanup: gw,
57197
+ cleanup: aw,
57196
57198
  convexHull: Ob,
57197
57199
  equal: Ft,
57198
57200
  fiveModelIsLoaded: I0,
57199
57201
  getCoordsFromClient: Nb,
57200
57202
  getCoordsFromElement: C0,
57201
57203
  getFrameTime: Lw,
57202
- getIntersectFromRelativePosition: pw,
57203
- getRaycasterFromFivePointer: mw,
57204
+ getIntersectFromRelativePosition: lw,
57205
+ getRaycasterFromFivePointer: cw,
57204
57206
  initialCSS3DRender: ia,
57205
57207
  inside: vd,
57206
57208
  isModelLike: wi,
@@ -57211,7 +57213,7 @@ const DL = (...n) => new YD(...n), ZD = /* @__PURE__ */ Object.freeze(/* @__PURE
57211
57213
  nextFrame: oa,
57212
57214
  notNil: Ne,
57213
57215
  pointInPolygon: vd,
57214
- reblink: a1,
57216
+ reblink: r1,
57215
57217
  replaceStaticPrefix: tn,
57216
57218
  requestAnimationFrameInterval: Jo,
57217
57219
  sculpt: ZD,
@@ -57220,14 +57222,14 @@ const DL = (...n) => new YD(...n), ZD = /* @__PURE__ */ Object.freeze(/* @__PURE
57220
57222
  uuid: Ot,
57221
57223
  waitFiveModelLoaded: Ii,
57222
57224
  worldBounding: Sl,
57223
- worldBoundingBox: Yc,
57224
- worldBoundingSphere: V0
57225
+ worldBoundingBox: Xc,
57226
+ worldBoundingSphere: B0
57225
57227
  }, Symbol.toStringTag, { value: "Module" }));
57226
57228
  mb();
57227
57229
  pb();
57228
57230
  export {
57229
57231
  ML as AreaMakerPlugin,
57230
- Br as CSS3DRender,
57232
+ Hr as CSS3DRender,
57231
57233
  Ol as CSS3DRenderPlugin,
57232
57234
  YC as CameraMovementEffect,
57233
57235
  _T as CameraMovementPlugin,