@realsee/dnalogel 3.6.0 → 3.7.0-dev.0

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 (388) hide show
  1. package/dist/CruisePlugin/BaseController.d.ts +159 -0
  2. package/dist/CruisePlugin/Move.d.ts +40 -0
  3. package/dist/CruisePlugin/Work.d.ts +120 -0
  4. package/dist/CruisePlugin/index.d.ts +4 -3
  5. package/dist/CruisePlugin/typing.d.ts +2 -2
  6. package/dist/CruisePlugin/utils/getFiveStateOnCurve.d.ts +11 -0
  7. package/dist/GuideLinePlugin/Controller.d.ts +1 -6
  8. package/dist/index.cjs.js +52 -52
  9. package/dist/index.js +3252 -3163
  10. package/dist/index.umd.js +47 -47
  11. package/dist/shared-utils/five/fiveLoaded.d.ts +2 -0
  12. package/docs/.nojekyll +1 -0
  13. package/docs/assets/highlight.css +120 -0
  14. package/docs/assets/main.js +58 -0
  15. package/docs/assets/search.js +1 -0
  16. package/docs/assets/style.css +1367 -0
  17. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +739 -0
  18. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +692 -0
  19. package/docs/classes/CSS3DRender.html +776 -0
  20. package/docs/classes/GuideLineItem.GuideLineItem.html +479 -0
  21. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +859 -0
  22. package/docs/classes/Magnifier.html +483 -0
  23. package/docs/classes/ModelRoomLabelController.html +401 -0
  24. package/docs/classes/MoveController.html +652 -0
  25. package/docs/classes/Object3DHelperController.html +643 -0
  26. package/docs/classes/PaintBrush.html +505 -0
  27. package/docs/classes/PanoMeasurePluginLine.html +525 -0
  28. package/docs/classes/PanoMeasurePluginModel.html +574 -0
  29. package/docs/classes/PanoMeasurePluginPoint.html +365 -0
  30. package/docs/classes/PanoMeasurePluginPolyline.html +570 -0
  31. package/docs/classes/PanoTagPluginController.html +1114 -0
  32. package/docs/classes/Util.BetterTween.html +419 -0
  33. package/docs/classes/Util.Interval.html +435 -0
  34. package/docs/classes/Util.LineSegments.html +387 -0
  35. package/docs/classes/Util.Magnifier.html +506 -0
  36. package/docs/classes/Util.Object3D.html +409 -0
  37. package/docs/classes/Util.PointDomHelper.html +410 -0
  38. package/docs/classes/Util.PointHelper.html +401 -0
  39. package/docs/classes/Util.PointSelectorHelper.html +457 -0
  40. package/docs/classes/Util.Rectangle.html +458 -0
  41. package/docs/classes/WalkController.html +671 -0
  42. package/docs/enums/CameraMovementEffect.html +313 -0
  43. package/docs/enums/ContentType.html +459 -0
  44. package/docs/enums/DIRECTION.html +323 -0
  45. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +323 -0
  46. package/docs/enums/DimensionType.html +313 -0
  47. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +316 -0
  48. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +323 -0
  49. package/docs/enums/PaintBrushTypeEnum.html +316 -0
  50. package/docs/enums/PointType.html +313 -0
  51. package/docs/enums/Rotation.html +320 -0
  52. package/docs/functions/AreaMakerPlugin.html +293 -0
  53. package/docs/functions/CSS3DRenderPlugin.html +291 -0
  54. package/docs/functions/CameraMovementPlugin.html +296 -0
  55. package/docs/functions/CruisePlugin.html +293 -0
  56. package/docs/functions/CurrentPanoImagePlugin.html +293 -0
  57. package/docs/functions/GuideLinePlugin.html +293 -0
  58. package/docs/functions/ItemLabelPlugin.html +293 -0
  59. package/docs/functions/MapviewFloorplanPlugin.html +293 -0
  60. package/docs/functions/ModelChassisCompassPlugin.html +296 -0
  61. package/docs/functions/ModelEntryDoorGuidePlugin.html +296 -0
  62. package/docs/functions/ModelFloorplanPlugin.html +293 -0
  63. package/docs/functions/ModelItemLabelPlugin.html +293 -0
  64. package/docs/functions/ModelRoomLabelPlugin.html +291 -0
  65. package/docs/functions/ModelTVVideoPlugin.html +293 -0
  66. package/docs/functions/ModelViewPlugin.html +296 -0
  67. package/docs/functions/Object3DHelperPlugin.html +291 -0
  68. package/docs/functions/PanoCompassPlugin.html +293 -0
  69. package/docs/functions/PanoCursorRaycasterPlugin.html +297 -0
  70. package/docs/functions/PanoDoorLabelPlugin.html +293 -0
  71. package/docs/functions/PanoFloorplanRadarPlugin.html +293 -0
  72. package/docs/functions/PanoMeasurePlugin.html +293 -0
  73. package/docs/functions/PanoRulerPlugin.html +296 -0
  74. package/docs/functions/PanoRulerProPlugin.html +296 -0
  75. package/docs/functions/PanoSpatialTagPlugin.html +296 -0
  76. package/docs/functions/PanoTagPlugin.html +298 -0
  77. package/docs/functions/PanoVideoPlugin.html +302 -0
  78. package/docs/functions/PipelinePlugin.html +291 -0
  79. package/docs/functions/TopviewFloorplanPlugin.html +293 -0
  80. package/docs/functions/Util.absoluteUrl.html +329 -0
  81. package/docs/functions/Util.checkFiveModelLoaded.html +332 -0
  82. package/docs/functions/Util.equal.html +341 -0
  83. package/docs/functions/Util.getCoordsFromClient.html +331 -0
  84. package/docs/functions/Util.getCoordsFromElement.html +331 -0
  85. package/docs/functions/Util.getFrameTime.html +323 -0
  86. package/docs/functions/Util.getIntersectFromRelativePosition.html +331 -0
  87. package/docs/functions/Util.getRaycasterFromFivePointer.html +331 -0
  88. package/docs/functions/Util.isAbsoluteURL.html +324 -0
  89. package/docs/functions/Util.isModelLike.html +324 -0
  90. package/docs/functions/Util.isNil.html +332 -0
  91. package/docs/functions/Util.isPanoramaLike.html +324 -0
  92. package/docs/functions/Util.nextFrame.html +337 -0
  93. package/docs/functions/Util.notNil.html +332 -0
  94. package/docs/functions/Util.requestAnimationFrameInterval.html +353 -0
  95. package/docs/functions/Util.tweenProgress.html +326 -0
  96. package/docs/functions/Util.uuid.html +322 -0
  97. package/docs/functions/pluginFlag.html +291 -0
  98. package/docs/index.html +357 -0
  99. package/docs/interfaces/AddTagConfig.html +306 -0
  100. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +333 -0
  101. package/docs/interfaces/AreaMakerPluginType.Config.html +338 -0
  102. package/docs/interfaces/AreaMakerPluginType.EventMap.html +624 -0
  103. package/docs/interfaces/AreaMakerPluginType.Params.html +337 -0
  104. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +387 -0
  105. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +372 -0
  106. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +337 -0
  107. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +330 -0
  108. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +329 -0
  109. package/docs/interfaces/AreaMakerPluginType.State.html +358 -0
  110. package/docs/interfaces/CSS3DRenderPluginEventMap.html +452 -0
  111. package/docs/interfaces/CSS3DRenderPluginState.html +328 -0
  112. package/docs/interfaces/CameraMovementPluginExportType.html +361 -0
  113. package/docs/interfaces/CruisePluginTypes.Config.html +362 -0
  114. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +364 -0
  115. package/docs/interfaces/CruisePluginTypes.EventMap.html +699 -0
  116. package/docs/interfaces/CruisePluginTypes.MoveAction.html +388 -0
  117. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +424 -0
  118. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +414 -0
  119. package/docs/interfaces/CruisePluginTypes.PluginData.html +354 -0
  120. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +322 -0
  121. package/docs/interfaces/CruisePluginTypes.PluginState.html +390 -0
  122. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +385 -0
  123. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +524 -0
  124. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +326 -0
  125. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +318 -0
  126. package/docs/interfaces/CurrentPanoImagePluginType.State.html +340 -0
  127. package/docs/interfaces/EventMap.html +545 -0
  128. package/docs/interfaces/FloorplanBounding.html +335 -0
  129. package/docs/interfaces/FloorplanData.html +338 -0
  130. package/docs/interfaces/FloorplanEntrance.html +363 -0
  131. package/docs/interfaces/FloorplanExtraObject.html +353 -0
  132. package/docs/interfaces/FloorplanExtraObject3D.html +342 -0
  133. package/docs/interfaces/FloorplanFloorData.html +331 -0
  134. package/docs/interfaces/FloorplanImagePosition.html +317 -0
  135. package/docs/interfaces/FloorplanObserver.html +335 -0
  136. package/docs/interfaces/FloorplanOutlineItem.html +331 -0
  137. package/docs/interfaces/FloorplanPosition.html +317 -0
  138. package/docs/interfaces/FloorplanRoomItem.html +382 -0
  139. package/docs/interfaces/FloorplanRoomLabelItem.html +323 -0
  140. package/docs/interfaces/FloorplanServerBounding.html +335 -0
  141. package/docs/interfaces/FloorplanServerComputedData.html +334 -0
  142. package/docs/interfaces/FloorplanServerData.html +317 -0
  143. package/docs/interfaces/FloorplanServerDoorItem.html +334 -0
  144. package/docs/interfaces/FloorplanServerDoorPosition.html +320 -0
  145. package/docs/interfaces/FloorplanServerEntrance.html +363 -0
  146. package/docs/interfaces/FloorplanServerFloorData.html +331 -0
  147. package/docs/interfaces/FloorplanServerImagePosition.html +317 -0
  148. package/docs/interfaces/FloorplanServerObserver.html +335 -0
  149. package/docs/interfaces/FloorplanServerOutlineItem.html +331 -0
  150. package/docs/interfaces/FloorplanServerPosition.html +317 -0
  151. package/docs/interfaces/FloorplanServerRoomItem.html +394 -0
  152. package/docs/interfaces/FloorplanServerRoomLabelItem.html +323 -0
  153. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +326 -0
  154. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +365 -0
  155. package/docs/interfaces/GuideLinePluginType.EventMap.html +529 -0
  156. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +360 -0
  157. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +351 -0
  158. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +418 -0
  159. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +340 -0
  160. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +350 -0
  161. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +486 -0
  162. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +347 -0
  163. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +486 -0
  164. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +312 -0
  165. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +333 -0
  166. package/docs/interfaces/GuideLinePluginType.PluginState.html +358 -0
  167. package/docs/interfaces/GuideLinePluginType.Route.html +374 -0
  168. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +356 -0
  169. package/docs/interfaces/HelperOffset.html +335 -0
  170. package/docs/interfaces/ImagePlaneGroup.html +309 -0
  171. package/docs/interfaces/ItemLabelPluginData.html +306 -0
  172. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +391 -0
  173. package/docs/interfaces/ItemLabelPluginParametersType.html +327 -0
  174. package/docs/interfaces/MinMax.html +313 -0
  175. package/docs/interfaces/ModelChassisCompassPluginData.html +313 -0
  176. package/docs/interfaces/ModelChassisCompassPluginExportType.html +349 -0
  177. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +313 -0
  178. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +320 -0
  179. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +357 -0
  180. package/docs/interfaces/ModelItemLabelPluginData.html +306 -0
  181. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +391 -0
  182. package/docs/interfaces/ModelItemLabelPluginParametersType.html +313 -0
  183. package/docs/interfaces/ModelRoomLabelPluginData.html +306 -0
  184. package/docs/interfaces/ModelTVVideoPluginData.html +327 -0
  185. package/docs/interfaces/ModelTVVideoPluginExportType.html +351 -0
  186. package/docs/interfaces/ModelTVVideoPluginParameterType.html +306 -0
  187. package/docs/interfaces/ModelViewPluginExportType.html +419 -0
  188. package/docs/interfaces/Object3DHelperState.html +320 -0
  189. package/docs/interfaces/ObjectHelperControllers.html +327 -0
  190. package/docs/interfaces/PaintBrushAction.html +366 -0
  191. package/docs/interfaces/PaintBrushConfigs.html +364 -0
  192. package/docs/interfaces/PaintBrushState.html +348 -0
  193. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +428 -0
  194. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +285 -0
  195. package/docs/interfaces/PanoMeasureParameterType.html +452 -0
  196. package/docs/interfaces/PanoMeasurePluginLineJson.html +320 -0
  197. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +317 -0
  198. package/docs/interfaces/PanoMeasurePluginPointJson.html +313 -0
  199. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +323 -0
  200. package/docs/interfaces/PanoRulerPluginExportType.html +380 -0
  201. package/docs/interfaces/PanoRulerPluginOptions.html +329 -0
  202. package/docs/interfaces/PanoRulerPluginParameterType.html +320 -0
  203. package/docs/interfaces/PanoRulerProPluginExportType.html +356 -0
  204. package/docs/interfaces/PanoRulerProPluginOptions.html +326 -0
  205. package/docs/interfaces/PanoRulerProPluginParameterType.html +313 -0
  206. package/docs/interfaces/PanoRulerProPluginState.html +320 -0
  207. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +299 -0
  208. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +288 -0
  209. package/docs/interfaces/PanoSpatialTagPluginData.html +356 -0
  210. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +338 -0
  211. package/docs/interfaces/PanoSpatialTagPluginExportType.html +434 -0
  212. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +334 -0
  213. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +355 -0
  214. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +341 -0
  215. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +334 -0
  216. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +326 -0
  217. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +344 -0
  218. package/docs/interfaces/PanoVideoPluginType.PluginData.html +317 -0
  219. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +423 -0
  220. package/docs/interfaces/PanoVideoPluginType.PluginState.html +317 -0
  221. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +352 -0
  222. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +371 -0
  223. package/docs/interfaces/Point.html +320 -0
  224. package/docs/interfaces/Room.html +327 -0
  225. package/docs/interfaces/RoomInfo.html +313 -0
  226. package/docs/interfaces/RoomLabel.html +389 -0
  227. package/docs/interfaces/RoomRules.html +288 -0
  228. package/docs/interfaces/Rooms.html +288 -0
  229. package/docs/interfaces/Scissor.html +347 -0
  230. package/docs/interfaces/State.html +334 -0
  231. package/docs/interfaces/TagCacheInterface.html +365 -0
  232. package/docs/interfaces/TagConfig.html +568 -0
  233. package/docs/interfaces/TagGLTFObjectGroup.html +309 -0
  234. package/docs/interfaces/TagIconUrl.html +366 -0
  235. package/docs/interfaces/TagObjectGroup.html +309 -0
  236. package/docs/interfaces/TagStyle.html +319 -0
  237. package/docs/interfaces/Tags.html +2823 -0
  238. package/docs/interfaces/TemporaryState.html +306 -0
  239. package/docs/interfaces/Util.MagnifierParameter.html +394 -0
  240. package/docs/interfaces/Util.MouseGroupParameter.html +353 -0
  241. package/docs/interfaces/Util.PointIntersection.html +368 -0
  242. package/docs/modules/AreaMakerPluginType.html +328 -0
  243. package/docs/modules/CruisePluginTypes.html +331 -0
  244. package/docs/modules/CurrentPanoImagePluginType.html +300 -0
  245. package/docs/modules/GuideLineItem.html +292 -0
  246. package/docs/modules/GuideLineModeItem.html +297 -0
  247. package/docs/modules/GuideLinePluginType.html +353 -0
  248. package/docs/modules/PanoVideoPluginType.html +304 -0
  249. package/docs/modules/Util.html +354 -0
  250. package/docs/modules.html +560 -0
  251. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +335 -0
  252. package/docs/types/AreaMakerPluginType.ItemRenderer.html +323 -0
  253. package/docs/types/AreaMakerPluginType.PluginData.html +305 -0
  254. package/docs/types/AreaMakerPluginType.ServerData.html +305 -0
  255. package/docs/types/ArrayPosition.html +282 -0
  256. package/docs/types/AudioAppearance.html +282 -0
  257. package/docs/types/AudioTagTypeConfigKey.html +282 -0
  258. package/docs/types/CSS3DRenderExportType.html +282 -0
  259. package/docs/types/CSS3DRenderPluginExportType.html +282 -0
  260. package/docs/types/CSS3DRenderPluginParameterType.html +282 -0
  261. package/docs/types/ClassFunctionParameters.html +289 -0
  262. package/docs/types/Color.html +282 -0
  263. package/docs/types/ContentTypeConfigKey.html +282 -0
  264. package/docs/types/ContentTypeConfigKeySplit.html +282 -0
  265. package/docs/types/ContentTypeMap.html +282 -0
  266. package/docs/types/Create3DDomContainerReturnType.html +282 -0
  267. package/docs/types/Create3DElementReturnType.html +282 -0
  268. package/docs/types/CruisePluginExportType.html +282 -0
  269. package/docs/types/CruisePluginTypes.CruiseData.html +321 -0
  270. package/docs/types/CruisePluginTypes.MoveEffect.html +298 -0
  271. package/docs/types/CurrentPanoImagePluginExportType.html +282 -0
  272. package/docs/types/DeprecatedMediaPlaneProperty.html +294 -0
  273. package/docs/types/DeprecatedTagProperty.html +297 -0
  274. package/docs/types/Direction-1.html +282 -0
  275. package/docs/types/Direction4.html +282 -0
  276. package/docs/types/ElementRenderer.html +306 -0
  277. package/docs/types/FloorplanRuleLabels.html +285 -0
  278. package/docs/types/FloorplanServerRuleLabels.html +282 -0
  279. package/docs/types/GuideLinePluginExportType.html +282 -0
  280. package/docs/types/GuideLinePluginType.GuideLineItem.html +355 -0
  281. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +376 -0
  282. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +309 -0
  283. package/docs/types/GuideLinePluginType.GuideLineStyle.html +312 -0
  284. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +312 -0
  285. package/docs/types/GuideLinePluginType.PathItem.html +312 -0
  286. package/docs/types/GuideLinePluginType.PluginData.html +321 -0
  287. package/docs/types/HelperEventMap.html +520 -0
  288. package/docs/types/LoadTagConfig.html +282 -0
  289. package/docs/types/MapviewFloorplanPluginParameterType.html +282 -0
  290. package/docs/types/MapviewFloorplanPluginReturnType.html +282 -0
  291. package/docs/types/MediaData.html +303 -0
  292. package/docs/types/MediaStore.html +287 -0
  293. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +289 -0
  294. package/docs/types/ModelFloorplanPluginParameterType.html +282 -0
  295. package/docs/types/ModelFloorplanPluginReturnType.html +282 -0
  296. package/docs/types/ModelId.html +282 -0
  297. package/docs/types/ModelRoomLabelPluginParameters.html +282 -0
  298. package/docs/types/ModelRoomLabelPluginReturnType.html +282 -0
  299. package/docs/types/MoveArgs.html +292 -0
  300. package/docs/types/MoveOpts.html +290 -0
  301. package/docs/types/Object3DHelperEventMap.html +375 -0
  302. package/docs/types/ObjectFit.html +282 -0
  303. package/docs/types/PaintBrushEventMap.html +313 -0
  304. package/docs/types/PanoCompassPluginData.html +282 -0
  305. package/docs/types/PanoCompassPluginExportType.html +282 -0
  306. package/docs/types/PanoCompassPluginParameterType.html +282 -0
  307. package/docs/types/PanoFloorplanRadarPluginParameterType.html +282 -0
  308. package/docs/types/PanoFloorplanRadarPluginReturnType.html +282 -0
  309. package/docs/types/PanoIndex.html +282 -0
  310. package/docs/types/PanoMeasurePluginEvent.html +282 -0
  311. package/docs/types/PanoMeasureReturnType.html +282 -0
  312. package/docs/types/PanoSpatialTagPluginId.html +282 -0
  313. package/docs/types/PanoTagPluginExportInterface.html +282 -0
  314. package/docs/types/PanoTagPluginParamsInterface.html +282 -0
  315. package/docs/types/PanoVideoPluginParameterType.html +282 -0
  316. package/docs/types/PanoVideoPluginReturnType.html +282 -0
  317. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +290 -0
  318. package/docs/types/PipelinePluginParameterType.html +282 -0
  319. package/docs/types/PipelinePluginReturnType.html +282 -0
  320. package/docs/types/PlaneTag.html +290 -0
  321. package/docs/types/Point2DTag.html +290 -0
  322. package/docs/types/Point3DTag.html +290 -0
  323. package/docs/types/PointTag.html +287 -0
  324. package/docs/types/PointTagInstance.html +287 -0
  325. package/docs/types/Position.html +282 -0
  326. package/docs/types/RotateArgs.html +294 -0
  327. package/docs/types/RotateOpts.html +290 -0
  328. package/docs/types/RuleLabelsKey.html +282 -0
  329. package/docs/types/RuleLabelsValue.html +282 -0
  330. package/docs/types/StickType.html +282 -0
  331. package/docs/types/Tag.html +348 -0
  332. package/docs/types/Tag2D.html +290 -0
  333. package/docs/types/Tag3D.html +290 -0
  334. package/docs/types/TagConfigByKey.html +287 -0
  335. package/docs/types/TagContentType.html +282 -0
  336. package/docs/types/TagContentTypeMapping.html +282 -0
  337. package/docs/types/TagDimensionType.html +284 -0
  338. package/docs/types/TagElement.html +292 -0
  339. package/docs/types/TagEvents.html +335 -0
  340. package/docs/types/TagGLTFObject.html +305 -0
  341. package/docs/types/TagHooks.html +282 -0
  342. package/docs/types/TagId.html +282 -0
  343. package/docs/types/TagInstance.html +360 -0
  344. package/docs/types/TagPointType.html +285 -0
  345. package/docs/types/TagRendererMap.html +287 -0
  346. package/docs/types/TopviewFloorplanPluginParameterType.html +282 -0
  347. package/docs/types/TopviewFloorplanPluginReturnType.html +282 -0
  348. package/docs/types/WorkCode.html +282 -0
  349. package/docs/variables/FLOOR_TYPE_MAP.html +292 -0
  350. package/docs/variables/PLUGIN.html +282 -0
  351. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +285 -0
  352. package/docs/variables/ROOM_TYPE_MAP.html +292 -0
  353. package/docs/variables/defaultGlobalConfig.html +282 -0
  354. package/docs/variables/itemLabelPluginServerParams.html +289 -0
  355. package/docs/variables/modelItemLabelPluginServerParams.html +289 -0
  356. package/docs/variables/modelRoomLabelPluginServerParams.html +289 -0
  357. package/libs/CruisePlugin/BaseController.d.ts +159 -0
  358. package/libs/CruisePlugin/BaseController.js +231 -0
  359. package/libs/CruisePlugin/Move.d.ts +40 -0
  360. package/libs/CruisePlugin/Move.js +120 -0
  361. package/libs/CruisePlugin/Work.d.ts +120 -0
  362. package/libs/CruisePlugin/Work.js +597 -0
  363. package/libs/CruisePlugin/index.d.ts +4 -3
  364. package/libs/CruisePlugin/index.js +17 -12
  365. package/libs/CruisePlugin/typing.d.ts +2 -2
  366. package/libs/CruisePlugin/utils/getFiveStateOnCurve.d.ts +11 -0
  367. package/libs/CruisePlugin/utils/getFiveStateOnCurve.js +11 -0
  368. package/libs/GuideLinePlugin/Controller.d.ts +1 -6
  369. package/libs/GuideLinePlugin/Controller.js +48 -62
  370. package/libs/GuideLinePlugin/GuideLineItem/index.js +53 -43
  371. package/libs/GuideLinePlugin/GuideLineItem.js +13 -10
  372. package/libs/GuideLinePlugin/index.js +20 -17
  373. package/libs/base/BasePlugin.js +1 -1
  374. package/libs/index.js +124 -119
  375. package/libs/shared-utils/five/fiveLoaded.d.ts +2 -0
  376. package/libs/shared-utils/five/fiveLoaded.js +30 -0
  377. package/libs/shared-utils/formatRad.d.ts +7 -0
  378. package/libs/shared-utils/formatRad.js +7 -0
  379. package/libs/shared-utils/logger.js +1 -1
  380. package/package.json +2 -2
  381. package/dist/CruisePlugin/Controller.d.ts +0 -171
  382. package/dist/CruisePlugin/utils/linerValue.d.ts +0 -1
  383. package/libs/CruisePlugin/Controller.d.ts +0 -171
  384. package/libs/CruisePlugin/Controller.js +0 -760
  385. /package/dist/{CruisePlugin/utils → shared-utils}/formatRad.d.ts +0 -0
  386. /package/dist/{CruisePlugin/utils/vectorToCoordinates.d.ts → shared-utils/vectorToCoordinate.d.ts} +0 -0
  387. /package/libs/{CruisePlugin/utils/vectorToCoordinates.d.ts → shared-utils/vectorToCoordinate.d.ts} +0 -0
  388. /package/libs/{CruisePlugin/utils/vectorToCoordinates.js → shared-utils/vectorToCoordinate.js} +0 -0
@@ -0,0 +1,597 @@
1
+ var D = Object.defineProperty, C = Object.defineProperties;
2
+ var K = Object.getOwnPropertyDescriptors;
3
+ var E = Object.getOwnPropertySymbols;
4
+ var L = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable;
5
+ var I = (h, l, t) => l in h ? D(h, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : h[l] = t, g = (h, l) => {
6
+ for (var t in l || (l = {}))
7
+ L.call(l, t) && I(h, t, l[t]);
8
+ if (E)
9
+ for (var t of E(l))
10
+ T.call(l, t) && I(h, t, l[t]);
11
+ return h;
12
+ }, x = (h, l) => C(h, K(l));
13
+ var k = (h, l, t) => (I(h, typeof l != "symbol" ? l + "" : l, t), t);
14
+ var y = (h, l, t) => new Promise((i, r) => {
15
+ var e = (d) => {
16
+ try {
17
+ s(t.next(d));
18
+ } catch (o) {
19
+ r(o);
20
+ }
21
+ }, n = (d) => {
22
+ try {
23
+ s(t.throw(d));
24
+ } catch (o) {
25
+ r(o);
26
+ }
27
+ }, s = (d) => d.done ? i(d.value) : Promise.resolve(d.value).then(e, n);
28
+ s((t = t.apply(h, l)).next());
29
+ });
30
+ import { GuideLinePlugin as M } from "../GuideLinePlugin/index.js";
31
+ import { uuid as S } from "../shared-utils/uuid.js";
32
+ import { coordinatesAngle as A } from "./utils/coordinatesAngle.js";
33
+ import { safeCall as G } from "./utils/safeCall.js";
34
+ import * as O from "three";
35
+ import { sleep as Q } from "./utils/sleep.js";
36
+ import { waitFiveLoaded as U } from "../shared-utils/five/fiveLoaded.js";
37
+ import { vectorToCoordinates as _ } from "../shared-utils/vectorToCoordinate.js";
38
+ import R from "./BaseController.js";
39
+ import "../GuideLinePlugin/Controller.js";
40
+ import "../base/BasePluginWithData.js";
41
+ import "../base/BasePlugin.js";
42
+ import "../shared-utils/Subscribe.js";
43
+ import "hammerjs";
44
+ import "@realsee/five";
45
+ import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
46
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
47
+ import "../shared-utils/positionToVector3.js";
48
+ import "../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
49
+ import "three/examples/jsm/renderers/CSS3DRenderer";
50
+ import "../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
51
+ import "../shared-utils/util.js";
52
+ import "../CSS3DRenderPlugin/utils/createResizeObserver.js";
53
+ import "../CSS3DRenderPlugin/utils/even.js";
54
+ import "../CSS3DRenderPlugin/utils/three/CSS3DObject.js";
55
+ import "../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
56
+ import "../shared-utils/three/centerPoint.js";
57
+ import "../shared-utils/three/getObjectVisible.js";
58
+ import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
59
+ import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
60
+ import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
61
+ import "../shared-utils/url/absoluteUrl.js";
62
+ import "../shared-utils/equal.js";
63
+ import "../shared-utils/isTruelyObject.js";
64
+ import "../GuideLinePlugin/GuideLineItem/index.js";
65
+ import "../GuideLinePlugin/GuideLineModeItem/index.js";
66
+ import "../shared-utils/log.js";
67
+ import "../GuideLinePlugin/utils/createLineGeometry.js";
68
+ import "../vendor/polyline-normals/index.js";
69
+ import "../vendor/polyline-miter-util/index.js";
70
+ import "../vendor/gl-vec2/add.js";
71
+ import "../vendor/gl-vec2/set.js";
72
+ import "../vendor/gl-vec2/normalize.js";
73
+ import "../vendor/gl-vec2/subtract.js";
74
+ import "../vendor/gl-vec2/dot.js";
75
+ import "../shared-utils/five/mode.js";
76
+ import "../shared-utils/animationFrame/BetterTween.js";
77
+ import "../shared-utils/animationFrame/index.js";
78
+ import "../shared-utils/three/loadTexture.js";
79
+ import "../PanoTagPlugin/controller/index.js";
80
+ import "../vendor/object-assign-deep/objectAssignDeep.js";
81
+ import "../PanoTagPlugin/utils/addDebugPoints.js";
82
+ import "../PanoTagPlugin/utils/tag/tagCheck.js";
83
+ import "../PanoTagPlugin/utils/debounce.js";
84
+ import "../PanoTagPlugin/utils/throttle.js";
85
+ import "../PanoTagPlugin/utils/resizeObserver.js";
86
+ import "../PanoTagPlugin/utils/tag/format.js";
87
+ import "../shared-utils/audio.js";
88
+ import "../PanoTagPlugin/controller/TagRender.js";
89
+ import "../PanoTagPlugin/controller/TagComputer.js";
90
+ import "../PanoTagPlugin/utils/tagPosition.js";
91
+ import "../PanoTagPlugin/utils/checkRange.js";
92
+ import "../shared-utils/isNil.js";
93
+ import "../PanoTagPlugin/controller/TagUtil.js";
94
+ import "../PanoTagPlugin/typings/tag/TagConfig.js";
95
+ import "../PanoTagPlugin/tag.config.js";
96
+ import "../PanoTagPlugin/utils/planeNormal.js";
97
+ import "../PanoTagPlugin/utils/normalPositionToPositions.js";
98
+ import "../PanoTagPlugin/controller/TagCache.js";
99
+ import "../vendor/svelte/store/index.js";
100
+ import "../vendor/svelte/internal/index.js";
101
+ import "../shared-utils/device.js";
102
+ import "../PanoTagPlugin/utils/model/mediaPlane.js";
103
+ import "../shared-utils/three/Quadrangle.js";
104
+ import "../shared-utils/math/pointIsRectangle.js";
105
+ import "../shared-utils/three/loadVideoTexture.js";
106
+ import "../PanoTagPlugin/Assets/Icon.js";
107
+ import "../shared-utils/three/getPositionsByObjectFit.js";
108
+ import "../shared-utils/three/FragmentTransparencyMaterial.js";
109
+ import "../shared-utils/three/getNormal.js";
110
+ import "../shared-utils/five/FiveDomEvents.js";
111
+ import "../shared-utils/five/calculateThreeMouse.js";
112
+ import "../PanoTagPlugin/utils/tag/adaptConfig.js";
113
+ import "../shared-utils/typescript/entries.js";
114
+ import "../shared-utils/url/getUrl.js";
115
+ import "../shared-utils/five/transformPosition.js";
116
+ import "../shared-utils/five/getFloorIndex.js";
117
+ import "../shared-utils/safeObj.js";
118
+ import "../PanoTagPlugin/Components/TagContainer.js";
119
+ import "../PanoTagPlugin/Components/TagItem.js";
120
+ import "../PanoTagPlugin/Components/Tag/index.js";
121
+ import "../PanoTagPlugin/Components/Tag/TextTag/index.js";
122
+ import "../PanoTagPlugin/Components/Tag/TextTag/TextTag.js";
123
+ import "../PanoTagPlugin/Components/Common/Line/Straight.js";
124
+ import "../vendor/svelte/transition/index.js";
125
+ import "../vendor/svelte/easing/index.js";
126
+ import "../PanoTagPlugin/Components/Common/Shadow.js";
127
+ import "../PanoTagPlugin/Components/Common/Text/FlyMText.js";
128
+ import "../PanoTagPlugin/Components/Common/Text/FlyText.js";
129
+ import "animejs";
130
+ import "../PanoTagPlugin/utils/search.js";
131
+ import "../PanoTagPlugin/utils/constants.js";
132
+ import "../PanoTagPlugin/Components/Common/Arrow.js";
133
+ import "../PanoTagPlugin/utils/doUtil.js";
134
+ import "../shared-utils/svelte/resizeObserver.js";
135
+ import "../vendor/resize-observer-polyfill/dist/ResizeObserver.es.js";
136
+ import "../PanoTagPlugin/Components/Tag/TextTag/TextPlaneTag.js";
137
+ import "../PanoTagPlugin/Components/Common/Text/MText.js";
138
+ import "../PanoTagPlugin/utils/px2rem.js";
139
+ import "../PanoTagPlugin/Components/Tag/ImageTextTag.js";
140
+ import "../PanoTagPlugin/Components/Common/Line/Polyline.js";
141
+ import "../PanoTagPlugin/Components/Common/Media.js";
142
+ import "../vendor/svelte-carousel/src/components/Carousel/Carousel.js";
143
+ import "../vendor/svelte-carousel/src/components/Dots/Dots.js";
144
+ import "../vendor/svelte-carousel/src/components/Dot/Dot.js";
145
+ import "../vendor/svelte-carousel/src/components/Arrow/Arrow.js";
146
+ import "../vendor/svelte-carousel/src/direction.js";
147
+ import "../vendor/svelte-carousel/src/components/Progress/Progress.js";
148
+ import "../vendor/svelte-carousel/src/actions/swipeable/swipeable.js";
149
+ import "../vendor/svelte-carousel/src/actions/swipeable/event.js";
150
+ import "../vendor/svelte-carousel/src/utils/event.js";
151
+ import "../vendor/svelte-carousel/src/units.js";
152
+ import "../vendor/svelte-carousel/src/actions/hoverable/hoverable.js";
153
+ import "../vendor/svelte-carousel/src/actions/hoverable/event.js";
154
+ import "../vendor/svelte-carousel/src/actions/tappable/tappable.js";
155
+ import "../vendor/svelte-carousel/src/utils/math.js";
156
+ import "../vendor/svelte-carousel/src/actions/tappable/event.js";
157
+ import "../vendor/svelte-carousel/src/utils/page.js";
158
+ import "../vendor/svelte-carousel/src/utils/clones.js";
159
+ import "../vendor/svelte-carousel/src/utils/object.js";
160
+ import "../vendor/svelte-carousel/src/components/Carousel/createCarousel.js";
161
+ import "../vendor/easy-reactive/src/simply-reactive.js";
162
+ import "../vendor/lodash.get/index.js";
163
+ import "../_commonjsHelpers.js";
164
+ import "../vendor/lodash.clonedeep/index.js";
165
+ import "../vendor/easy-reactive/src/utils/subscription.js";
166
+ import "../vendor/easy-reactive/src/utils/object.js";
167
+ import "../vendor/lodash.isequal/index.js";
168
+ import "../vendor/easy-reactive/src/utils/watcher.js";
169
+ import "../vendor/svelte-carousel/src/utils/lazy.js";
170
+ import "../vendor/svelte-carousel/src/utils/ProgressManager.js";
171
+ import "../vendor/svelte-carousel/src/utils/interval.js";
172
+ import "../PanoTagPlugin/Components/Common/MediaItem.js";
173
+ import "../PanoTagPlugin/Components/Tag/MarketingTag.js";
174
+ import "../PanoTagPlugin/utils/noTypecheck.js";
175
+ import "../PanoTagPlugin/Components/Tag/AudioTag/index.js";
176
+ import "../PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js";
177
+ import "../PanoTagPlugin/Components/Common/Audio.js";
178
+ import "../PanoTagPlugin/utils/audio/SharedAudio.js";
179
+ import "../PanoTagPlugin/Components/Common/Icon/audioIcon.js";
180
+ import "../PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.js";
181
+ import "../PanoTagPlugin/Components/Tag/MediaPlane.js";
182
+ import "../PanoTagPlugin/Components/Tag/LinkTag.js";
183
+ import "../PanoTagPlugin/Components/Common/Icon/Icon.js";
184
+ import "../PanoTagPlugin/utils/getImageInfo.js";
185
+ import "../PanoTagPlugin/Components/Tag/PanoramaTag.js";
186
+ import "../PanoTagPlugin/Components/Tag/CustomTag.js";
187
+ import "../vendor/classnames/index.js";
188
+ import "../PanoTagPlugin/Components/Common/TagPoint.js";
189
+ import "../CSS3DRenderPlugin/index.js";
190
+ import "../CSS3DRenderPlugin/Controller.js";
191
+ import "../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
192
+ import "../shared-utils/three/GLTFLoader.js";
193
+ import "@realsee/five/gltf-loader";
194
+ import "../shared-utils/five/fiveModelLoad.js";
195
+ import "../GuideLinePlugin/Components/Tag.js";
196
+ import "../GuideLinePlugin/utils/index.js";
197
+ import "../shared-utils/to.js";
198
+ import "../shared-utils/five/changeMode.js";
199
+ import "../shared-utils/nearlyEqual.js";
200
+ import "./Move.js";
201
+ import "./utils/getFiveStateOnCurve.js";
202
+ import "../shared-utils/formatRad.js";
203
+ import "./Work.js";
204
+ import "./utils/coordinatesToVector.js";
205
+ const V = /* @__PURE__ */ new Map();
206
+ class er extends R {
207
+ constructor(t, i) {
208
+ super(t, i);
209
+ k(this, "state", {
210
+ visible: !0,
211
+ enabled: !0,
212
+ disposed: !1,
213
+ playing: !1,
214
+ speed: 1,
215
+ config: {
216
+ speedConfig: {
217
+ rotateSpeed: 1e-3,
218
+ rotateSpeedUnit: "rad/ms",
219
+ moveSpeed: 2e-3,
220
+ moveSpeedUnit: "m/ms"
221
+ }
222
+ }
223
+ });
224
+ k(this, "privateState", {
225
+ playing: !1,
226
+ currentPlayQueue: [],
227
+ currentPlayKeyframe: null,
228
+ broke: !1,
229
+ modeChanging: !1
230
+ });
231
+ this.config = i, Object.assign(window, { __WalkPlugin_DEBUG__: this });
232
+ }
233
+ /**
234
+ * @description Load Data and State
235
+ */
236
+ load(t, i, r) {
237
+ return y(this, null, function* () {
238
+ var a, m;
239
+ if (this.state.disposed)
240
+ return this.disposedErrorLog();
241
+ this.clear();
242
+ const e = this.data ? JSON.parse(JSON.stringify(this.data)) : void 0, n = yield this.formatData(t);
243
+ this.data = g({ id: n.keyframesId }, n), this.hooks.emit("dataChange", n, e);
244
+ let s = [], d;
245
+ const o = this.data.keyframes.filter((p) => p.data.panoIndex !== void 0);
246
+ o.filter((p, f) => {
247
+ var u;
248
+ return p.data.panoIndex !== ((u = o[f - 1]) == null ? void 0 : u.data.panoIndex);
249
+ }).map((p) => p.data.panoIndex).forEach((p) => {
250
+ var u, v;
251
+ const f = (u = this.five.work.observers[p]) == null ? void 0 : u.floorIndex;
252
+ if (f !== void 0)
253
+ if (d === f) {
254
+ const c = s.length - 1;
255
+ s[c] = [...(v = s[c]) != null ? v : [], p];
256
+ } else {
257
+ d = f;
258
+ const c = s.length;
259
+ s[c] = [p];
260
+ }
261
+ }), !this.GuideLine && ((a = this.config) == null ? void 0 : a.useGuideLine) !== !1 && n.useGuildLine !== !1 && (this.GuideLine = M(this.five, this.config)), (m = this.GuideLine) == null || m.load({ routes: s.map((p) => ({ panoIndexList: p })), config: n.guildPluginOptions }), i ? this.setState(i, { userAction: r }) : (this.setState({ playing: !1 }, { userAction: !1 }), this.handleVisible(this.state.visible), this.handleEnable(this.state.enabled), this.changePlayState(this.state.playing, { userAction: !1 }), this.changeSpeed(this.state.speed)), this.clearPauseData(), console.debug("WORKPLUGIN loaded", n), this.hooks.emit("dataLoaded", n);
262
+ });
263
+ }
264
+ /**
265
+ * @description If playing, first pause, then play from keyframes index/id
266
+ * @param {number} options.index play from keyframes index
267
+ * @param {string} options.id play from keyframes id
268
+ */
269
+ playFrom(t) {
270
+ const { index: i, id: r, userAction: e } = t;
271
+ this.state.playing && this.setState({ playing: !1 }, { userAction: e }), this.setState({ playing: !0 }, { userAction: e, playFromIndex: i, playFromId: r });
272
+ }
273
+ /**
274
+ * @description Play from first keyframe
275
+ */
276
+ playFromStart(t) {
277
+ return this.playFrom(x(g({}, t), { index: 0 }));
278
+ }
279
+ /**
280
+ * @description Format data
281
+ */
282
+ formatData(t) {
283
+ return y(this, null, function* () {
284
+ this.five.work || (yield U(this.five));
285
+ const i = this.five.work.observers, r = (() => {
286
+ const e = t;
287
+ return typeof e == "object" && e !== null && e.version && e.data ? e.data : e;
288
+ })();
289
+ if (r.keyframes)
290
+ return {
291
+ keyframesId: S(),
292
+ keyframes: r.keyframes.map((e, n) => {
293
+ var o;
294
+ const s = r.keyframes[n + 1], d = (() => !s || s.start === void 0 || e.end === void 0 ? 0 : s.start - e.end)();
295
+ return x(g({ id: (o = e.uuid) != null ? o : S(), moveIndex: n, stay: d, index: n }, e), { guildPluginOptions: r.guildPluginOptions });
296
+ })
297
+ };
298
+ if (r.panoIndexList) {
299
+ let e = [];
300
+ const { moveEffect: n, moveToFirstPanoEffect: s, moveToFirstPanoDuration: d } = r;
301
+ return this.privateState.moveToFirstPanoEffect = s, this.privateState.moveToFirstPanoDuration = d, r.panoIndexList.forEach((o, a) => {
302
+ const m = (() => {
303
+ var c, P, w, b;
304
+ const p = r.panoIndexList.slice(a).find((F) => F !== o);
305
+ if (p === void 0)
306
+ return;
307
+ const f = (c = i[o]) == null ? void 0 : c.position, u = (P = i[p]) == null ? void 0 : P.position;
308
+ if (!u || !f || ((w = i[o]) == null ? void 0 : w.floorIndex) !== ((b = i[p]) == null ? void 0 : b.floorIndex))
309
+ return;
310
+ const v = new O.Vector3().subVectors(u, f);
311
+ return _(v.normalize());
312
+ })();
313
+ r.moveType === void 0 || r.moveType === "justMove" ? e.push({
314
+ moveIndex: a,
315
+ stay: r.stay,
316
+ data: g({ effect: "Move", panoIndex: o, moveEffect: n }, m != null ? m : {})
317
+ }) : r.moveType === "moveAndRotate" && (e.push({ moveIndex: a, stay: r.stay, data: { effect: "Move", panoIndex: o, moveEffect: n } }), m && e.push({ moveIndex: a, stay: r.stay, data: g({ effect: "Rotate", panoIndex: o }, m) }));
318
+ }), {
319
+ keyframesId: S(),
320
+ keyframes: e.map((o, a) => g({ id: S(), index: a }, o)),
321
+ guildPluginOptions: r.guildPluginOptions,
322
+ useGuildLine: r.useGuildLine
323
+ };
324
+ } else
325
+ throw new Error("format error: data no keyframes or no panoIndexList");
326
+ });
327
+ }
328
+ /**
329
+ * @description Play | Continue play. if have been paused, continue play from the pause position; if playing, do nothing
330
+ * @param {number} options.playFromIndex play from keyframes index
331
+ * @param {string} options.playFromId play from keyframes id
332
+ */
333
+ // eslint-disable-next-line complexity
334
+ handlePlay(t) {
335
+ return y(this, null, function* () {
336
+ var f;
337
+ const { data: i, state: r, privateState: e, hooks: n } = this;
338
+ if (e.playing || !(i != null && i.keyframes) || (i == null ? void 0 : i.keyframes.length) === 0)
339
+ return;
340
+ const s = S();
341
+ e.playId = s, e.playing = !0, e.broke = !1;
342
+ const d = i.keyframes, o = this.getPauseData();
343
+ (t == null ? void 0 : t.notEmitEvent) !== !0 && n.emit("play", { userAction: (f = t == null ? void 0 : t.userAction) != null ? f : !0 });
344
+ let a = !1;
345
+ const p = yield (() => y(this, null, function* () {
346
+ var u, v;
347
+ if ((t == null ? void 0 : t.playFromIndex) !== void 0)
348
+ return t.playFromIndex;
349
+ if ((t == null ? void 0 : t.playFromId) !== void 0)
350
+ return (u = this.data) == null ? void 0 : u.keyframes.findIndex((c) => c.id === t.playFromId);
351
+ if (o != null && o.id) {
352
+ const c = (v = this.data) == null ? void 0 : v.keyframes.find((P) => P.id === o.id);
353
+ if (o != null && o.fiveState && (yield this.move(o.fiveState, {
354
+ moveEffect: e.moveToFirstPanoEffect,
355
+ duration: e.moveToFirstPanoDuration
356
+ })), c) {
357
+ if (c.data.effect === "Move")
358
+ return c.index;
359
+ if (c.data.effect === "Rotate") {
360
+ const P = o.duration !== void 0 ? o.duration * (1 - o.playedProgress) : void 0;
361
+ return yield this.playKeyframe(c, { duration: P }), a = !0, c.index + 1;
362
+ }
363
+ }
364
+ }
365
+ }))();
366
+ this.clearPauseData();
367
+ for (const u of d) {
368
+ if (e.broke || !r.playing || !e.playing || s !== e.playId)
369
+ return;
370
+ if (!(p !== void 0 && u.index < p))
371
+ try {
372
+ n.emit("playIndexChange", u.index, u), yield this.playKeyframe(u, {
373
+ moveEffect: a === !1 ? e.moveToFirstPanoEffect : void 0,
374
+ duration: a === !1 && typeof e.moveToFirstPanoDuration == "number" ? e.moveToFirstPanoDuration : void 0
375
+ }), u.stay && (yield Q(u.stay)), a === !1 && (a = !0);
376
+ } catch (v) {
377
+ return console.error(v), Promise.resolve("broke");
378
+ }
379
+ }
380
+ r.playing && s === e.playId && (this.setState({ playing: !1 }, { userAction: !1 }), n.emit("end"), this.clearPauseData());
381
+ });
382
+ }
383
+ /**
384
+ * @description: Pause and record pause state
385
+ */
386
+ handlePause(t) {
387
+ var n;
388
+ const { state: i, privateState: r, hooks: e } = this;
389
+ i.playing = !1, r.playing !== !1 && (r.playing = !1, (t == null ? void 0 : t.userAction) !== !1 && this.setPauseData(), r.broke || this.forceInteruptUpdateCamera(), (t == null ? void 0 : t.notEmitEvent) !== !0 && e.emit("pause", { userAction: (n = t == null ? void 0 : t.userAction) != null ? n : !0 }));
390
+ }
391
+ /**
392
+ * @description: Change play speed
393
+ */
394
+ changeSpeed(t, i = !0) {
395
+ const { state: r, privateState: e, hooks: n } = this, { currentPlayKeyframe: s } = e;
396
+ if (n.emit("speedChange", t, { userAction: i }), r.playing && s)
397
+ try {
398
+ const d = s.originDuration !== void 0 ? s.originDuration * (1 - this.getProgress()) : void 0, o = this.playKeyframe(s.keyframe, { duration: d });
399
+ e.currentPlayQueue.push(o);
400
+ } catch (d) {
401
+ }
402
+ }
403
+ /**
404
+ * @description Get ratate progress
405
+ */
406
+ getProgress() {
407
+ return this.five.controller.cameraMotion.progress;
408
+ }
409
+ /**
410
+ * @description Set pause data
411
+ */
412
+ setPauseData() {
413
+ var t, i, r, e;
414
+ if ((t = this.data) != null && t.keyframesId)
415
+ return V.set((i = this.data) == null ? void 0 : i.keyframesId, {
416
+ id: (r = this.privateState.currentPlayKeyframe) == null ? void 0 : r.keyframe.id,
417
+ fiveState: this.five.getCurrentState(),
418
+ duration: (e = this.privateState.currentPlayKeyframe) == null ? void 0 : e.originDuration,
419
+ playedProgress: this.getProgress()
420
+ });
421
+ }
422
+ /**
423
+ * @description: Restore state that before loaded
424
+ */
425
+ clear() {
426
+ this.clearPauseData(), this.privateState.currentPlayKeyframe = null;
427
+ }
428
+ /**
429
+ * @description Play single keyframe
430
+ */
431
+ playKeyframe(t, i) {
432
+ return y(this, null, function* () {
433
+ var e;
434
+ const { privateState: r } = this;
435
+ return ((e = this.privateState.currentPlayKeyframe) == null ? void 0 : e.keyframe.id) !== t.id && (this.privateState.currentPlayKeyframe = { keyframe: t }), r.currentPlayQueue.push(this.getPlayPromise(t, i)), this.actionPromiseQueue();
436
+ });
437
+ }
438
+ /**
439
+ * @description: getPlayPromise
440
+ */
441
+ getPlayPromise(r) {
442
+ return y(this, arguments, function* (t, i = {}) {
443
+ var n;
444
+ const e = t.data;
445
+ if (i.duration = (n = i.duration) != null ? n : t.start !== void 0 && t.end !== void 0 ? t.end - t.start : void 0, !!e)
446
+ return new Promise((s, d) => {
447
+ let o = !1;
448
+ this.addInterruptListener(() => {
449
+ if (!o)
450
+ return this.hooks.emit("broke"), this.privateState.broke = !0, this.setState({ playing: !1 }), o = !0, d(new Error("play is interupted"));
451
+ });
452
+ try {
453
+ if (o)
454
+ return;
455
+ const a = () => {
456
+ s(), o = !0;
457
+ };
458
+ switch (e.effect) {
459
+ case "Move":
460
+ this.move(e, i).then(a);
461
+ break;
462
+ case "Rotate":
463
+ this.rotate(e, i).then(a);
464
+ break;
465
+ default:
466
+ this.rotate(e, i).then(a);
467
+ }
468
+ } catch (a) {
469
+ }
470
+ });
471
+ });
472
+ }
473
+ /**
474
+ * @description Action promise queue in sequence
475
+ */
476
+ actionPromiseQueue() {
477
+ return y(this, null, function* () {
478
+ const { privateState: t } = this;
479
+ return new Promise((i, r) => {
480
+ if (t.currentPlayQueue.length === 0) {
481
+ i();
482
+ return;
483
+ }
484
+ const e = t.currentPlayQueue.shift();
485
+ if (!e) {
486
+ i();
487
+ return;
488
+ }
489
+ e.then(i, r);
490
+ }).then(() => t.currentPlayQueue.length === 0 ? Promise.resolve() : this.actionPromiseQueue());
491
+ });
492
+ }
493
+ /**
494
+ * @description Action move keyframe
495
+ */
496
+ move(t, i) {
497
+ return y(this, null, function* () {
498
+ if (t.mode && t.mode !== this.five.currentMode)
499
+ yield this.changeMode(t);
500
+ else if (t.panoIndex !== this.five.panoIndex)
501
+ yield this.changePano(t, i);
502
+ else
503
+ return Promise.resolve();
504
+ });
505
+ }
506
+ /**
507
+ * @description Action rotate keyframe
508
+ */
509
+ rotate(t, i) {
510
+ return y(this, null, function* () {
511
+ if (t.mode && t.mode !== this.five.currentMode)
512
+ yield this.changeMode({ mode: t.mode, panoIndex: t.panoIndex });
513
+ else if (t.panoIndex && t.panoIndex !== this.five.panoIndex)
514
+ return yield this.changePano(t, i);
515
+ yield this.updateCamera(t, i);
516
+ });
517
+ }
518
+ /**
519
+ * @description Update five camera
520
+ */
521
+ updateCamera(r) {
522
+ return y(this, arguments, function* (t, i = {}) {
523
+ const { five: e, privateState: n, state: s } = this, d = (() => {
524
+ var f, u;
525
+ const m = (f = s.config) == null ? void 0 : f.speedConfig, p = (u = t.rotateSpeed) != null ? u : m == null ? void 0 : m.rotateSpeed;
526
+ if ((m == null ? void 0 : m.rotateSpeedUnit) === void 0)
527
+ return p;
528
+ if (p !== void 0)
529
+ return m.rotateSpeedUnit === "rad/ms" ? p : p / 1e3;
530
+ })(), o = (() => {
531
+ if (i.duration)
532
+ return i.duration;
533
+ if (d) {
534
+ const m = this.five.getCurrentState();
535
+ return A(m, t) / d;
536
+ }
537
+ return 800;
538
+ })();
539
+ n.currentPlayKeyframe && (n.currentPlayKeyframe.originDuration = o);
540
+ const a = this.getSpeededDuration(o);
541
+ return new Promise((m) => {
542
+ G(() => e.updateCamera(t, a)), setTimeout(() => m(), a);
543
+ });
544
+ });
545
+ }
546
+ /**
547
+ * @description: Change five pano
548
+ */
549
+ changePano(t, i) {
550
+ return y(this, null, function* () {
551
+ const { five: r, privateState: e, state: n } = this;
552
+ if (typeof t.panoIndex != "number" || t.panoIndex === r.panoIndex)
553
+ return;
554
+ const s = r.getCurrentState().mode !== "Panorama";
555
+ s && (this.privateState.modeChanging = !0);
556
+ const d = (() => {
557
+ var p, f;
558
+ const a = (p = n.config) == null ? void 0 : p.speedConfig, m = (f = t.moveSpeed) != null ? f : a == null ? void 0 : a.moveSpeed;
559
+ if ((a == null ? void 0 : a.moveSpeedUnit) === void 0)
560
+ return m;
561
+ if (m !== void 0)
562
+ return a.moveSpeedUnit === "m/ms" ? m : m / 1e3;
563
+ })(), o = (() => {
564
+ if (i != null && i.duration)
565
+ return i.duration;
566
+ if (d && typeof r.panoIndex == "number" && typeof t.panoIndex == "number") {
567
+ const a = r.work.observers[r.panoIndex].position, m = r.work.observers[t.panoIndex].position;
568
+ return a.distanceTo(m) / d;
569
+ }
570
+ return 800;
571
+ })();
572
+ e.currentPlayKeyframe && (e.currentPlayKeyframe.originDuration = o), yield new Promise((a) => {
573
+ var m, p, f;
574
+ r.moveToPano(t.panoIndex, {
575
+ latitude: t.latitude,
576
+ longitude: t.longitude,
577
+ fov: t.fov,
578
+ duration: this.getSpeededDuration(o),
579
+ effect: (f = (p = i == null ? void 0 : i.moveEffect) != null ? p : (m = this.state.config) == null ? void 0 : m.moveEffect) != null ? f : t.moveEffect,
580
+ moveCancelCallback: () => a(),
581
+ moveEndCallback: () => a()
582
+ }), s && r.once("panoArrived", () => a());
583
+ }), s && (this.privateState.modeChanging = !1);
584
+ });
585
+ }
586
+ /**
587
+ * @description Change five mode
588
+ */
589
+ changeMode(t, i) {
590
+ return y(this, null, function* () {
591
+ t.mode && t.mode !== this.five.currentMode && (this.privateState.modeChanging = !0, yield this.five.changeMode(t.mode, t, i), this.privateState.modeChanging = !1);
592
+ });
593
+ }
594
+ }
595
+ export {
596
+ er as default
597
+ };
@@ -1,9 +1,10 @@
1
1
  import type { FivePlugin } from '@realsee/five';
2
- import CruisePluginController from './Controller';
3
2
  import * as CruisePluginTypes from './typing';
4
3
  import type { Config } from './typing';
5
- export { CruisePluginController };
6
- export declare const CruisePlugin: FivePlugin<Config | undefined, InstanceType<typeof CruisePluginController>>;
4
+ import WalkController from './Work';
5
+ import MoveController from './Move';
6
+ export declare const CruisePlugin: FivePlugin<Config | undefined, InstanceType<typeof WalkController>>;
7
+ export { WalkController, MoveController, MoveController as CruisePluginController };
7
8
  export type { CruisePluginExportType } from './typing';
8
9
  export default CruisePlugin;
9
10
  export { CruisePluginTypes };
@@ -1,5 +1,8 @@
1
- import i from "./Controller.js";
2
- import { typing as Po } from "./typing/index.js";
1
+ import { typing as yt } from "./typing/index.js";
2
+ import o from "./Work.js";
3
+ import { default as kt, default as vt } from "./Move.js";
4
+ import "../GuideLinePlugin/index.js";
5
+ import "../GuideLinePlugin/Controller.js";
3
6
  import "../base/BasePluginWithData.js";
4
7
  import "../base/BasePlugin.js";
5
8
  import "../shared-utils/Subscribe.js";
@@ -23,8 +26,6 @@ import "../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
23
26
  import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
24
27
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
25
28
  import "../shared-utils/url/absoluteUrl.js";
26
- import "../GuideLinePlugin/index.js";
27
- import "../GuideLinePlugin/Controller.js";
28
29
  import "../shared-utils/equal.js";
29
30
  import "../shared-utils/isTruelyObject.js";
30
31
  import "../GuideLinePlugin/GuideLineItem/index.js";
@@ -164,17 +165,21 @@ import "../GuideLinePlugin/utils/index.js";
164
165
  import "../shared-utils/to.js";
165
166
  import "../shared-utils/five/changeMode.js";
166
167
  import "../shared-utils/nearlyEqual.js";
168
+ import "../shared-utils/five/fiveLoaded.js";
167
169
  import "./utils/coordinatesAngle.js";
168
170
  import "./utils/coordinatesToVector.js";
169
171
  import "./utils/safeCall.js";
170
- import "./utils/vectorToCoordinates.js";
171
- import "./utils/formatRad.js";
172
- import "./utils/linerValue.js";
173
172
  import "./utils/sleep.js";
174
- const Co = (r) => new i(r);
173
+ import "../shared-utils/vectorToCoordinate.js";
174
+ import "../shared-utils/formatRad.js";
175
+ import "./BaseController.js";
176
+ import "./utils/getFiveStateOnCurve.js";
177
+ const dt = (r) => new o(r);
175
178
  export {
176
- Co as CruisePlugin,
177
- i as CruisePluginController,
178
- Po as CruisePluginTypes,
179
- Co as default
179
+ dt as CruisePlugin,
180
+ kt as CruisePluginController,
181
+ yt as CruisePluginTypes,
182
+ vt as MoveController,
183
+ o as WalkController,
184
+ dt as default
180
185
  };
@@ -82,7 +82,7 @@ export interface PluginState extends BasePluginWithData.State {
82
82
  speed: number;
83
83
  config?: {
84
84
  /** 速度配置 */
85
- speedConfig?: {
85
+ speedConfig?: Partial<{
86
86
  /** 旋转速度 */
87
87
  rotateSpeed: number;
88
88
  /** 旋转速度单位 */
@@ -91,7 +91,7 @@ export interface PluginState extends BasePluginWithData.State {
91
91
  moveSpeed: number;
92
92
  /** 移动速度单位 */
93
93
  moveSpeedUnit: 'm/s' | 'm/ms';
94
- };
94
+ }>;
95
95
  /** five 走点动画 */
96
96
  moveEffect?: MoveEffect;
97
97
  };