@realsee/dnalogel 3.81.16-dev.1 → 3.81.17

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 (642) hide show
  1. package/CHANGELOG.md +12 -6
  2. package/README.md +10 -0
  3. package/dist/MeasurePlugin/Controller.d.ts +12 -0
  4. package/dist/MeasurePlugin/index.d.ts +1 -1
  5. package/dist/index.cjs.js +104 -104
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.js +7163 -7398
  8. package/dist/index.umd.js +98 -98
  9. package/docs/assets/navigation.js +1 -1
  10. package/docs/assets/search.js +1 -1
  11. package/docs/classes/AnimationScriptAdapterSafetyError.html +2 -2
  12. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  13. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  14. package/docs/classes/CSS3DRender.html +2 -2
  15. package/docs/classes/DigitalHuman.html +2 -2
  16. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceNameplate.html +2 -2
  17. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +2 -2
  18. package/docs/classes/DigitalPlayground.html +2 -2
  19. package/docs/classes/DigitalStateMachine.html +2 -2
  20. package/docs/classes/FireControl.html +2 -2
  21. package/docs/classes/FireScenePlayer.html +2 -2
  22. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  23. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  24. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  25. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +15 -15
  26. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +15 -15
  27. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +15 -15
  28. package/docs/classes/ModelRoomLabelController.html +2 -2
  29. package/docs/classes/MoveController.html +2 -2
  30. package/docs/classes/Object3DHelperController.html +2 -2
  31. package/docs/classes/PaintBrush.html +2 -2
  32. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  33. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  34. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  35. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  36. package/docs/classes/PanoTagPluginController.html +2 -2
  37. package/docs/classes/Sculpt.html +15 -15
  38. package/docs/classes/Util.BetterTween.html +2 -2
  39. package/docs/classes/Util.FiveDomEvents.html +2 -2
  40. package/docs/classes/Util.FivePuppet.html +2 -2
  41. package/docs/classes/Util.Interval.html +2 -2
  42. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  43. package/docs/classes/Util.LightTag.html +2 -2
  44. package/docs/classes/Util.LineSegments.html +2 -2
  45. package/docs/classes/Util.Magnifier.html +2 -2
  46. package/docs/classes/Util.Object3D.html +2 -2
  47. package/docs/classes/Util.PointDomHelper.html +2 -2
  48. package/docs/classes/Util.PointHelper.html +2 -2
  49. package/docs/classes/Util.PointSelector.html +15 -15
  50. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  51. package/docs/classes/Util.Rectangle.html +2 -2
  52. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  53. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  54. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  55. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  56. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  57. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  58. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  59. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  60. package/docs/classes/Util.sculpt.LineMesh.html +5 -5
  61. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  62. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  63. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  64. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  65. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  66. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  67. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  68. package/docs/classes/WalkController.html +2 -2
  69. package/docs/enums/CameraMovementEffect.html +2 -2
  70. package/docs/enums/ContentType.html +2 -2
  71. package/docs/enums/DIRECTION.html +2 -2
  72. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  73. package/docs/enums/DimensionType.html +2 -2
  74. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  75. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  76. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  77. package/docs/enums/PointType.html +2 -2
  78. package/docs/enums/Rotation.html +2 -2
  79. package/docs/functions/AreaMakerPlugin.html +1 -1
  80. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  81. package/docs/functions/CameraMovementPlugin.html +2 -2
  82. package/docs/functions/CruisePlugin.html +1 -1
  83. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  84. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  85. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
  86. package/docs/functions/DigitalPerformanceV2.normalizeDigitalPerformanceName.html +2 -2
  87. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  88. package/docs/functions/GuideLinePlugin.html +1 -1
  89. package/docs/functions/ItemLabelPlugin.html +1 -1
  90. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  91. package/docs/functions/MeasurePlugin.html +1 -1
  92. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  93. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  94. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  95. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  96. package/docs/functions/ModelMakerPlugin.html +1 -1
  97. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  98. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  99. package/docs/functions/ModelViewPlugin.html +2 -2
  100. package/docs/functions/MovePlugin.html +1 -1
  101. package/docs/functions/Object3DHelperPlugin.html +1 -1
  102. package/docs/functions/PanoCompassPlugin.html +1 -1
  103. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  104. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  105. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  106. package/docs/functions/PanoMeasurePlugin.html +1 -1
  107. package/docs/functions/PanoRulerPlugin.html +2 -2
  108. package/docs/functions/PanoRulerProPlugin.html +2 -2
  109. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  110. package/docs/functions/PanoTagPlugin.html +1 -1
  111. package/docs/functions/PanoVideoPlugin.html +2 -2
  112. package/docs/functions/PipelinePlugin.html +1 -1
  113. package/docs/functions/SculptPlugin.html +2 -2
  114. package/docs/functions/SculptPluginForFive.html +2 -2
  115. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  116. package/docs/functions/Util.awaitNextFrame.html +1 -1
  117. package/docs/functions/Util.blink.html +2 -2
  118. package/docs/functions/Util.blinkWithPreset.html +2 -2
  119. package/docs/functions/Util.bounding.html +1 -1
  120. package/docs/functions/Util.boundingBox.html +1 -1
  121. package/docs/functions/Util.boundingSphere.html +1 -1
  122. package/docs/functions/Util.boxVertex.html +2 -2
  123. package/docs/functions/Util.boxVertexes.html +1 -1
  124. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  125. package/docs/functions/Util.cleanup.html +2 -2
  126. package/docs/functions/Util.convexHull.html +2 -2
  127. package/docs/functions/Util.equal.html +2 -2
  128. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  129. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  130. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  131. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  132. package/docs/functions/Util.getFrameTime.html +2 -2
  133. package/docs/functions/Util.getGeometryArea.html +1 -1
  134. package/docs/functions/Util.getGeometryInfo.html +1 -1
  135. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  136. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  137. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  138. package/docs/functions/Util.inside.html +1 -1
  139. package/docs/functions/Util.isModelLike.html +1 -1
  140. package/docs/functions/Util.isNil.html +2 -2
  141. package/docs/functions/Util.isPanoramaLike.html +1 -1
  142. package/docs/functions/Util.lookObject.html +2 -2
  143. package/docs/functions/Util.lookPoint.html +2 -2
  144. package/docs/functions/Util.nextFrame.html +1 -1
  145. package/docs/functions/Util.notNil.html +2 -2
  146. package/docs/functions/Util.reblink.html +2 -2
  147. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  148. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  149. package/docs/functions/Util.sculpt.createBox.html +1 -1
  150. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  151. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  152. package/docs/functions/Util.sculpt.createLine.html +2 -2
  153. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  154. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  155. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  156. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  157. package/docs/functions/Util.sculpt.transformUnit.html +2 -2
  158. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  159. package/docs/functions/Util.tag.html +1 -1
  160. package/docs/functions/Util.triangleArea.html +2 -2
  161. package/docs/functions/Util.triangleCenter.html +2 -2
  162. package/docs/functions/Util.tweenProgress.html +1 -1
  163. package/docs/functions/Util.uuid.html +2 -2
  164. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  165. package/docs/functions/Util.worldBounding.html +1 -1
  166. package/docs/functions/Util.worldBoundingBox.html +1 -1
  167. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  168. package/docs/functions/classifyMovementTrack.html +1 -1
  169. package/docs/functions/createPolyline.html +2 -2
  170. package/docs/functions/getAreaBox3.html +2 -2
  171. package/docs/functions/getAreaVertices.html +2 -2
  172. package/docs/functions/getEffectivePointActionDuration.html +1 -1
  173. package/docs/functions/getEntryArea.html +2 -2
  174. package/docs/functions/getMovementActionDuration.html +1 -1
  175. package/docs/functions/hasMovementV2Signal.html +1 -1
  176. package/docs/functions/isConverterSafeMovementMatrix.html +1 -1
  177. package/docs/functions/pluginFlag.html +1 -1
  178. package/docs/functions/transformAnimationDetailToDigitalScript.html +2 -2
  179. package/docs/functions/transformScriptData.html +2 -2
  180. package/docs/functions/validatePolygon.html +1 -0
  181. package/docs/hierarchy.html +1 -1
  182. package/docs/index.html +9 -2
  183. package/docs/interfaces/AnimationScriptAdapterOptions.html +2 -2
  184. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  185. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  186. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  187. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  188. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  189. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  190. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  191. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  192. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  193. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  194. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  195. package/docs/interfaces/BoxPosition.html +2 -2
  196. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  197. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  198. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  199. package/docs/interfaces/ChapterLocation.html +2 -2
  200. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  201. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  202. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  203. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  204. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  205. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  206. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  207. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  208. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  209. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  210. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  211. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  212. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  213. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  214. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  215. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  216. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  217. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  218. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  219. package/docs/interfaces/DigitalCameraState.html +2 -2
  220. package/docs/interfaces/DigitalChapter.html +2 -2
  221. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  222. package/docs/interfaces/DigitalDataState.html +2 -2
  223. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  224. package/docs/interfaces/DigitalEffectState.html +2 -2
  225. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  226. package/docs/interfaces/DigitalItemState.html +2 -2
  227. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  228. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  229. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  230. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  231. package/docs/interfaces/DigitalModelState.html +2 -2
  232. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  233. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +2 -2
  234. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +2 -2
  235. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +2 -2
  236. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateBinding.html +2 -2
  237. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateOptions.html +2 -2
  238. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceNameplateRenderContext.html +2 -2
  239. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +2 -2
  240. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +2 -2
  241. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +2 -2
  242. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
  243. package/docs/interfaces/DigitalScript.html +2 -2
  244. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  245. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  246. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  247. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  248. package/docs/interfaces/FireArea.html +2 -2
  249. package/docs/interfaces/FireModel.html +2 -2
  250. package/docs/interfaces/FireSceneConfig.html +2 -2
  251. package/docs/interfaces/FireSequencePlayerOptions.html +2 -2
  252. package/docs/interfaces/FireSequenceStep.html +2 -2
  253. package/docs/interfaces/FireVector3.html +2 -2
  254. package/docs/interfaces/FloorplanBounding.html +2 -2
  255. package/docs/interfaces/FloorplanData.html +2 -2
  256. package/docs/interfaces/FloorplanEntrance.html +2 -2
  257. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  258. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  259. package/docs/interfaces/FloorplanFloorData.html +2 -2
  260. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  261. package/docs/interfaces/FloorplanObserver.html +2 -2
  262. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  263. package/docs/interfaces/FloorplanPosition.html +2 -2
  264. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  265. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  266. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  267. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  268. package/docs/interfaces/FloorplanServerData.html +2 -2
  269. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  270. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  271. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  272. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  273. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  274. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  275. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  276. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  277. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  278. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  279. package/docs/interfaces/FloorplanServerStyledFloorplan.html +2 -2
  280. package/docs/interfaces/FloorplanServerStyledImage.html +2 -2
  281. package/docs/interfaces/GlobalProgress.html +2 -2
  282. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  283. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  284. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  285. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  286. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  287. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  288. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  289. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  290. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  291. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  292. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  293. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  294. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  295. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  296. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  297. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  298. package/docs/interfaces/HelperOffset.html +2 -2
  299. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  300. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  301. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  302. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  303. package/docs/interfaces/LegacyScriptTransformer.html +2 -2
  304. package/docs/interfaces/MinMax.html +2 -2
  305. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  306. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  307. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  308. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  309. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  310. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  311. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  312. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  313. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  314. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  315. package/docs/interfaces/ModelMakerPluginType.ModelMakerPluginConfig.html +2 -2
  316. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  317. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  318. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  319. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  320. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  321. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  322. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  323. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  324. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  325. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  326. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  327. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  328. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  329. package/docs/interfaces/Object3DHelperState.html +2 -2
  330. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  331. package/docs/interfaces/PaintBrushAction.html +2 -2
  332. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  333. package/docs/interfaces/PaintBrushState.html +2 -2
  334. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  335. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  336. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  337. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  338. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  339. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  340. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  341. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  342. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  343. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  344. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  345. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  346. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  347. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  348. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  349. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  350. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  351. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  352. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  353. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  354. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  355. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  356. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  357. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  358. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  359. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  360. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  361. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  362. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  363. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  364. package/docs/interfaces/PlaybackController.html +2 -2
  365. package/docs/interfaces/PlaybackManager.html +2 -2
  366. package/docs/interfaces/PlaybackSession.html +2 -2
  367. package/docs/interfaces/PluginEventMap.html +2 -2
  368. package/docs/interfaces/Point.html +2 -2
  369. package/docs/interfaces/ProgressBarEvents.html +2 -2
  370. package/docs/interfaces/Room.html +2 -2
  371. package/docs/interfaces/RoomInfo.html +2 -2
  372. package/docs/interfaces/RoomLabel.html +2 -2
  373. package/docs/interfaces/RoomRules.html +1 -1
  374. package/docs/interfaces/Rooms.html +1 -1
  375. package/docs/interfaces/Scissor.html +2 -2
  376. package/docs/interfaces/SculptConfig.html +2 -2
  377. package/docs/interfaces/State.html +2 -2
  378. package/docs/interfaces/StyledFloorplan.html +2 -2
  379. package/docs/interfaces/StyledFloorplanImage.html +2 -2
  380. package/docs/interfaces/StyledFloorplanRoomLabel.html +2 -2
  381. package/docs/interfaces/TagCacheInterface.html +2 -2
  382. package/docs/interfaces/TagConfig.html +2 -2
  383. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  384. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  385. package/docs/interfaces/TagIconUrl.html +2 -2
  386. package/docs/interfaces/TagObjectGroup.html +2 -2
  387. package/docs/interfaces/TagState.html +2 -2
  388. package/docs/interfaces/TagStyle.html +2 -2
  389. package/docs/interfaces/Tags.html +2 -2
  390. package/docs/interfaces/TemporaryState.html +2 -2
  391. package/docs/interfaces/TraceManager.html +2 -2
  392. package/docs/interfaces/TracePoint.html +2 -2
  393. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  394. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  395. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  396. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  397. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  398. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  399. package/docs/interfaces/Util.MagnifierParameter.html +3 -3
  400. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  401. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  402. package/docs/interfaces/Util.PointIntersection.html +2 -2
  403. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  404. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  405. package/docs/modules/AreaMakerPluginType.html +2 -2
  406. package/docs/modules/CruisePluginTypes.html +2 -2
  407. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  408. package/docs/modules/DigitalPerformanceV2.html +2 -2
  409. package/docs/modules/GuideLineItem.html +2 -2
  410. package/docs/modules/GuideLineModeItem.html +2 -2
  411. package/docs/modules/GuideLinePluginType.html +2 -2
  412. package/docs/modules/ModelMakerPluginType.html +2 -2
  413. package/docs/modules/PanoVideoPluginType.html +2 -2
  414. package/docs/modules/SculptData.html +2 -2
  415. package/docs/modules/SculptType.html +2 -2
  416. package/docs/modules/Util.html +2 -2
  417. package/docs/modules/Util.sculpt.html +2 -2
  418. package/docs/modules.html +7 -7
  419. package/docs/types/AddObject3DHelperConfig.html +2 -2
  420. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  421. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  422. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  423. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  424. package/docs/types/ArrayPosition.html +1 -1
  425. package/docs/types/AudioAppearance.html +1 -1
  426. package/docs/types/BoxTag.html +2 -2
  427. package/docs/types/CSS3DRenderExportType.html +1 -1
  428. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  429. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  430. package/docs/types/CanonicalMovementTrackPlan.html +1 -1
  431. package/docs/types/ClassFunctionParameters.html +1 -1
  432. package/docs/types/Color.html +1 -1
  433. package/docs/types/ContentTypeConfigKey.html +1 -1
  434. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  435. package/docs/types/ContentTypeMap.html +1 -1
  436. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  437. package/docs/types/Create3DElementReturnType.html +1 -1
  438. package/docs/types/CruisePluginExportType.html +1 -1
  439. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  440. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  441. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  442. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  443. package/docs/types/DeprecatedTagProperty.html +2 -2
  444. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  445. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  446. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
  447. package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
  448. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
  449. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
  450. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
  451. package/docs/types/Direction-1.html +1 -1
  452. package/docs/types/Direction4.html +1 -1
  453. package/docs/types/ElementRenderer.html +2 -2
  454. package/docs/types/FireModelType.html +2 -2
  455. package/docs/types/FireSequenceKind.html +2 -2
  456. package/docs/types/FireSpreadBounds.html +2 -2
  457. package/docs/types/FloorplanAffineTransform.html +1 -1
  458. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  459. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  460. package/docs/types/FloorplanRuleLabels.html +2 -2
  461. package/docs/types/FloorplanServerAffineTransform.html +1 -1
  462. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  463. package/docs/types/GuideLinePluginExportType.html +1 -1
  464. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  465. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  466. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  467. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  468. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  469. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  470. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  471. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  472. package/docs/types/HelperEventMap.html +1 -1
  473. package/docs/types/InternalHelperEventMap.html +1 -1
  474. package/docs/types/KeyframeType.html +1 -1
  475. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  476. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  477. package/docs/types/MaskPosition.html +2 -2
  478. package/docs/types/MaskTag.html +2 -2
  479. package/docs/types/MeasureEndReason.html +1 -0
  480. package/docs/types/MeasureInteractionState.html +2 -0
  481. package/docs/types/MeasurePluginConfig.html +10 -0
  482. package/docs/types/MeasurePluginEventMap.html +1 -0
  483. package/docs/types/MediaData.html +2 -2
  484. package/docs/types/MediaOperations.html +1 -1
  485. package/docs/types/MediaStore.html +1 -1
  486. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  487. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  488. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  489. package/docs/types/ModelId.html +1 -1
  490. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  491. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  492. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  493. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  494. package/docs/types/ModelMakerPluginType.TagOcclusionScope.html +2 -2
  495. package/docs/types/ModelMakerPluginType.TagOcclusionScopeConfig.html +2 -2
  496. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  497. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  498. package/docs/types/MoveArgs.html +2 -2
  499. package/docs/types/MoveOpts.html +2 -2
  500. package/docs/types/MovementConfig.html +1 -1
  501. package/docs/types/MovementPosition.html +1 -1
  502. package/docs/types/MovementTrackClassification.html +1 -1
  503. package/docs/types/MovementTrackConflictReason.html +1 -1
  504. package/docs/types/MovementTrackProjection.html +1 -1
  505. package/docs/types/Object3DHelperEventMap.html +1 -1
  506. package/docs/types/ObjectFit.html +1 -1
  507. package/docs/types/PaintBrushEventMap.html +1 -1
  508. package/docs/types/PanoCompassPluginData.html +1 -1
  509. package/docs/types/PanoCompassPluginExportType.html +1 -1
  510. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  511. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  512. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  513. package/docs/types/PanoIndex.html +1 -1
  514. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  515. package/docs/types/PanoMeasureReturnType.html +1 -1
  516. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  517. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  518. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  519. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  520. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  521. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  522. package/docs/types/PipelinePluginParameterType.html +1 -1
  523. package/docs/types/PipelinePluginReturnType.html +1 -1
  524. package/docs/types/PlaneTag.html +2 -2
  525. package/docs/types/Point2DTag.html +2 -2
  526. package/docs/types/Point3DTag.html +2 -2
  527. package/docs/types/PointAction.html +1 -1
  528. package/docs/types/PointTagInstance.html +1 -1
  529. package/docs/types/PolygonPosition.html +2 -2
  530. package/docs/types/PolygonTag.html +2 -2
  531. package/docs/types/Position.html +1 -1
  532. package/docs/types/PositionFrom.html +1 -1
  533. package/docs/types/ProgressListener.html +1 -1
  534. package/docs/types/RotateArgs.html +2 -2
  535. package/docs/types/RotateOpts.html +2 -2
  536. package/docs/types/RuleLabelsKey.html +1 -1
  537. package/docs/types/RuleLabelsValue.html +1 -1
  538. package/docs/types/ScaleCallback.html +1 -1
  539. package/docs/types/ScalePosition.html +2 -2
  540. package/docs/types/SculptData.BoxData.html +1 -1
  541. package/docs/types/SculptData.CircleData.html +1 -1
  542. package/docs/types/SculptData.CylinderData.html +1 -1
  543. package/docs/types/SculptData.PointData.html +1 -1
  544. package/docs/types/SculptData.PolygonData.html +1 -1
  545. package/docs/types/SculptData.PolylineData.html +1 -1
  546. package/docs/types/SculptData.PrismData.html +1 -1
  547. package/docs/types/SculptData.RectangleData.html +1 -1
  548. package/docs/types/SculptType.Theme.html +2 -2
  549. package/docs/types/StateType.html +1 -1
  550. package/docs/types/StickType.html +1 -1
  551. package/docs/types/Tag.html +2 -2
  552. package/docs/types/Tag2D.html +2 -2
  553. package/docs/types/Tag3D.html +2 -2
  554. package/docs/types/TagClickParams.html +1 -1
  555. package/docs/types/TagConfigByKey.html +1 -1
  556. package/docs/types/TagContentType.html +1 -1
  557. package/docs/types/TagContentTypeMapping.html +1 -1
  558. package/docs/types/TagDimensionType.html +1 -1
  559. package/docs/types/TagElement.html +2 -2
  560. package/docs/types/TagEvents.html +1 -1
  561. package/docs/types/TagGLTFObject.html +1 -1
  562. package/docs/types/TagHooks.html +1 -1
  563. package/docs/types/TagId.html +1 -1
  564. package/docs/types/TagInstance.html +1 -1
  565. package/docs/types/TagPlacement.html +2 -2
  566. package/docs/types/TagPointType.html +2 -2
  567. package/docs/types/TagRendererMap.html +1 -1
  568. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  569. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  570. package/docs/types/TrackPoint.html +1 -1
  571. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  572. package/docs/types/Util.AdherePoint.html +2 -2
  573. package/docs/types/Util.PointSelectorConfig.html +1 -1
  574. package/docs/types/Util.SupportedTarget.html +2 -2
  575. package/docs/types/Util.Target.html +2 -2
  576. package/docs/types/Util.ThreeObject.html +2 -2
  577. package/docs/types/WorkCode.html +1 -1
  578. package/docs/variables/DigitalPerformanceV2.DEFAULT_DIGITAL_PERFORMANCE_NAME_MAX_LENGTH.html +1 -1
  579. package/docs/variables/FIRE_ACTION_DURATION_MS.html +2 -2
  580. package/docs/variables/FIRE_SPREAD_SPEED.html +2 -2
  581. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  582. package/docs/variables/MODEL_SCALE_RANGE.html +2 -2
  583. package/docs/variables/MOVEMENT_OCCURRENCE_EPSILON.html +1 -1
  584. package/docs/variables/MOVEMENT_POSITION_EPSILON.html +1 -1
  585. package/docs/variables/MOVEMENT_SCHEMA_VERSION.html +1 -1
  586. package/docs/variables/PLUGIN.html +1 -1
  587. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  588. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  589. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  590. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  591. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  592. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  593. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  594. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  595. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  596. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  597. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  598. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  599. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  600. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  601. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  602. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  603. package/docs/variables/defaultGlobalConfig.html +1 -1
  604. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  605. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  606. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  607. package/libs/MeasurePlugin/Controller.d.ts +12 -0
  608. package/libs/MeasurePlugin/Controller.js +186 -175
  609. package/libs/MeasurePlugin/index.d.ts +1 -1
  610. package/libs/Sculpt/Meshes/Line.js +12 -12
  611. package/libs/base/BasePlugin.js +1 -1
  612. package/libs/index.d.ts +0 -1
  613. package/libs/index.js +190 -195
  614. package/libs/shared-utils/logger.js +1 -1
  615. package/package.json +1 -1
  616. package/dist/MeasurePluginV2/Controller.d.ts +0 -20
  617. package/dist/MeasurePluginV2/Magnifier.d.ts +0 -36
  618. package/dist/MeasurePluginV2/PointOverlay.d.ts +0 -66
  619. package/dist/MeasurePluginV2/index.d.ts +0 -25
  620. package/docs/classes/MeasureV2.MeasureControllerV2.html +0 -74
  621. package/docs/classes/MeasureV2.MeasureMagnifier.html +0 -33
  622. package/docs/functions/MeasureV2.MeasurePluginV2.html +0 -1
  623. package/docs/functions/MeasureV2.drawMeasureOverlay.html +0 -3
  624. package/docs/functions/MeasureV2.getWorldNormal.html +0 -3
  625. package/docs/functions/MeasureV2.validatePolygon.html +0 -1
  626. package/docs/interfaces/MeasureV2.MagnifierViewport.html +0 -17
  627. package/docs/interfaces/MeasureV2.MeasureMagnifierOptions.html +0 -15
  628. package/docs/modules/MeasureV2.html +0 -16
  629. package/docs/types/MeasureV2.MeasureControllerV2Interface.html +0 -1
  630. package/docs/types/MeasureV2.MeasureEndReason.html +0 -1
  631. package/docs/types/MeasureV2.MeasurePluginConfig.html +0 -10
  632. package/docs/types/MeasureV2.MeasurePluginEventMap.html +0 -1
  633. package/docs/types/MeasureV2.MeasurePluginV2ParamsInterface.html +0 -1
  634. package/docs/variables/MeasureV2.OVERLAY_STYLE.html +0 -14
  635. package/libs/MeasurePluginV2/Controller.d.ts +0 -20
  636. package/libs/MeasurePluginV2/Controller.js +0 -51
  637. package/libs/MeasurePluginV2/Magnifier.d.ts +0 -36
  638. package/libs/MeasurePluginV2/Magnifier.js +0 -91
  639. package/libs/MeasurePluginV2/PointOverlay.d.ts +0 -66
  640. package/libs/MeasurePluginV2/PointOverlay.js +0 -142
  641. package/libs/MeasurePluginV2/index.d.ts +0 -25
  642. package/libs/MeasurePluginV2/index.js +0 -34
@@ -1,16 +1,16 @@
1
- var H = Object.defineProperty, B = Object.defineProperties;
1
+ var B = Object.defineProperty, H = Object.defineProperties;
2
2
  var V = Object.getOwnPropertyDescriptors;
3
3
  var _ = Object.getOwnPropertySymbols;
4
4
  var U = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable;
5
- var D = (m, f, e) => f in m ? H(m, f, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[f] = e, p = (m, f) => {
5
+ var I = (y, f, e) => f in y ? B(y, f, { enumerable: !0, configurable: !0, writable: !0, value: e }) : y[f] = e, p = (y, f) => {
6
6
  for (var e in f || (f = {}))
7
- U.call(f, e) && D(m, e, f[e]);
7
+ U.call(f, e) && I(y, e, f[e]);
8
8
  if (_)
9
9
  for (var e of _(f))
10
- T.call(f, e) && D(m, e, f[e]);
11
- return m;
12
- }, E = (m, f) => B(m, V(f));
13
- var s = (m, f, e) => (D(m, typeof f != "symbol" ? f + "" : f, e), e);
10
+ T.call(f, e) && I(y, e, f[e]);
11
+ return y;
12
+ }, E = (y, f) => H(y, V(f));
13
+ var o = (y, f, e) => (I(y, typeof f != "symbol" ? f + "" : f, e), e);
14
14
  import * as u from "three";
15
15
  import "../shared-utils/tag.js";
16
16
  import "../vendor/hammerjs/hammer.js";
@@ -19,7 +19,7 @@ import { PointSelector as O } from "../shared-utils/three/PointSelector/index.js
19
19
  import { getObjectVisible as A } from "../shared-utils/three/getObjectVisible.js";
20
20
  import "../shared-utils/three/CSS3DRenderer/index.js";
21
21
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
22
- import { LineMesh as k } from "../Sculpt/Meshes/Line.js";
22
+ import { LineMesh as D } from "../Sculpt/Meshes/Line.js";
23
23
  import "../shared-utils/three/core/Sphere.js";
24
24
  import "../shared-utils/three/blink.js";
25
25
  import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
@@ -27,10 +27,10 @@ import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
27
27
  import "../vendor/earcut/src/earcut.js";
28
28
  import { FiveDomEvents as G } from "../shared-utils/five/FiveDomEvents.js";
29
29
  import "../shared-utils/five/FivePuppet.js";
30
- import { MeasureMesh as I } from "./utils/MeasureMesh.js";
30
+ import { MeasureMesh as k } from "./utils/MeasureMesh.js";
31
31
  import { PointMesh as x } from "../Sculpt/Meshes/Point.js";
32
32
  import { LineWithDotsMesh as N } from "../Sculpt/Meshes/LineWithDots.js";
33
- import { hotkeys as y } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
33
+ import { hotkeys as m } from "../vendor/hotkeys-js/dist/hotkeys.esm.js";
34
34
  import { PolygonMesh as W } from "../Sculpt/Meshes/Polygon.js";
35
35
  import { validatePolygon as X } from "./utils/validatePolygon.js";
36
36
  import { IObject3D as Y } from "../shared-utils/three/IObject3D.js";
@@ -100,31 +100,36 @@ import "../Sculpt/utils/Modules/DeleteIconSVG.js";
100
100
  class Ct extends z {
101
101
  constructor(e, t) {
102
102
  super();
103
- s(this, "name", "MeasurePlugin");
104
- s(this, "currentMeasureMesh");
105
- s(this, "five");
106
- s(this, "group");
103
+ o(this, "name", "MeasurePlugin");
104
+ o(this, "currentMeasureMesh");
105
+ o(this, "five");
106
+ o(this, "group");
107
107
  // 当前测量结束的原因
108
- s(this, "currentEndReason", "enter");
108
+ o(this, "currentEndReason", "enter");
109
109
  // Repositioning state
110
- s(this, "repositioningState", null);
110
+ o(this, "repositioningState", null);
111
111
  // Long press visual feedback
112
- s(this, "longPressIndicator", null);
113
- s(this, "cleanupPendingPress");
114
- s(this, "cleanupRepositioningListeners");
115
- s(this, "endpointPointerElement");
116
- s(this, "endpointPressHandlers", /* @__PURE__ */ new WeakMap());
117
- s(this, "_pointSelector");
118
- s(this, "_fiveDomEvents");
119
- s(this, "_cursor");
120
- s(this, "_config");
121
- s(this, "lineStyle", {
112
+ o(this, "longPressIndicator", null);
113
+ o(this, "cleanupPendingPress");
114
+ o(this, "cleanupRepositioningListeners");
115
+ o(this, "endpointPointerElement");
116
+ o(this, "endpointPressHandlers", /* @__PURE__ */ new WeakMap());
117
+ o(this, "interactionPhase", "idle");
118
+ o(this, "interactionResult");
119
+ o(this, "publishInteraction", (e, t) => {
120
+ this.interactionPhase = e, this.interactionResult = t, this.emit("interactionChange", this.interactionState);
121
+ });
122
+ o(this, "_pointSelector");
123
+ o(this, "_fiveDomEvents");
124
+ o(this, "_cursor");
125
+ o(this, "_config");
126
+ o(this, "lineStyle", {
122
127
  lengthEnable: !0,
123
128
  occlusionVisibility: !0,
124
129
  lengthUnit: "m",
125
130
  precision: 2
126
131
  });
127
- s(this, "polygonStyle", {
132
+ o(this, "polygonStyle", {
128
133
  lengthEnable: !0,
129
134
  occlusionVisibility: !0,
130
135
  opacity: 0.2,
@@ -133,32 +138,34 @@ class Ct extends z {
133
138
  /**
134
139
  * @description Initialize event listeners for all existing meshes
135
140
  */
136
- s(this, "initEventListeners", () => {
141
+ o(this, "initEventListeners", () => {
137
142
  this.group.children.forEach(this.addMeshEventListeners);
138
143
  });
139
144
  /**
140
145
  * @description 开始测量
141
146
  */
142
- s(this, "measure", () => {
143
- var w;
144
- (w = this.cleanupPendingPress) == null || w.call(this), this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), y.unbind("delete, backspace"), this.group.children.forEach((c) => c.unselect()), this.cursor.removeDeleteButton();
145
- const e = new I({
147
+ o(this, "measure", () => {
148
+ var C;
149
+ if (this.currentMeasureMesh)
150
+ return;
151
+ (C = this.cleanupPendingPress) == null || C.call(this), this.repositioningState && this.cancelRepositioning(), this.listener.addMeasureListener(), m.unbind("delete, backspace", this.deleteSelectedMesh), this.group.children.forEach((c) => c.unselect()), this.cursor.removeDeleteButton();
152
+ const e = new k({
146
153
  lineStyle: this.lineStyle,
147
154
  polygonStyle: this.polygonStyle
148
155
  });
149
156
  this.currentMeasureMesh = e, e.line.setStyle({ cssStyle: "pointer-events: none;" }), this.pointSelector.actionIfNoIntersection = "disable", this.updateSelectAdsorbedHelper();
150
- const t = new x({ occlusionMode: "depthTest", occlusionVisibility: !0 }), n = new N(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), i = new W(this.polygonStyle), r = new k(E(p({}, this.lineStyle), {
157
+ const t = new x({ occlusionMode: "depthTest", occlusionVisibility: !0 }), n = new N(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), i = new W(this.polygonStyle), r = new D(E(p({}, this.lineStyle), {
151
158
  lineOpacity: 0.5,
152
159
  lineColor: 3407837,
153
160
  dashed: !0,
154
161
  cssStyle: "pointer-events: none; opacity: 0.5;"
155
- })), a = new k(E(p({}, this.lineStyle), {
162
+ })), a = new D(E(p({}, this.lineStyle), {
156
163
  lineOpacity: 0.5,
157
164
  lineColor: 3407837,
158
165
  dashed: !0,
159
166
  cssStyle: "pointer-events: none; opacity: 0.5;"
160
167
  })), l = new x({ occlusionMode: "depthTest", occlusionVisibility: !0, color: 3407837, opacity: 0.5 });
161
- let o = null, h = !1, v = !1;
168
+ let s = null, d = !1, v = !1;
162
169
  const g = (c) => {
163
170
  c.key === "Shift" && (v = !0);
164
171
  }, M = (c) => {
@@ -169,16 +176,16 @@ class Ct extends z {
169
176
  this.group.add(e), document.addEventListener("keydown", g), document.addEventListener("keyup", M);
170
177
  const L = (c) => {
171
178
  if (!c) {
172
- P(), o = null, h = !1;
179
+ P(), s = null, d = !1;
173
180
  return;
174
181
  }
175
- if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(c.point), o = null, h = !1), e.points.length >= 1)
182
+ if (e.points.length === 0 && (this.pointSelector.actionIfNoIntersection = "disable", this.group.addIfNotExists(t), t.position.copy(c.point), s = null, d = !1), e.points.length >= 1)
176
183
  if (this.pointSelector.actionIfNoIntersection = "virtualPoint", t.removeFromParent(), this.group.addIfNotExists(n), n.setStyle(E(p({}, this.lineStyle), { dashed: !0, cssStyle: "pointer-events: none;" })), n.setPoints([e.points.at(-1), c.point]), c.isAdsorbed)
177
- r.removeFromParent(), a.removeFromParent(), l.removeFromParent(), o = null, h = !1;
184
+ r.removeFromParent(), a.removeFromParent(), l.removeFromParent(), s = null, d = !1;
178
185
  else {
179
- const d = e.points.at(-1);
180
- if (Math.abs(c.point.y - d.y) > 0.2) {
181
- const S = new u.Vector3(c.point.x, d.y, c.point.z);
186
+ const h = e.points.at(-1);
187
+ if (Math.abs(c.point.y - h.y) > 0.2) {
188
+ const S = new u.Vector3(c.point.x, h.y, c.point.z);
182
189
  r.setStyle(E(p({}, this.lineStyle), {
183
190
  lineOpacity: 0.5,
184
191
  lineColor: 3407837,
@@ -189,10 +196,10 @@ class Ct extends z {
189
196
  lineColor: 3407837,
190
197
  dashed: !0,
191
198
  cssStyle: "pointer-events: none; opacity: 0.5;"
192
- })), r.setPoints([d, S]), a.setPoints([S, c.point]), l.position.copy(S), o = S.clone(), h = !0;
199
+ })), r.setPoints([h, S]), a.setPoints([S, c.point]), l.position.copy(S), s = S.clone(), d = !0;
193
200
  } else {
194
201
  let S = new u.Vector3();
195
- Math.abs(c.point.x - d.x) < Math.abs(c.point.z - d.z) ? S = new u.Vector3(c.point.x, d.y, d.z) : S = new u.Vector3(d.x, d.y, c.point.z), r.setStyle(E(p({}, this.lineStyle), {
202
+ Math.abs(c.point.x - h.x) < Math.abs(c.point.z - h.z) ? S = new u.Vector3(c.point.x, h.y, h.z) : S = new u.Vector3(h.x, h.y, c.point.z), r.setStyle(E(p({}, this.lineStyle), {
196
203
  lineOpacity: 0.5,
197
204
  lineColor: 3407837,
198
205
  dashed: !0,
@@ -202,64 +209,64 @@ class Ct extends z {
202
209
  lineColor: 3407837,
203
210
  dashed: !0,
204
211
  cssStyle: "pointer-events: none; opacity: 0.5;"
205
- })), r.setPoints([d, S]), a.setPoints([S, c.point]), l.position.copy(S), o = S.clone(), h = !0;
212
+ })), r.setPoints([h, S]), a.setPoints([S, c.point]), l.position.copy(S), s = S.clone(), d = !0;
206
213
  }
207
214
  this.group.addIfNotExists(r, a, l);
208
215
  }
209
216
  if (e.points.length >= 2) {
210
- const d = [...e.points, c.point];
211
- X(d) ? (i.setStyle(p({}, this.polygonStyle)), i.setPoints(d), this.group.addIfNotExists(i)) : i.removeFromParent();
217
+ const h = [...e.points, c.point];
218
+ X(h) ? (i.setStyle(p({}, this.polygonStyle)), i.setPoints(h), this.group.addIfNotExists(i)) : i.removeFromParent();
212
219
  }
213
220
  }, b = (c) => {
214
221
  if (!c)
215
222
  return;
216
- let d = c.point;
217
- v && h && o && e.points.length >= 1 && (d = o.clone()), P(), e.setPoints([...e.points, d]), this.updateSelectAdsorbedHelper(), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
223
+ let h = c.point;
224
+ v && d && s && e.points.length >= 1 && (h = s.clone()), P(), e.setPoints([...e.points, h]), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), e.isPolygon && (this.currentEndReason = "polygon", this.pointSelector.disable());
218
225
  }, R = () => {
219
- var c, d;
220
- e == null || e.setPoints(e.points.slice(0, -1)), P(), (d = (c = this.pointSelector.pointSelectorHelper) == null ? void 0 : c.magnifier) == null || d.render(), this.updateSelectAdsorbedHelper(), this.five.needsRender = !0;
221
- }, C = () => {
222
- this.pointSelector.off("intersectionUpdate", L), this.pointSelector.off("select", b), this.pointSelector.off("disable", C), this.off("undo", R), document.removeEventListener("keydown", g), document.removeEventListener("keyup", M), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), P();
223
- let c = this.currentEndReason, d = !0;
224
- c === "escape" ? d = !1 : e.points.length < 2 ? (e.removeFromParent(), c = "points_insufficient", d = !1) : this.addMeshEventListeners(e), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.removeMeasureListener(), this.emit("measureEnd", c, d ? e.points : []), this.currentEndReason = "enter";
226
+ var c, h;
227
+ e == null || e.setPoints(e.points.slice(0, -1)), P(), (h = (c = this.pointSelector.pointSelectorHelper) == null ? void 0 : c.magnifier) == null || h.render(), this.updateSelectAdsorbedHelper(), this.publishInteraction("drawing"), this.five.needsRender = !0;
228
+ }, w = () => {
229
+ this.pointSelector.off("intersectionUpdate", L), this.pointSelector.off("select", b), this.pointSelector.off("disable", w), this.off("undo", R), document.removeEventListener("keydown", g), document.removeEventListener("keyup", M), e.line.setStyle({ cssStyle: "pointer-events: auto;" }), P();
230
+ let c = this.currentEndReason, h = !0;
231
+ c === "escape" ? (e.removeFromParent(), h = !1) : e.points.length < 2 ? (e.removeFromParent(), c = "points_insufficient", h = !1) : this.addMeshEventListeners(e), e.__five_pano_index = this.five.panoIndex, this.currentMeasureMesh = null, this.listener.removeMeasureListener(), m("delete, backspace", this.deleteSelectedMesh), this.publishInteraction("idle"), this.emit("measureEnd", c, h ? e.points : []), this.currentEndReason = "enter";
225
232
  };
226
- this.on("undo", R), this.pointSelector.on("intersectionUpdate", L), this.pointSelector.on("select", b), this.pointSelector.on("disable", C), this.pointSelector.enable();
233
+ this.on("undo", R), this.pointSelector.on("intersectionUpdate", L), this.pointSelector.on("select", b), this.pointSelector.on("disable", w), this.pointSelector.enable(), this.publishInteraction("drawing");
227
234
  });
228
235
  /**
229
236
  * @description 结束测量
230
237
  */
231
- s(this, "endMeasure", () => {
238
+ o(this, "endMeasure", () => {
232
239
  this.currentEndReason = "external", this.pointSelector.disable();
233
240
  });
234
241
  /**
235
242
  * @description 通过Enter键结束测量
236
243
  */
237
- s(this, "endMeasureByEnter", () => {
238
- this.currentEndReason = "enter", this.endMeasure();
244
+ o(this, "endMeasureByEnter", () => {
245
+ this.currentEndReason = "enter", this.pointSelector.disable();
239
246
  });
240
247
  /**
241
248
  * @description 通过模式改变结束测量
242
249
  */
243
- s(this, "endMeasureByModeChange", () => {
244
- this.currentEndReason = "mode_change", this.endMeasure();
250
+ o(this, "endMeasureByModeChange", () => {
251
+ this.currentEndReason = "mode_change", this.pointSelector.disable();
245
252
  });
246
253
  /**
247
254
  * @description 通过全景移动结束测量
248
255
  */
249
- s(this, "endMeasureByPanoMove", () => {
250
- this.currentEndReason = "pano_move", this.endMeasure();
256
+ o(this, "endMeasureByPanoMove", () => {
257
+ this.currentEndReason = "pano_move", this.pointSelector.disable();
251
258
  });
252
259
  /**
253
260
  * @description 通过楼层改变结束测量
254
261
  */
255
- s(this, "endMeasureByFloorChange", () => {
256
- this.currentEndReason = "floor_change", this.endMeasure();
262
+ o(this, "endMeasureByFloorChange", () => {
263
+ this.currentEndReason = "floor_change", this.pointSelector.disable();
257
264
  });
258
265
  /**
259
266
  * Enable or disable the display of length measurements
260
267
  * @param enable - Whether to display length measurements
261
268
  */
262
- s(this, "setLengthEnable", (e) => {
269
+ o(this, "setLengthEnable", (e) => {
263
270
  this.lineStyle.lengthEnable = e, this.polygonStyle.lengthEnable = e, this.group.children.forEach((t) => {
264
271
  t.changeConfig({
265
272
  lineStyle: p({}, this.lineStyle),
@@ -274,7 +281,7 @@ class Ct extends z {
274
281
  * Switch the measurement unit without resetting the plugin
275
282
  * @param unit - The new unit to use ('m' for metric, 'ft' for imperial, or 'mm' for millimeters)
276
283
  */
277
- s(this, "setUnit", (e) => {
284
+ o(this, "setUnit", (e) => {
278
285
  if (this._config && (this._config.unit = e), this.lineStyle.lengthUnit = e, this.polygonStyle.lengthUnit = e, this.group.children.forEach((t) => {
279
286
  try {
280
287
  t.changeConfig({
@@ -298,7 +305,7 @@ class Ct extends z {
298
305
  * @param precision - For metric (`m`): decimal places. For imperial (`ft`): inch fraction denominator (1 | 4 | 8 | 16).
299
306
  * Area measurements remain at fixed 2 decimal places.
300
307
  */
301
- s(this, "setPrecision", (e) => {
308
+ o(this, "setPrecision", (e) => {
302
309
  if (this._config && (this._config.precision = e), this.lineStyle.precision = e, this.group.children.forEach((t) => {
303
310
  try {
304
311
  t.changeConfig({
@@ -320,38 +327,37 @@ class Ct extends z {
320
327
  /**
321
328
  * @description 取消本次测量
322
329
  */
323
- s(this, "cancel", () => {
324
- var e;
325
- this.currentEndReason = "escape", (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.pointSelector.disable();
330
+ o(this, "cancel", () => {
331
+ this.currentEndReason = "escape", this.pointSelector.disable();
326
332
  });
327
333
  /**
328
334
  * @description 撤销上一步
329
335
  */
330
- s(this, "undo", () => {
336
+ o(this, "undo", () => {
331
337
  this.emit("undo");
332
338
  });
333
339
  /**
334
340
  * @description 清空正在测量的内容
335
341
  */
336
- s(this, "clearCurrentMeasure", () => {
342
+ o(this, "clearCurrentMeasure", () => {
337
343
  var e;
338
344
  (e = this.currentMeasureMesh) == null || e.removeFromParent(), this.currentMeasureMesh = null, this.pointSelector.disable();
339
345
  });
340
346
  /**
341
347
  * @description 清空所有测量内容
342
348
  */
343
- s(this, "clear", () => {
349
+ o(this, "clear", () => {
344
350
  var e;
345
- (e = this.cleanupPendingPress) == null || e.call(this), this.cancelRepositioning(), this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton();
351
+ (e = this.cleanupPendingPress) == null || e.call(this), this.cancelRepositioning(), this.currentMeasureMesh = null, this.pointSelector.disable(), this.group.children.forEach(this.removeMeshEventListeners), this.group.removeChildren(), this.cursor.removeDeleteButton(), this.publishInteraction("idle");
346
352
  });
347
- s(this, "dispose", () => {
353
+ o(this, "dispose", () => {
348
354
  var e, t;
349
- this.listener.removeMeasureListener(), this.listener.removeClickListener(), this.pointSelector.disable(), this.clear(), (e = this.endpointPointerElement) == null || e.removeEventListener("pointerdown", this.onEndpointPointerDown, !0), this.endpointPointerElement = void 0, (t = this._fiveDomEvents) == null || t.dispose();
355
+ this.pointSelector.disable(), this.listener.removeMeasureListener(), this.listener.removeClickListener(), this.clear(), (e = this.endpointPointerElement) == null || e.removeEventListener("pointerdown", this.onEndpointPointerDown, !0), this.endpointPointerElement = void 0, (t = this._fiveDomEvents) == null || t.dispose();
350
356
  });
351
- s(this, "listener", {
357
+ o(this, "listener", {
352
358
  // 点击事件
353
359
  addClickListener: () => {
354
- this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), y("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
360
+ this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), m("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
355
361
  },
356
362
  removeClickListener: () => {
357
363
  this.group.children.forEach((e) => {
@@ -359,17 +365,17 @@ class Ct extends z {
359
365
  (t = e.line.doms) == null || t.forEach((i) => {
360
366
  i != null && i.container && (i.container.onclick = null, i.container.onmouseenter = null, i.container.onmouseleave = null);
361
367
  }), (n = e.polygon.areaDom) != null && n.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null);
362
- }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), y.unbind("delete, backspace");
368
+ }), this.fiveDomEvents.clear(), this.five.off("panoArrived", this.onMoveToPano), this.five.off("modeChange", this.onModeChange), m.unbind("delete, backspace", this.deleteSelectedMesh);
363
369
  },
364
370
  // 绘制快捷键
365
371
  addMeasureListener: () => {
366
- y("ctrl+z, command+z", this.undo), y("esc", this.cancel), y("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
372
+ m("ctrl+z, command+z", this.undo), m("esc", this.cancel), m("enter", this.endMeasureByEnter), this.five.on("mode.change", this.endMeasureByModeChange), this.five.on("pano.moveTo", this.endMeasureByPanoMove), this.five.on("model.changeShownFloor", this.endMeasureByFloorChange);
367
373
  },
368
374
  removeMeasureListener: () => {
369
- y.unbind("ctrl+z, command+z"), y.unbind("esc"), y.unbind("enter"), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
375
+ m.unbind("ctrl+z, command+z", this.undo), m.unbind("esc", this.cancel), m.unbind("enter", this.endMeasureByEnter), this.five.off("mode.change", this.endMeasureByModeChange), this.five.off("pano.moveTo", this.endMeasureByPanoMove), this.five.off("model.changeShownFloor", this.endMeasureByFloorChange);
370
376
  }
371
377
  });
372
- s(this, "onMoveToPano", (e) => {
378
+ o(this, "onMoveToPano", (e) => {
373
379
  var i;
374
380
  (i = this.cleanupPendingPress) == null || i.call(this), this.cancelRepositioning();
375
381
  const t = this.group.children.filter((r) => r !== this.currentMeasureMesh), n = new $();
@@ -379,26 +385,26 @@ class Ct extends z {
379
385
  r.visible = !0;
380
386
  return;
381
387
  }
382
- ((l = r.line.points) == null ? void 0 : l.some((o) => {
388
+ ((l = r.line.points) == null ? void 0 : l.some((s) => {
383
389
  var b, R;
384
- const h = o.clone().sub(this.five.camera.position).normalize();
385
- n.set(this.five.camera.position, h);
390
+ const d = s.clone().sub(this.five.camera.position).normalize();
391
+ n.set(this.five.camera.position, d);
386
392
  const v = (R = (b = this.five.model.intersectRaycaster(n)) == null ? void 0 : b[0]) == null ? void 0 : R.point;
387
393
  if (!v)
388
394
  return !0;
389
- const g = 0.01, M = o.distanceTo(this.five.camera.position);
395
+ const g = 0.01, M = s.distanceTo(this.five.camera.position);
390
396
  return v.distanceTo(this.five.camera.position) + g > M;
391
397
  })) ? r.visible = !0 : r.visible = !1, this.five.needsRender = !0;
392
398
  });
393
399
  });
394
- s(this, "onModeChange", (e) => {
400
+ o(this, "onModeChange", (e) => {
395
401
  var t;
396
402
  (t = this.cleanupPendingPress) == null || t.call(this), this.cancelRepositioning(), e === "Mapview" && this.group.children.forEach((n) => {
397
403
  n.visible = !0;
398
404
  });
399
405
  });
400
- s(this, "onClick", ({ origDomEvent: e, target: t }) => {
401
- var o;
406
+ o(this, "onClick", ({ origDomEvent: e, target: t }) => {
407
+ var s;
402
408
  const n = t;
403
409
  if (!n)
404
410
  return;
@@ -409,10 +415,10 @@ class Ct extends z {
409
415
  let i, r;
410
416
  if (e && ("touches" in e && e.touches && e.touches[0] ? (i = e.touches[0].clientX, r = e.touches[0].clientY) : "clientX" in e && "clientY" in e && (i = e.clientX, r = e.clientY)), i === void 0 || r === void 0)
411
417
  return;
412
- this.group.children.forEach((h) => h.unselect()), n.select();
418
+ this.group.children.forEach((d) => d.unselect()), n.select();
413
419
  const a = () => {
414
- this.removeMeshEventListeners(n), n.removeFromParent(), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
415
- }, l = ((o = this.five.getElement()) == null ? void 0 : o.parentElement) || document.body;
420
+ this.removeMeshEventListeners(n), n.removeFromParent(), this.publishInteraction("idle"), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
421
+ }, l = ((s = this.five.getElement()) == null ? void 0 : s.parentElement) || document.body;
416
422
  this.cursor.showDeleteButton({
417
423
  clientX: i,
418
424
  clientY: r,
@@ -422,38 +428,39 @@ class Ct extends z {
422
428
  n.unselect(), this.cursor.removeDeleteButton();
423
429
  });
424
430
  });
425
- s(this, "onHover", ({ target: e }) => {
431
+ o(this, "onHover", ({ target: e }) => {
426
432
  if (this.currentMeasureMesh)
427
433
  return;
428
434
  const t = e;
429
435
  t && t.hover();
430
436
  });
431
- s(this, "onUnHover", ({ target: e }) => {
437
+ o(this, "onUnHover", ({ target: e }) => {
432
438
  if (this.currentMeasureMesh)
433
439
  return;
434
440
  const t = e;
435
441
  t && t.unhover();
436
442
  });
437
- s(this, "deleteSelectedMesh", () => {
438
- this.group.children.filter((t) => t.selected).forEach((t) => {
439
- this.removeMeshEventListeners(t), t.removeFromParent();
440
- }), this.cursor.removeDeleteButton(), this.five.needsRender = !0;
443
+ o(this, "deleteSelectedMesh", () => {
444
+ var t;
445
+ (t = this.cleanupPendingPress) == null || t.call(this), this.cancelRepositioning(), this.group.children.filter((n) => n.selected).forEach((n) => {
446
+ this.removeMeshEventListeners(n), n.removeFromParent();
447
+ }), this.cursor.removeDeleteButton(), this.publishInteraction("idle"), this.five.needsRender = !0;
441
448
  });
442
449
  // Helper method to remove all event listeners from a mesh
443
- s(this, "removeMeshEventListeners", (e) => {
450
+ o(this, "removeMeshEventListeners", (e) => {
444
451
  var t, n;
445
452
  this.removeEndpointLongPressListeners(e), (t = e.line.doms) == null || t.forEach((i) => {
446
453
  i != null && i.container && (i.container.onclick = null, i.container.onmouseenter = null, i.container.onmouseleave = null);
447
454
  }), (n = e.polygon.areaDom) != null && n.container && (e.polygon.areaDom.container.onclick = null, e.polygon.areaDom.container.onmouseenter = null, e.polygon.areaDom.container.onmouseleave = null), this.fiveDomEvents.removeEventListener(e, "click"), this.fiveDomEvents.removeEventListener(e, "hover"), this.fiveDomEvents.removeEventListener(e, "unHover");
448
455
  });
449
- s(this, "removeEndpointLongPressListeners", (e) => {
456
+ o(this, "removeEndpointLongPressListeners", (e) => {
450
457
  var t;
451
458
  (t = e.line.pointMeshes) == null || t.forEach((n) => {
452
459
  const i = n.__longPressCleanup;
453
460
  i && (i(), delete n.__longPressCleanup);
454
461
  });
455
462
  });
456
- s(this, "updateSelectAdsorbedHelper", () => {
463
+ o(this, "updateSelectAdsorbedHelper", () => {
457
464
  if (!this.currentMeasureMesh || this.currentMeasureMesh.points.length === 0) {
458
465
  this.pointSelector.setAdherePoints(null), this.pointSelector.adhereLine = [], this.pointSelector.adherePlane = [];
459
466
  return;
@@ -477,13 +484,13 @@ class Ct extends z {
477
484
  } else
478
485
  this.pointSelector.adherePlane = [];
479
486
  });
480
- s(this, "addMeshEventListeners", (e) => {
487
+ o(this, "addMeshEventListeners", (e) => {
481
488
  var t, n;
482
489
  this.removeMeshEventListeners(e), this.addEndpointLongPressListeners(e), (t = e.line.doms) == null || t.forEach((i) => {
483
490
  i != null && i.container && (i.container.onclick = (r) => this.onClick({ origDomEvent: r, target: e }), i.container.onmouseenter = () => this.onHover({ target: e }), i.container.onmouseleave = () => this.onUnHover({ target: e }));
484
491
  }), (n = e.polygon.areaDom) != null && n.container && (e.polygon.areaDom.container.onclick = (i) => this.onClick({ origDomEvent: i, target: e }), e.polygon.areaDom.container.onmouseenter = () => this.onHover({ target: e }), e.polygon.areaDom.container.onmouseleave = () => this.onUnHover({ target: e })), this.fiveDomEvents.addEventListener(e, "click", this.onClick), this.fiveDomEvents.addEventListener(e, "hover", this.onHover), this.fiveDomEvents.addEventListener(e, "unHover", this.onUnHover);
485
492
  });
486
- s(this, "onEndpointPointerDown", (e) => {
493
+ o(this, "onEndpointPointerDown", (e) => {
487
494
  var r;
488
495
  if (e.button !== 0 || !e.isPrimary || this.currentMeasureMesh || this.repositioningState)
489
496
  return;
@@ -493,45 +500,45 @@ class Ct extends z {
493
500
  for (const l of a.line.pointMeshes) {
494
501
  if (!A(l))
495
502
  continue;
496
- const o = l.getWorldPosition(new u.Vector3()).project(this.five.camera);
497
- if (o.z < -1 || o.z > 1)
503
+ const s = l.getWorldPosition(new u.Vector3()).project(this.five.camera);
504
+ if (s.z < -1 || s.z > 1)
498
505
  continue;
499
- const h = t.left + (o.x + 1) * t.width / 2, v = t.top + (1 - o.y) * t.height / 2, g = Math.hypot(e.clientX - h, e.clientY - v);
506
+ const d = t.left + (s.x + 1) * t.width / 2, v = t.top + (1 - s.y) * t.height / 2, g = Math.hypot(e.clientX - d, e.clientY - v);
500
507
  g <= i && (n = l, i = g);
501
508
  }
502
- n && ((r = this.endpointPressHandlers.get(n)) == null || r(e));
509
+ n ? (r = this.endpointPressHandlers.get(n)) == null || r(e) : this.interactionResult && this.publishInteraction("idle");
503
510
  });
504
- s(this, "addEndpointLongPressListeners", (e) => {
511
+ o(this, "addEndpointLongPressListeners", (e) => {
505
512
  var n;
506
513
  const t = this.five.getElement();
507
514
  t !== this.endpointPointerElement && ((n = this.endpointPointerElement) == null || n.removeEventListener("pointerdown", this.onEndpointPointerDown, !0), this.endpointPointerElement = t, t == null || t.addEventListener("pointerdown", this.onEndpointPointerDown, !0)), e.line.pointMeshes.forEach((i, r) => {
508
515
  const a = e.isPolygon && r >= e.points.length - 1 ? 0 : r;
509
- let l = !1, o;
510
- const h = (g) => {
511
- var w;
512
- (w = this.cleanupPendingPress) == null || w.call(this), l = !1;
516
+ let l = !1, s;
517
+ const d = (g) => {
518
+ var c;
519
+ (c = this.cleanupPendingPress) == null || c.call(this), l = !1;
513
520
  const M = { x: g.clientX, y: g.clientY };
514
521
  this.showLongPressIndicator(i, M);
515
- const P = (c) => {
516
- c.pointerId === g.pointerId && (!(c.buttons & 1) || Math.hypot(c.clientX - M.x, c.clientY - M.y) > 10) && (o == null || o());
517
- }, L = (c) => {
518
- c.pointerId === g.pointerId && (o == null || o());
519
- }, b = (c) => {
520
- c.pointerId !== g.pointerId && (o == null || o());
521
- }, R = (c) => {
522
- c.key === "Escape" && (o == null || o());
523
- }, C = setTimeout(() => {
524
- o == null || o(), l = !0, this.startRepositioning(e, a, !0, M, g);
522
+ const P = (h) => {
523
+ h.pointerId === g.pointerId && (!(h.buttons & 1) || Math.hypot(h.clientX - M.x, h.clientY - M.y) > 10) && (s == null || s());
524
+ }, L = (h) => {
525
+ h.pointerId === g.pointerId && (s == null || s());
526
+ }, b = (h) => {
527
+ h.pointerId !== g.pointerId && (s == null || s());
528
+ }, R = (h) => {
529
+ h.key === "Escape" && (s == null || s());
530
+ }, w = () => s == null ? void 0 : s(), C = setTimeout(() => {
531
+ s == null || s(!1), l = !0, this.startRepositioning(e, a, !0, M, g);
525
532
  }, 500);
526
- o = () => {
527
- clearTimeout(C), document.removeEventListener("pointermove", P, !0), document.removeEventListener("pointerup", L, !0), document.removeEventListener("pointercancel", L, !0), document.removeEventListener("pointerdown", b, !0), document.removeEventListener("keydown", R), window.removeEventListener("blur", o), this.hideLongPressIndicator(), this.cleanupPendingPress === o && (this.cleanupPendingPress = void 0);
528
- }, this.cleanupPendingPress = o, document.addEventListener("pointermove", P, !0), document.addEventListener("pointerup", L, !0), document.addEventListener("pointercancel", L, !0), document.addEventListener("pointerdown", b, !0), document.addEventListener("keydown", R), window.addEventListener("blur", o);
533
+ s = (h = !0) => {
534
+ clearTimeout(C), document.removeEventListener("pointermove", P, !0), document.removeEventListener("pointerup", L, !0), document.removeEventListener("pointercancel", L, !0), document.removeEventListener("pointerdown", b, !0), document.removeEventListener("keydown", R), window.removeEventListener("blur", w), this.hideLongPressIndicator(), this.cleanupPendingPress === s && (this.cleanupPendingPress = void 0, h && this.publishInteraction("idle"));
535
+ }, this.cleanupPendingPress = s, document.addEventListener("pointermove", P, !0), document.addEventListener("pointerup", L, !0), document.addEventListener("pointercancel", L, !0), document.addEventListener("pointerdown", b, !0), document.addEventListener("keydown", R), window.addEventListener("blur", w), this.publishInteraction("holding");
529
536
  }, v = (g) => {
530
537
  if (l)
531
538
  return g.stopPropagation(), l = !1, !1;
532
539
  };
533
- this.endpointPressHandlers.set(i, h), this.fiveDomEvents.addEventListener(i, "click", v), i.__longPressCleanup = () => {
534
- this.cleanupPendingPress === o && (o == null || o()), this.endpointPressHandlers.delete(i), this.fiveDomEvents.removeEventListener(i, "click", v);
540
+ this.endpointPressHandlers.set(i, d), this.fiveDomEvents.addEventListener(i, "click", v), i.__longPressCleanup = () => {
541
+ this.cleanupPendingPress === s && (s == null || s()), this.endpointPressHandlers.delete(i), this.fiveDomEvents.removeEventListener(i, "click", v);
535
542
  };
536
543
  });
537
544
  });
@@ -539,19 +546,19 @@ class Ct extends z {
539
546
  * @description Load measurement data from external source
540
547
  * @param data Array of point data for measurements
541
548
  */
542
- s(this, "load", (e) => {
549
+ o(this, "load", (e) => {
543
550
  this.clear(), e.forEach((t) => {
544
- const n = new I({
551
+ const n = new k({
545
552
  lineStyle: this.lineStyle,
546
553
  polygonStyle: this.polygonStyle
547
554
  });
548
555
  this.group.add(n), n.setPoints(t.points), this.addMeshEventListeners(n), n.__five_pano_index = this.five.panoIndex;
549
- }), this.five.needsRender = !0;
556
+ }), this.publishInteraction("idle"), this.five.needsRender = !0;
550
557
  });
551
558
  /**
552
559
  * Start repositioning an endpoint
553
560
  */
554
- s(this, "startRepositioning", (e, t, n = !1, i, r) => {
561
+ o(this, "startRepositioning", (e, t, n = !1, i, r) => {
555
562
  this.currentMeasureMesh || this.repositioningState || (this.repositioningState = {
556
563
  measureMesh: e,
557
564
  pointIndex: t,
@@ -560,39 +567,34 @@ class Ct extends z {
560
567
  isDragMode: n,
561
568
  mouseDownPosition: i || void 0,
562
569
  hasMoved: !1
563
- }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), n ? this.enableGlobalPointerTracking(r) : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), y("esc", this.cancelRepositioning));
570
+ }, this.applyRepositioningStyle(e, !0), this.five.on("wantsGesture", this.preventFiveGestures), n ? this.enableGlobalPointerTracking(r) : (this.pointSelector.actionIfNoIntersection = "virtualPoint", this.pointSelector.enable(), this.pointSelector.on("intersectionUpdate", this.onRepositioningMove), this.pointSelector.on("select", this.onRepositioningConfirm), this.pointSelector.on("disable", this.cancelRepositioning)), this.repositioningState && (m("esc", this.cancelRepositioning), this.publishInteraction("editing")));
564
571
  });
565
572
  /**
566
573
  * Helper method to safely update polygon points while maintaining closure
567
574
  */
568
- s(this, "updatePolygonPoints", (e, t, n, i = !1) => {
575
+ o(this, "updatePolygonPoints", (e, t, n, i = !1) => {
569
576
  if (e.isPolygon && t.length > 3 && n !== void 0) {
570
577
  const r = t.length - 1;
571
578
  n === 0 ? t[r] = t[0].clone() : n === r && (t[0] = t[r].clone());
572
579
  }
573
580
  if (e.points = t, i && this.repositioningState) {
574
- const r = e.line;
575
- if (r.points = t, t.length >= 2) {
576
- const a = t.flatMap((l) => [l.x, l.y, l.z]);
577
- r.line1.geometry.setPositions(a), r.line1.computeLineDistances();
578
- }
579
- if (n !== void 0 && e.line.pointMeshes) {
580
- const a = t[n];
581
+ if (D.prototype.setPoints.call(e.line, t), n !== void 0 && e.line.pointMeshes) {
582
+ const r = t[n];
581
583
  if (e.isPolygon && t.length > 3) {
582
- const l = t.length - 1;
584
+ const a = t.length - 1;
583
585
  if (n === 0) {
584
- const o = e.line.pointMeshes[0], h = e.line.pointMeshes[l];
585
- o && o.position.copy(a), h && h.position.copy(a);
586
- } else if (n === l) {
587
- const o = e.line.pointMeshes[0], h = e.line.pointMeshes[l];
588
- o && o.position.copy(a), h && h.position.copy(a);
586
+ const l = e.line.pointMeshes[0], s = e.line.pointMeshes[a];
587
+ l && l.position.copy(r), s && s.position.copy(r);
588
+ } else if (n === a) {
589
+ const l = e.line.pointMeshes[0], s = e.line.pointMeshes[a];
590
+ l && l.position.copy(r), s && s.position.copy(r);
589
591
  } else {
590
- const o = e.line.pointMeshes[n];
591
- o && o.position.copy(a);
592
+ const l = e.line.pointMeshes[n];
593
+ l && l.position.copy(r);
592
594
  }
593
595
  } else {
594
- const l = e.line.pointMeshes[n];
595
- l && l.position.copy(a);
596
+ const a = e.line.pointMeshes[n];
597
+ a && a.position.copy(r);
596
598
  }
597
599
  }
598
600
  e.isPolygon && e.polygon.setPoints(t);
@@ -602,7 +604,7 @@ class Ct extends z {
602
604
  /**
603
605
  * Handle mouse movement during repositioning
604
606
  */
605
- s(this, "onRepositioningMove", (e) => {
607
+ o(this, "onRepositioningMove", (e) => {
606
608
  if (!this.repositioningState || !e)
607
609
  return;
608
610
  const { measureMesh: t, pointIndex: n } = this.repositioningState;
@@ -613,34 +615,34 @@ class Ct extends z {
613
615
  /**
614
616
  * Confirm repositioning with click
615
617
  */
616
- s(this, "onRepositioningConfirm", (e) => {
618
+ o(this, "onRepositioningConfirm", (e) => {
617
619
  if (!this.repositioningState || !e)
618
620
  return;
619
621
  const { measureMesh: t, pointIndex: n } = this.repositioningState, i = [...t.points];
620
- i[n] = e.point.clone(), this.updatePolygonPoints(t, i, n, !1), this.applyRepositioningStyle(t, !1), this.addEndpointLongPressListeners(t), this.cleanupRepositioning();
622
+ i[n] = e.point.clone(), this.updatePolygonPoints(t, i, n, !1), this.applyRepositioningStyle(t, !1), this.addEndpointLongPressListeners(t), this.cleanupRepositioning(), this.publishInteraction("idle", "confirmed");
621
623
  });
622
624
  /**
623
625
  * Confirm repositioning when drag ends (mouse up after long press drag)
624
626
  */
625
- s(this, "confirmRepositioningOnDragEnd", () => {
627
+ o(this, "confirmRepositioningOnDragEnd", () => {
626
628
  if (!this.repositioningState)
627
629
  return;
628
630
  const { measureMesh: e, pointIndex: t } = this.repositioningState, n = [...e.points];
629
- this.updatePolygonPoints(e, n, t, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning();
631
+ this.updatePolygonPoints(e, n, t, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning(), this.publishInteraction("idle", "confirmed");
630
632
  });
631
633
  /**
632
634
  * Cancel repositioning (restore original position)
633
635
  */
634
- s(this, "cancelRepositioning", () => {
636
+ o(this, "cancelRepositioning", () => {
635
637
  if (!this.repositioningState)
636
638
  return;
637
639
  const { measureMesh: e, originalMeshState: t } = this.repositioningState;
638
- this.updatePolygonPoints(e, t, void 0, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning();
640
+ this.updatePolygonPoints(e, t, void 0, !1), this.applyRepositioningStyle(e, !1), this.addEndpointLongPressListeners(e), this.cleanupRepositioning(), this.publishInteraction("idle", "cancelled");
639
641
  });
640
642
  /**
641
643
  * Apply or remove repositioning preview styling
642
644
  */
643
- s(this, "applyRepositioningStyle", (e, t) => {
645
+ o(this, "applyRepositioningStyle", (e, t) => {
644
646
  const n = t ? 0.4 : 1, i = t;
645
647
  e.line.setStyle({
646
648
  lineOpacity: n,
@@ -656,7 +658,7 @@ class Ct extends z {
656
658
  });
657
659
  });
658
660
  /** Track one editing pointer; hover and other pointers cannot move its endpoint. */
659
- s(this, "enableGlobalPointerTracking", (e) => {
661
+ o(this, "enableGlobalPointerTracking", (e) => {
660
662
  const t = this.five.getElement();
661
663
  if (!t || !e) {
662
664
  this.cancelRepositioning();
@@ -670,16 +672,16 @@ class Ct extends z {
670
672
  return;
671
673
  }
672
674
  l.preventDefault();
673
- const o = t.getBoundingClientRect(), h = new u.Raycaster();
674
- h.setFromCamera(new u.Vector2(
675
- (l.clientX - o.left) / o.width * 2 - 1,
676
- -((l.clientY - o.top) / o.height) * 2 + 1
675
+ const s = t.getBoundingClientRect(), d = new u.Raycaster();
676
+ d.setFromCamera(new u.Vector2(
677
+ (l.clientX - s.left) / s.width * 2 - 1,
678
+ -((l.clientY - s.top) / s.height) * 2 + 1
677
679
  ), this.five.camera);
678
- const v = this.five.model.intersectRaycaster(h)[0];
679
- this.onRepositioningMove(v ? E(p({}, v), { raycaster: h }) : {
680
- point: h.ray.at(5, new u.Vector3()),
680
+ const v = this.five.model.intersectRaycaster(d)[0];
681
+ this.onRepositioningMove(v ? E(p({}, v), { raycaster: d }) : {
682
+ point: d.ray.at(5, new u.Vector3()),
681
683
  distance: 5,
682
- raycaster: h,
684
+ raycaster: d,
683
685
  isVirtual: !0
684
686
  });
685
687
  }, r = (l) => {
@@ -694,7 +696,7 @@ class Ct extends z {
694
696
  /**
695
697
  * Show long press visual feedback circle
696
698
  */
697
- s(this, "showLongPressIndicator", (e, t) => {
699
+ o(this, "showLongPressIndicator", (e, t) => {
698
700
  this.hideLongPressIndicator();
699
701
  const n = this.five.getElement();
700
702
  if (!n)
@@ -718,31 +720,40 @@ class Ct extends z {
718
720
  if (t)
719
721
  i.style.left = `${t.x}px`, i.style.top = `${t.y}px`, i.style.transform = "translate(-50%, -50%)";
720
722
  else {
721
- const a = e.getWorldPosition(new u.Vector3()).clone().project(this.five.camera), l = n.getBoundingClientRect(), o = (a.x + 1) * l.width / 2 + l.left, h = (-a.y + 1) * l.height / 2 + l.top;
722
- i.style.left = `${o}px`, i.style.top = `${h}px`, i.style.transform = "translate(-50%, -50%)";
723
+ const a = e.getWorldPosition(new u.Vector3()).clone().project(this.five.camera), l = n.getBoundingClientRect(), s = (a.x + 1) * l.width / 2 + l.left, d = (-a.y + 1) * l.height / 2 + l.top;
724
+ i.style.left = `${s}px`, i.style.top = `${d}px`, i.style.transform = "translate(-50%, -50%)";
723
725
  }
724
726
  document.body.appendChild(i), this.longPressIndicator = i;
725
727
  });
726
728
  /**
727
729
  * Hide long press visual feedback circle
728
730
  */
729
- s(this, "hideLongPressIndicator", () => {
731
+ o(this, "hideLongPressIndicator", () => {
730
732
  this.longPressIndicator && (this.longPressIndicator.remove(), this.longPressIndicator = null);
731
733
  });
732
734
  /**
733
735
  * Prevent Five canvas gestures during repositioning
734
736
  */
735
- s(this, "preventFiveGestures", () => !1);
737
+ o(this, "preventFiveGestures", () => !1);
736
738
  /**
737
739
  * Clean up repositioning state and event listeners
738
740
  */
739
- s(this, "cleanupRepositioning", () => {
741
+ o(this, "cleanupRepositioning", () => {
740
742
  var e;
741
- (e = this.cleanupRepositioningListeners) == null || e.call(this), this.cleanupRepositioningListeners = void 0, this.repositioningState && (this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable())), this.five.off("wantsGesture", this.preventFiveGestures), y.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
743
+ (e = this.cleanupRepositioningListeners) == null || e.call(this), this.cleanupRepositioningListeners = void 0, this.repositioningState && (this.repositioningState.isDragMode || (this.pointSelector.off("intersectionUpdate", this.onRepositioningMove), this.pointSelector.off("select", this.onRepositioningConfirm), this.pointSelector.off("disable", this.cancelRepositioning), this.pointSelector.disable())), this.five.off("wantsGesture", this.preventFiveGestures), m.unbind("esc", this.cancelRepositioning), this.repositioningState = null, this.five.needsRender = !0;
742
744
  });
743
745
  this.five = e;
744
746
  const n = { unit: "m", lengthEnable: !0, precision: 2 };
745
- this.config = t ? p(p({}, n), t) : n, this.group = new Y(), this.group.name = "MeasureGroup", this.group.__five__ = this.five, this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), y("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
747
+ this.config = t ? p(p({}, n), t) : n, this.group = new Y(), this.group.name = "MeasureGroup", this.group.__five__ = this.five, this.five.scene.add(this.group), this.five.on("panoArrived", this.onMoveToPano), this.five.on("modeChange", this.onModeChange), m("delete, backspace", this.deleteSelectedMesh), this.initEventListeners();
748
+ }
749
+ get interactionState() {
750
+ var e, t;
751
+ return {
752
+ phase: this.interactionPhase,
753
+ measurementCount: this.group.children.filter((n) => n.isMeasureMesh && n !== this.currentMeasureMesh && n.points.length >= 2).length,
754
+ pointCount: (t = (e = this.currentMeasureMesh) == null ? void 0 : e.points.length) != null ? t : 0,
755
+ result: this.interactionResult
756
+ };
746
757
  }
747
758
  get pointSelector() {
748
759
  return this._pointSelector ? this._pointSelector : (this._pointSelector = new O(this.five, { mode: "cursor", helper: { pointHelper: "highlight" }, skipPanorama: !0 }), this._pointSelector);