@realsee/dnalogel 3.69.3-alpha.1 → 3.69.4-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/CHANGELOG.md +39 -3
  2. package/components/index.js +1202 -575
  3. package/dist/CSS3DRenderPlugin/Controller.d.ts +0 -4
  4. package/dist/CurrentPanoImagePlugin/Controller.d.ts +1 -2
  5. package/dist/GuideLinePlugin/Controller.d.ts +1 -0
  6. package/dist/MeasurePlugin/Controller.d.ts +26 -3
  7. package/dist/MeasurePlugin/index.d.ts +7 -1
  8. package/dist/ModelViewPlugin/Plugin.d.ts +2 -1
  9. package/dist/PanoTagPlugin/typings/controller.d.ts +3 -0
  10. package/dist/Sculpt/typings/style.d.ts +5 -0
  11. package/dist/Sculpt/utils/unit.d.ts +1 -1
  12. package/dist/base/BasePlugin.d.ts +0 -4
  13. package/dist/floorplan/FloorplanGuidePlugin/Components/Camera.svelte.d.ts +1 -0
  14. package/dist/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +1 -0
  15. package/dist/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +1 -0
  16. package/dist/floorplan/FloorplanGuidePlugin/Components/Main.svelte.d.ts +1 -0
  17. package/dist/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte.d.ts +1 -0
  18. package/dist/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte.d.ts +1 -0
  19. package/dist/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte.d.ts +1 -0
  20. package/dist/floorplan/FloorplanGuidePlugin/Controller.d.ts +46 -0
  21. package/dist/floorplan/FloorplanGuidePlugin/index.d.ts +7 -0
  22. package/dist/floorplan/FloorplanGuidePlugin/typing.d.ts +146 -0
  23. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +2 -0
  24. package/dist/floorplan/index.d.ts +1 -0
  25. package/dist/floorplan/typings/index.d.ts +2 -0
  26. package/dist/index.cjs.js +81 -81
  27. package/dist/index.js +13321 -11281
  28. package/dist/index.umd.js +78 -78
  29. package/dist/shared-utils/index.d.ts +2 -1
  30. package/dist/shared-utils/three/Magnifier.d.ts +2 -0
  31. package/dist/shared-utils/three/PointSelector/index.d.ts +5 -0
  32. package/dist/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +1 -0
  33. package/dist/shared-utils/url/defaultUrls.d.ts +30 -0
  34. package/dist/shared-utils/url/replace-static-prefix.d.ts +11 -0
  35. package/docs/assets/navigation.js +1 -1
  36. package/docs/assets/search.js +1 -1
  37. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +5 -7
  38. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  39. package/docs/classes/CSS3DRender.html +2 -2
  40. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  41. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  42. package/docs/classes/ModelMakerPluginInstance.html +5 -7
  43. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  44. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  45. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  46. package/docs/classes/ModelRoomLabelController.html +2 -2
  47. package/docs/classes/MoveController.html +5 -7
  48. package/docs/classes/Object3DHelperController.html +5 -7
  49. package/docs/classes/PaintBrush.html +2 -2
  50. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  51. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  52. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  53. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  54. package/docs/classes/PanoTagPluginController.html +32 -34
  55. package/docs/classes/Sculpt.html +2 -2
  56. package/docs/classes/Util.BetterTween.html +2 -2
  57. package/docs/classes/Util.FiveDomEvents.html +2 -2
  58. package/docs/classes/Util.FivePuppet.html +2 -2
  59. package/docs/classes/Util.Interval.html +2 -2
  60. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  61. package/docs/classes/Util.LightTag.html +2 -2
  62. package/docs/classes/Util.LineSegments.html +2 -2
  63. package/docs/classes/Util.Magnifier.html +8 -8
  64. package/docs/classes/Util.Object3D.html +2 -2
  65. package/docs/classes/Util.PointDomHelper.html +2 -2
  66. package/docs/classes/Util.PointHelper.html +2 -2
  67. package/docs/classes/Util.PointSelector.html +12 -12
  68. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  69. package/docs/classes/Util.Rectangle.html +2 -2
  70. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  71. package/docs/classes/Util.sculpt.BoxMesh.html +5 -5
  72. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  73. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  74. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  75. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  76. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  77. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  78. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  79. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  80. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  81. package/docs/classes/Util.sculpt.PrismMesh.html +5 -5
  82. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  83. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  84. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  85. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  86. package/docs/classes/WalkController.html +5 -7
  87. package/docs/enums/CameraMovementEffect.html +2 -2
  88. package/docs/enums/ContentType.html +2 -2
  89. package/docs/enums/DIRECTION.html +2 -2
  90. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  91. package/docs/enums/DimensionType.html +2 -2
  92. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  93. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  94. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  95. package/docs/enums/PointType.html +2 -2
  96. package/docs/enums/Rotation.html +2 -2
  97. package/docs/functions/AreaMakerPlugin.html +1 -1
  98. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  99. package/docs/functions/CameraMovementPlugin.html +2 -2
  100. package/docs/functions/CruisePlugin.html +1 -1
  101. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  102. package/docs/functions/FloorplanGuidePlugin.html +1 -0
  103. package/docs/functions/GuideLinePlugin.html +1 -1
  104. package/docs/functions/ItemLabelPlugin.html +1 -1
  105. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  106. package/docs/functions/MeasurePlugin.html +1 -1
  107. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  108. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  109. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  110. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  111. package/docs/functions/ModelMakerPlugin.html +1 -1
  112. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  113. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  114. package/docs/functions/ModelViewPlugin.html +2 -2
  115. package/docs/functions/MovePlugin.html +1 -1
  116. package/docs/functions/Object3DHelperPlugin.html +1 -1
  117. package/docs/functions/PanoCompassPlugin.html +1 -1
  118. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  119. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  120. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  121. package/docs/functions/PanoMeasurePlugin.html +1 -1
  122. package/docs/functions/PanoRulerPlugin.html +2 -2
  123. package/docs/functions/PanoRulerProPlugin.html +2 -2
  124. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  125. package/docs/functions/PanoTagPlugin.html +1 -1
  126. package/docs/functions/PanoVideoPlugin.html +2 -2
  127. package/docs/functions/PipelinePlugin.html +1 -1
  128. package/docs/functions/SculptPlugin.html +2 -2
  129. package/docs/functions/SculptPluginForFive.html +2 -2
  130. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  131. package/docs/functions/Util.awaitNextFrame.html +1 -1
  132. package/docs/functions/Util.blink.html +2 -2
  133. package/docs/functions/Util.bounding.html +1 -1
  134. package/docs/functions/Util.boundingBox.html +1 -1
  135. package/docs/functions/Util.boundingSphere.html +1 -1
  136. package/docs/functions/Util.boxVertex.html +2 -2
  137. package/docs/functions/Util.boxVertexes.html +1 -1
  138. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  139. package/docs/functions/Util.convexHull.html +2 -2
  140. package/docs/functions/Util.equal.html +2 -2
  141. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  142. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  143. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  144. package/docs/functions/Util.getFrameTime.html +2 -2
  145. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  146. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  147. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  148. package/docs/functions/Util.inside.html +1 -1
  149. package/docs/functions/Util.isModelLike.html +1 -1
  150. package/docs/functions/Util.isNil.html +2 -2
  151. package/docs/functions/Util.isPanoramaLike.html +1 -1
  152. package/docs/functions/Util.lookObject.html +2 -2
  153. package/docs/functions/Util.lookPoint.html +2 -2
  154. package/docs/functions/Util.nextFrame.html +1 -1
  155. package/docs/functions/Util.notNil.html +2 -2
  156. package/docs/functions/Util.reblink.html +2 -2
  157. package/docs/functions/Util.replaceStaticPrefix.html +8 -0
  158. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  159. package/docs/functions/Util.sculpt.createBox.html +1 -1
  160. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  161. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  162. package/docs/functions/Util.sculpt.createLine.html +2 -2
  163. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  164. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  165. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  166. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  167. package/docs/functions/Util.tag.html +1 -1
  168. package/docs/functions/Util.tweenProgress.html +1 -1
  169. package/docs/functions/Util.uuid.html +2 -2
  170. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  171. package/docs/functions/Util.worldBounding.html +1 -1
  172. package/docs/functions/Util.worldBoundingBox.html +1 -1
  173. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  174. package/docs/functions/createPolyline.html +2 -2
  175. package/docs/functions/pluginFlag.html +1 -1
  176. package/docs/hierarchy.html +1 -1
  177. package/docs/index.html +2 -2
  178. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  179. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  180. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  181. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  182. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  183. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  184. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  185. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  186. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  187. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  188. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  189. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  190. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  191. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  192. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  193. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  194. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  195. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  196. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  197. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  198. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  199. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  200. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  201. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  202. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  203. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  204. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  205. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  206. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  207. package/docs/interfaces/FloorplanBounding.html +2 -2
  208. package/docs/interfaces/FloorplanData.html +2 -2
  209. package/docs/interfaces/FloorplanEntrance.html +2 -2
  210. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  211. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  212. package/docs/interfaces/FloorplanFloorData.html +2 -2
  213. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  214. package/docs/interfaces/FloorplanObserver.html +2 -2
  215. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  216. package/docs/interfaces/FloorplanPosition.html +2 -2
  217. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  218. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  219. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  220. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  221. package/docs/interfaces/FloorplanServerData.html +2 -2
  222. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  223. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  224. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  225. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  226. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  227. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  228. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  229. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  230. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  231. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  232. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  233. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  234. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  235. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  236. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  237. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  238. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  239. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  240. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  241. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  242. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  243. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  244. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  245. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  246. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  247. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  248. package/docs/interfaces/HelperOffset.html +2 -2
  249. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  250. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  251. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  252. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  253. package/docs/interfaces/MinMax.html +2 -2
  254. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  255. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  256. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  257. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  258. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  259. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  260. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  261. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  262. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  263. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  264. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  265. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  266. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  267. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  268. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  269. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  270. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  271. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  272. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  273. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  274. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  275. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  276. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  277. package/docs/interfaces/Object3DHelperState.html +2 -2
  278. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  279. package/docs/interfaces/PaintBrushAction.html +2 -2
  280. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  281. package/docs/interfaces/PaintBrushState.html +2 -2
  282. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  283. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  284. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  285. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  286. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  287. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  288. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  289. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  290. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  291. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  292. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  293. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  294. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  295. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  296. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  297. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  298. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  299. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  300. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  301. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  302. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  303. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  304. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  305. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  306. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  307. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  308. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  309. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  310. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  311. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  312. package/docs/interfaces/PluginEventMap.html +4 -3
  313. package/docs/interfaces/Point.html +2 -2
  314. package/docs/interfaces/Room.html +2 -2
  315. package/docs/interfaces/RoomInfo.html +2 -2
  316. package/docs/interfaces/RoomLabel.html +2 -2
  317. package/docs/interfaces/RoomRules.html +1 -1
  318. package/docs/interfaces/Rooms.html +1 -1
  319. package/docs/interfaces/Scissor.html +2 -2
  320. package/docs/interfaces/SculptConfig.html +2 -2
  321. package/docs/interfaces/State.html +2 -2
  322. package/docs/interfaces/TagCacheInterface.html +3 -3
  323. package/docs/interfaces/TagConfig.html +2 -2
  324. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  325. package/docs/interfaces/TagIconUrl.html +2 -2
  326. package/docs/interfaces/TagObjectGroup.html +2 -2
  327. package/docs/interfaces/TagState.html +2 -2
  328. package/docs/interfaces/TagStyle.html +2 -2
  329. package/docs/interfaces/Tags.html +2 -2
  330. package/docs/interfaces/TemporaryState.html +2 -2
  331. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  332. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  333. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  334. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  335. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  336. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  337. package/docs/interfaces/Util.MagnifierParameter.html +6 -4
  338. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  339. package/docs/interfaces/Util.PointIntersection.html +8 -8
  340. package/docs/interfaces/Util.PointSelectorHelperConfig.html +3 -2
  341. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  342. package/docs/modules/AreaMakerPluginType.html +2 -2
  343. package/docs/modules/CruisePluginTypes.html +2 -2
  344. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  345. package/docs/modules/GuideLineItem.html +2 -2
  346. package/docs/modules/GuideLineModeItem.html +2 -2
  347. package/docs/modules/GuideLinePluginType.html +2 -2
  348. package/docs/modules/ModelMakerPluginType.html +2 -2
  349. package/docs/modules/PanoVideoPluginType.html +2 -2
  350. package/docs/modules/SculptData.html +2 -2
  351. package/docs/modules/SculptType.html +2 -2
  352. package/docs/modules/Util.html +16 -5
  353. package/docs/modules/Util.sculpt.html +2 -2
  354. package/docs/modules.html +6 -2
  355. package/docs/types/AddObject3DHelperConfig.html +2 -2
  356. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  357. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  358. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  359. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  360. package/docs/types/ArrayPosition.html +1 -1
  361. package/docs/types/AudioAppearance.html +1 -1
  362. package/docs/types/CSS3DRenderExportType.html +1 -1
  363. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  364. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  365. package/docs/types/ClassFunctionParameters.html +1 -1
  366. package/docs/types/Color.html +1 -1
  367. package/docs/types/ContentTypeConfigKey.html +1 -1
  368. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  369. package/docs/types/ContentTypeMap.html +1 -1
  370. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  371. package/docs/types/Create3DElementReturnType.html +1 -1
  372. package/docs/types/CruisePluginExportType.html +1 -1
  373. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  374. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  375. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  376. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  377. package/docs/types/DeprecatedTagProperty.html +2 -2
  378. package/docs/types/Direction-1.html +1 -1
  379. package/docs/types/Direction4.html +1 -1
  380. package/docs/types/ElementRenderer.html +2 -2
  381. package/docs/types/FloorplanGuidePluginParameterType.html +1 -0
  382. package/docs/types/FloorplanGuidePluginReturnType.html +1 -0
  383. package/docs/types/FloorplanRuleLabels.html +2 -2
  384. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  385. package/docs/types/GuideLinePluginExportType.html +1 -1
  386. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  387. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  388. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  389. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  390. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  391. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  392. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  393. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  394. package/docs/types/HelperEventMap.html +1 -1
  395. package/docs/types/InternalHelperEventMap.html +1 -1
  396. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  397. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  398. package/docs/types/MeasureEndReason.html +1 -0
  399. package/docs/types/MeasurePluginConfig.html +5 -1
  400. package/docs/types/MediaData.html +2 -2
  401. package/docs/types/MediaStore.html +1 -1
  402. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  403. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  404. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  405. package/docs/types/ModelId.html +1 -1
  406. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  407. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  408. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  409. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  410. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  411. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  412. package/docs/types/MoveArgs.html +2 -2
  413. package/docs/types/MoveOpts.html +2 -2
  414. package/docs/types/Object3DHelperEventMap.html +1 -1
  415. package/docs/types/ObjectFit.html +1 -1
  416. package/docs/types/PaintBrushEventMap.html +1 -1
  417. package/docs/types/PanoCompassPluginData.html +1 -1
  418. package/docs/types/PanoCompassPluginExportType.html +1 -1
  419. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  420. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  421. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  422. package/docs/types/PanoIndex.html +1 -1
  423. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  424. package/docs/types/PanoMeasureReturnType.html +1 -1
  425. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  426. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  427. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  428. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  429. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  430. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  431. package/docs/types/PipelinePluginParameterType.html +1 -1
  432. package/docs/types/PipelinePluginReturnType.html +1 -1
  433. package/docs/types/PlaneTag.html +2 -2
  434. package/docs/types/Point2DTag.html +2 -2
  435. package/docs/types/Point3DTag.html +2 -2
  436. package/docs/types/PointTagInstance.html +1 -1
  437. package/docs/types/Position.html +1 -1
  438. package/docs/types/PositionFrom.html +1 -1
  439. package/docs/types/RotateArgs.html +2 -2
  440. package/docs/types/RotateOpts.html +2 -2
  441. package/docs/types/RuleLabelsKey.html +1 -1
  442. package/docs/types/RuleLabelsValue.html +1 -1
  443. package/docs/types/ScaleCallback.html +1 -1
  444. package/docs/types/ScalePosition.html +2 -2
  445. package/docs/types/SculptData.BoxData.html +1 -1
  446. package/docs/types/SculptData.CircleData.html +1 -1
  447. package/docs/types/SculptData.CylinderData.html +1 -1
  448. package/docs/types/SculptData.PointData.html +1 -1
  449. package/docs/types/SculptData.PolygonData.html +1 -1
  450. package/docs/types/SculptData.PolylineData.html +1 -1
  451. package/docs/types/SculptData.PrismData.html +1 -1
  452. package/docs/types/SculptData.RectangleData.html +1 -1
  453. package/docs/types/SculptType.Theme.html +2 -2
  454. package/docs/types/StickType.html +1 -1
  455. package/docs/types/Tag.html +2 -2
  456. package/docs/types/Tag2D.html +2 -2
  457. package/docs/types/Tag3D.html +2 -2
  458. package/docs/types/TagClickParams.html +1 -1
  459. package/docs/types/TagConfigByKey.html +1 -1
  460. package/docs/types/TagContentType.html +1 -1
  461. package/docs/types/TagContentTypeMapping.html +1 -1
  462. package/docs/types/TagDimensionType.html +1 -1
  463. package/docs/types/TagElement.html +2 -2
  464. package/docs/types/TagEvents.html +1 -1
  465. package/docs/types/TagGLTFObject.html +1 -1
  466. package/docs/types/TagHooks.html +1 -1
  467. package/docs/types/TagId.html +1 -1
  468. package/docs/types/TagInstance.html +1 -1
  469. package/docs/types/TagPlacement.html +2 -2
  470. package/docs/types/TagPointType.html +2 -2
  471. package/docs/types/TagRendererMap.html +1 -1
  472. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  473. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  474. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  475. package/docs/types/Util.AdherePoint.html +2 -2
  476. package/docs/types/Util.PointSelectorConfig.html +1 -1
  477. package/docs/types/WorkCode.html +1 -1
  478. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  479. package/docs/variables/PLUGIN.html +1 -1
  480. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  481. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  482. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -0
  483. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -0
  484. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -0
  485. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -0
  486. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -0
  487. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -0
  488. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -0
  489. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -0
  490. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -0
  491. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -0
  492. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -0
  493. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -0
  494. package/docs/variables/Util.animeMap.html +1 -1
  495. package/docs/variables/defaultGlobalConfig.html +1 -1
  496. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  497. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  498. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  499. package/libs/AreaMakerPlugin/Controller.js +1 -1
  500. package/libs/AreaMakerPlugin/index.js +1 -1
  501. package/libs/CSS3DRenderPlugin/Controller.d.ts +0 -4
  502. package/libs/CSS3DRenderPlugin/Controller.js +29 -35
  503. package/libs/CSS3DRenderPlugin/index.js +1 -1
  504. package/libs/CruisePlugin/BaseController.js +1 -1
  505. package/libs/CruisePlugin/Move.js +5 -3
  506. package/libs/CruisePlugin/Work.js +5 -3
  507. package/libs/CruisePlugin/index.js +9 -7
  508. package/libs/CurrentPanoImagePlugin/Controller.d.ts +1 -2
  509. package/libs/CurrentPanoImagePlugin/Controller.js +24 -24
  510. package/libs/CurrentPanoImagePlugin/index.js +1 -1
  511. package/libs/GuideLinePlugin/Controller.d.ts +1 -0
  512. package/libs/GuideLinePlugin/Controller.js +106 -83
  513. package/libs/GuideLinePlugin/GuideLineItem.js +5 -3
  514. package/libs/GuideLinePlugin/GuideLineModeItem/index.js +20 -19
  515. package/libs/GuideLinePlugin/GuideLineModeItem.js +1 -1
  516. package/libs/GuideLinePlugin/index.js +9 -7
  517. package/libs/MeasurePlugin/Controller.d.ts +26 -3
  518. package/libs/MeasurePlugin/Controller.js +397 -316
  519. package/libs/MeasurePlugin/index.d.ts +7 -1
  520. package/libs/ModelChassisCompassPlugin/Plugin.js +116 -52
  521. package/libs/ModelChassisCompassPlugin/index.js +64 -0
  522. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +125 -61
  523. package/libs/ModelEntryDoorGuidePlugin/index.js +64 -0
  524. package/libs/ModelMakerPlugin/Controller.js +1 -1
  525. package/libs/ModelMakerPlugin/index.js +1 -1
  526. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +69 -69
  527. package/libs/ModelTVVideoPlugin/Plugin.js +1 -1
  528. package/libs/ModelTVVideoPlugin/index.js +1 -1
  529. package/libs/ModelViewPlugin/Plugin.d.ts +2 -1
  530. package/libs/ModelViewPlugin/Plugin.js +37 -36
  531. package/libs/Object3DHelperPlugin/Controller.js +1 -1
  532. package/libs/Object3DHelperPlugin/index.js +1 -1
  533. package/libs/PanoCompassPlugin/Controller.js +32 -32
  534. package/libs/PanoCompassPlugin/index.js +1 -1
  535. package/libs/PanoDoorLabelPlugin/Controller.js +1 -1
  536. package/libs/PanoDoorLabelPlugin/index.js +1 -1
  537. package/libs/PanoMeasurePlugin/Controller/WatchController.js +10 -10
  538. package/libs/PanoMeasurePlugin/Controller/index.js +1 -1
  539. package/libs/PanoMeasurePlugin/index.js +1 -1
  540. package/libs/PanoSpatialTagPlugin/Components/tag.js +115 -110
  541. package/libs/PanoSpatialTagPlugin/Plugin.js +89 -88
  542. package/libs/PanoSpatialTagPlugin/index.js +1 -1
  543. package/libs/PanoTagPlugin/Components/Common/TagPopover/TagPopoverToolBar.js +17 -14
  544. package/libs/PanoTagPlugin/Components/Tag/index.js +3 -2
  545. package/libs/PanoTagPlugin/Components/TagContainer.js +3 -2
  546. package/libs/PanoTagPlugin/Components/TagItem.js +3 -2
  547. package/libs/PanoTagPlugin/controller/Tag/BaseTag.js +3 -2
  548. package/libs/PanoTagPlugin/controller/Tag/ModelTag.js +3 -2
  549. package/libs/PanoTagPlugin/controller/Tag/PlaneTag.js +28 -27
  550. package/libs/PanoTagPlugin/controller/Tag/PointTag.js +3 -2
  551. package/libs/PanoTagPlugin/controller/TagRender.js +1 -1
  552. package/libs/PanoTagPlugin/controller/TagUtil.js +1 -1
  553. package/libs/PanoTagPlugin/controller/index.js +7 -9
  554. package/libs/PanoTagPlugin/index.js +22 -22
  555. package/libs/PanoTagPlugin/typings/controller.d.ts +3 -0
  556. package/libs/PanoTagPlugin/utils/tag/format.js +78 -13
  557. package/libs/PanoVideoPlugin/Controller.js +1 -1
  558. package/libs/PanoVideoPlugin/index.js +1 -1
  559. package/libs/PipelinePlugin/Controller.js +1 -1
  560. package/libs/PipelinePlugin/index.js +1 -1
  561. package/libs/Sculpt/Meshes/Line.js +10 -10
  562. package/libs/Sculpt/Meshes/Prism.js +94 -92
  563. package/libs/Sculpt/typings/style.d.ts +5 -0
  564. package/libs/Sculpt/utils/unit.d.ts +1 -1
  565. package/libs/Sculpt/utils/unit.js +18 -18
  566. package/libs/base/BasePlugin.d.ts +0 -4
  567. package/libs/base/BasePlugin.js +14 -20
  568. package/libs/components/AreaLabel/LabelItem.js +77 -77
  569. package/libs/floorplan/FloorplanGuidePlugin/Components/Camera.js +132 -0
  570. package/libs/floorplan/FloorplanGuidePlugin/Components/Camera.svelte.d.ts +1 -0
  571. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.js +272 -0
  572. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/CurrentFloor.svelte.d.ts +1 -0
  573. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.js +94 -0
  574. package/libs/floorplan/FloorplanGuidePlugin/Components/CurrentFloor/ExtraObjects.svelte.d.ts +1 -0
  575. package/libs/floorplan/FloorplanGuidePlugin/Components/Main.js +585 -0
  576. package/libs/floorplan/FloorplanGuidePlugin/Components/Main.svelte.d.ts +1 -0
  577. package/libs/floorplan/FloorplanGuidePlugin/Components/ObserverDots.js +142 -0
  578. package/libs/floorplan/FloorplanGuidePlugin/Components/ObserverDots.svelte.d.ts +1 -0
  579. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.js +261 -0
  580. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabelItem.svelte.d.ts +1 -0
  581. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabels.js +290 -0
  582. package/libs/floorplan/FloorplanGuidePlugin/Components/RoomLabels.svelte.d.ts +1 -0
  583. package/libs/floorplan/FloorplanGuidePlugin/Controller.d.ts +46 -0
  584. package/libs/floorplan/FloorplanGuidePlugin/Controller.js +306 -0
  585. package/libs/floorplan/FloorplanGuidePlugin/index.d.ts +7 -0
  586. package/libs/floorplan/FloorplanGuidePlugin/index.js +99 -0
  587. package/libs/floorplan/FloorplanGuidePlugin/typing.d.ts +146 -0
  588. package/libs/floorplan/MapviewFloorplanPlugin/Controller.js +23 -21
  589. package/libs/floorplan/MapviewFloorplanPlugin/index.js +6 -4
  590. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +42 -40
  591. package/libs/floorplan/ModelFloorplanPlugin/index.js +6 -4
  592. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +44 -42
  593. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +6 -4
  594. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +2 -0
  595. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +17 -15
  596. package/libs/floorplan/TopviewFloorplanPlugin/index.js +6 -4
  597. package/libs/floorplan/index.d.ts +1 -0
  598. package/libs/floorplan/typings/index.d.ts +2 -0
  599. package/libs/index.js +159 -147
  600. package/libs/shared-utils/exports.js +81 -69
  601. package/libs/shared-utils/index.d.ts +2 -1
  602. package/libs/shared-utils/logger.js +1 -1
  603. package/libs/shared-utils/three/Magnifier.d.ts +2 -0
  604. package/libs/shared-utils/three/Magnifier.js +17 -15
  605. package/libs/shared-utils/three/PointSelector/index.d.ts +5 -0
  606. package/libs/shared-utils/three/PointSelector/index.js +38 -37
  607. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +1 -0
  608. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.js +41 -31
  609. package/libs/shared-utils/url/absoluteUrl.js +3 -7
  610. package/libs/shared-utils/url/defaultUrls.d.ts +30 -0
  611. package/libs/shared-utils/url/defaultUrls.js +26 -0
  612. package/libs/shared-utils/url/replace-static-prefix.d.ts +11 -0
  613. package/libs/shared-utils/url/replace-static-prefix.js +25 -0
  614. package/package.json +1 -1
  615. package/docs/functions/Util.absoluteUrl.html +0 -2
  616. package/docs/functions/Util.isAbsoluteURL.html +0 -1
  617. package/libs/DigitalHumanPlugin/index.d.ts +0 -67
  618. package/libs/DigitalHumanPlugin/index.js +0 -318
  619. package/libs/DigitalHumanPlugin/stateMachine.d.ts +0 -142
  620. package/libs/DigitalHumanPlugin/stateMachine.js +0 -153
  621. package/libs/DigitalPerformancePlugin/controller/index.d.ts +0 -224
  622. package/libs/DigitalPerformancePlugin/controller/index.js +0 -865
  623. package/libs/DigitalPerformancePlugin/core/DigitalHuman.d.ts +0 -41
  624. package/libs/DigitalPerformancePlugin/core/DigitalHuman.js +0 -174
  625. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +0 -33
  626. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.js +0 -149
  627. package/libs/DigitalPerformancePlugin/core/DigitalStateMachine.d.ts +0 -142
  628. package/libs/DigitalPerformancePlugin/core/DigitalStateMachine.js +0 -153
  629. package/libs/DigitalPerformancePlugin/core/Trace.d.ts +0 -9
  630. package/libs/DigitalPerformancePlugin/core/Trace.js +0 -23
  631. package/libs/DigitalPerformancePlugin/index.d.ts +0 -11
  632. package/libs/DigitalPerformancePlugin/index.js +0 -17
  633. package/libs/DigitalPerformancePlugin/mock.d.ts +0 -70
  634. package/libs/DigitalPerformancePlugin/mock.js +0 -273
  635. package/libs/DigitalPerformancePlugin/typings/index.d.ts +0 -79
  636. /package/libs/{DigitalPerformancePlugin/typings/index.js → floorplan/FloorplanGuidePlugin/typing.js} +0 -0
@@ -1,865 +0,0 @@
1
- var v = Object.defineProperty, H = Object.defineProperties;
2
- var I = Object.getOwnPropertyDescriptors;
3
- var D = Object.getOwnPropertySymbols;
4
- var U = Object.prototype.hasOwnProperty, R = Object.prototype.propertyIsEnumerable;
5
- var S = (p, t, e) => t in p ? v(p, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[t] = e, E = (p, t) => {
6
- for (var e in t || (t = {}))
7
- U.call(t, e) && S(p, e, t[e]);
8
- if (D)
9
- for (var e of D(t))
10
- R.call(t, e) && S(p, e, t[e]);
11
- return p;
12
- }, k = (p, t) => H(p, I(t));
13
- var y = (p, t, e) => (S(p, typeof t != "symbol" ? t + "" : t, e), e);
14
- var g = (p, t, e) => new Promise((i, a) => {
15
- var r = (o) => {
16
- try {
17
- n(e.next(o));
18
- } catch (h) {
19
- a(h);
20
- }
21
- }, s = (o) => {
22
- try {
23
- n(e.throw(o));
24
- } catch (h) {
25
- a(h);
26
- }
27
- }, n = (o) => o.done ? i(o.value) : Promise.resolve(o.value).then(r, s);
28
- n((e = e.apply(p, t)).next());
29
- });
30
- import { DigitalPlayground as z } from "../core/DigitalPlayground.js";
31
- import { Vector3 as w } from "three";
32
- import { convertMockToPlayer as G } from "../mock.js";
33
- import { transformPosition as N } from "../../shared-utils/five/transformPosition.js";
34
- import "@realsee/five/gltf-loader";
35
- import "../core/DigitalHuman.js";
36
- import "../core/DigitalStateMachine.js";
37
- import "../core/Trace.js";
38
- const L = "Dnalogel-DigitalPerformancePlugin";
39
- class Q {
40
- constructor(t, e = {}) {
41
- y(this, "five");
42
- y(this, "playground");
43
- y(this, "config");
44
- y(this, "state");
45
- y(this, "NAME");
46
- // 全局进度条相关属性
47
- y(this, "totalDurationCache", null);
48
- y(this, "chapterTimeMapCache", null);
49
- y(this, "progressListeners", /* @__PURE__ */ new Set());
50
- y(this, "progressUpdateInterval", 100);
51
- // 默认100ms更新一次
52
- y(this, "progressUpdateTimer", null);
53
- y(this, "_autoPlayOnNaturalEnd", !1);
54
- // 新增:playing-players-changed 事件监听集合
55
- y(this, "playingPlayersListeners", /* @__PURE__ */ new Set());
56
- this.five = t, this.config = E({
57
- autoPlay: !1,
58
- loop: !1,
59
- debug: !1
60
- }, e), this.playground = new z(this.config.debug), this.state = {
61
- enabled: !0,
62
- playing: !1,
63
- currentChapter: null,
64
- currentScript: null,
65
- continuousPlaying: !1,
66
- playMode: "single"
67
- }, this.NAME = L, this.config.debug, this.init();
68
- }
69
- init() {
70
- }
71
- /**
72
- * 加载剧本数据
73
- */
74
- loadScript(t) {
75
- return g(this, null, function* () {
76
- try {
77
- if (this.state.currentScript = t, this.playground.setScript(t), this.clearProgressCache(), this.config.debug, yield this.preloadResources(t), this.five && this.five.scene) {
78
- const e = /* @__PURE__ */ new Set();
79
- t.chapters.forEach((a) => {
80
- a.players.forEach((r) => {
81
- r.type === "model" && e.add(r.model);
82
- });
83
- }), yield new Promise((a) => requestAnimationFrame(a));
84
- let i = 0;
85
- if (Array.from(e).forEach((a) => {
86
- const r = this.getDigitalHuman(a);
87
- r != null && r.model && (this.five.scene.add(r.model), i++);
88
- }), i === 0)
89
- throw new Error("没有模型被添加到场景中");
90
- }
91
- this.config.autoPlay && t.chapters.length > 0 && (yield this.playChapter(t.chapters[0]));
92
- } catch (e) {
93
- throw console.error(`${this.NAME} failed to load script:`, e), e;
94
- }
95
- });
96
- }
97
- /**
98
- * 预加载资源
99
- */
100
- preloadResources(t) {
101
- return g(this, null, function* () {
102
- const e = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
103
- t.chapters.forEach((a) => {
104
- a.players.forEach((r) => {
105
- if (r.type === "model") {
106
- const s = r;
107
- e.add(s.model), s.keyframes.forEach((n) => {
108
- n.animation && i.add(n.animation.url);
109
- });
110
- }
111
- });
112
- }), yield Promise.all([
113
- this.playground.loadModels(Array.from(e)),
114
- this.playground.loadAnimations(Array.from(i))
115
- ]), this.config.debug;
116
- });
117
- }
118
- /**
119
- * 播放指定章节
120
- */
121
- playChapter(t) {
122
- return g(this, null, function* () {
123
- this.emitPlayingPlayersChanged();
124
- try {
125
- this.state.currentChapter = t, this.state.playing = !0, this.state.playMode = "single", this.config.debug, yield this.playground.playByChapter(t), this.state.playing = !1, this.config.debug;
126
- } catch (e) {
127
- throw console.error(`${this.NAME} failed to play chapter:`, e), this.state.playing = !1, e;
128
- }
129
- });
130
- }
131
- /**
132
- * 播放指定章节(内部方法,用于连续播放)
133
- */
134
- playChapterForContinuous(t) {
135
- return g(this, null, function* () {
136
- this.emitPlayingPlayersChanged();
137
- try {
138
- this.state.currentChapter = t, this.state.playing = !0, this.config.debug, yield this.playground.playByChapter(t), this.state.continuousPlaying && (this.state.playing = !0), yield new Promise((e) => setTimeout(e, 100)), this.config.debug;
139
- } catch (e) {
140
- throw console.error(`${this.NAME} failed to play chapter for continuous:`, e), this.state.playing = !1, e;
141
- }
142
- });
143
- }
144
- /**
145
- * 播放指定章节(通过索引)
146
- */
147
- playChapterByIndex(t) {
148
- return g(this, null, function* () {
149
- if (!this.state.currentScript)
150
- throw new Error("No script loaded");
151
- if (t < 0 || t >= this.state.currentScript.chapters.length)
152
- throw new Error("Invalid chapter index");
153
- yield this.playChapter(this.state.currentScript.chapters[t]);
154
- });
155
- }
156
- /**
157
- * 暂停播放
158
- */
159
- pause() {
160
- this.playground.pause(), this.state.playing = !1, this.config.debug && console.log(`${this.NAME} paused in ${this.state.playMode} mode`);
161
- }
162
- /**
163
- * 继续播放
164
- */
165
- continue() {
166
- return g(this, null, function* () {
167
- this._autoPlayOnNaturalEnd = !0;
168
- try {
169
- this.config.debug && console.log(`${this.NAME} continuing in ${this.state.playMode} mode`), this.state.playMode === "continuous" ? yield this.continueAllRemaining() : (this.state.currentChapter && this.state.currentChapter.players.forEach((t) => {
170
- if (t.type === "model") {
171
- const e = this.playground.getDigitalHuman(t.model);
172
- e && e.continueAnimation();
173
- }
174
- }), this.state.playing = !0, this.config.debug && console.log(`${this.NAME} continued single chapter successfully`));
175
- } catch (t) {
176
- throw console.error(`${this.NAME} failed to continue:`, t), this.state.playing = !1, t;
177
- }
178
- });
179
- }
180
- /**
181
- * 连续播放模式下的继续播放(从暂停位置继续播放所有剩余章节)
182
- */
183
- continueAllRemaining() {
184
- return g(this, null, function* () {
185
- if (!this.state.currentScript || !this.state.currentChapter)
186
- throw new Error("No script or chapter loaded");
187
- const t = this.state.currentScript.chapters, e = t.findIndex((i) => i.name === this.state.currentChapter.name);
188
- if (e === -1)
189
- throw new Error("Current chapter not found in script");
190
- this.state.continuousPlaying = !0;
191
- try {
192
- this.config.debug;
193
- let i = this.getProgress();
194
- console.log(`${this.NAME} [continueAllRemaining] current progress:`, i), this.emitPlayingPlayersChanged();
195
- const a = i && i.currentTime >= 26e3 && i.currentTime <= 27e3, r = i && i.currentTime >= i.totalTime;
196
- console.log(`${this.NAME} [continueAllRemaining] pause analysis:`, {
197
- currentTime: i == null ? void 0 : i.currentTime,
198
- totalTime: i == null ? void 0 : i.totalTime,
199
- isCompleted: r,
200
- isNearHardcodedPause: a
201
- }), r ? (console.log(`${this.NAME} [continueAllRemaining] chapter already completed, restarting`), yield this.playChapterForContinuous(this.state.currentChapter), i = this.getProgress(), console.log(`${this.NAME} [continueAllRemaining] progress after restart:`, i)) : a ? (console.log(`${this.NAME} [continueAllRemaining] detected hardcoded pause, skipping to 27500ms`), this.state.currentChapter.players.filter((n) => n.type === "model").forEach((n) => {
202
- const o = this.playground.getDigitalHuman(n.model);
203
- o && (o.state.currentTime = 27500);
204
- }), this.state.currentChapter.players.forEach((n) => {
205
- if (n.type === "model") {
206
- const o = this.playground.getDigitalHuman(n.model);
207
- o && o.continueAnimation();
208
- }
209
- }), this.state.playing = !0, console.log(`${this.NAME} [continueAllRemaining] after hardcoded pause skip - playing:`, this.state.playing)) : (console.log(`${this.NAME} [continueAllRemaining] continuing from paused position`), this.state.currentChapter.players.forEach((s) => {
210
- if (s.type === "model") {
211
- const n = this.playground.getDigitalHuman(s.model);
212
- n && n.continueAnimation();
213
- }
214
- }), this.state.playing = !0, console.log(`${this.NAME} [continueAllRemaining] after continue - playing:`, this.state.playing)), i = this.getProgress(), console.log(
215
- `${this.NAME} [continueAllRemaining] updated progress before wait:`,
216
- i,
217
- "playing:",
218
- this.state.playing
219
- ), i && i.currentTime < i.totalTime ? yield new Promise((s) => {
220
- let n = (i == null ? void 0 : i.currentTime) || 0, o = 0;
221
- const h = 15, P = () => {
222
- if (!this.state.continuousPlaying) {
223
- console.log(`${this.NAME} [continueAllRemaining] stopped by user`), s();
224
- return;
225
- }
226
- const l = this.getProgress();
227
- if (this.config.debug, l && l.currentTime >= l.totalTime) {
228
- s();
229
- return;
230
- }
231
- if (l && l.currentTime < 0) {
232
- console.warn(`${this.NAME} [continueAllRemaining] detected negative time, skipping wait`), s();
233
- return;
234
- }
235
- if (l && l.currentTime === n) {
236
- if (o++, o >= h) {
237
- console.warn(`${this.NAME} [continueAllRemaining] progress stagnant for 3s, assuming chapter completed`), s();
238
- return;
239
- }
240
- } else
241
- o = 0, n = (l == null ? void 0 : l.currentTime) || 0;
242
- setTimeout(P, 200);
243
- };
244
- P();
245
- }) : console.log(`${this.NAME} [continueAllRemaining] chapter already completed or restarted, skipping wait`), console.log(
246
- `${this.NAME} [continueAllRemaining] starting to play remaining chapters from index ${e + 1} to ${t.length - 1}`
247
- ), this.emitPlayingPlayersChanged();
248
- for (let s = e + 1; s < t.length; s++) {
249
- if (!this.state.continuousPlaying) {
250
- this.config.debug && console.log(`${this.NAME} continuous playback stopped by user at chapter ${s + 1}`);
251
- break;
252
- }
253
- const n = t[s];
254
- this.config.debug;
255
- try {
256
- n.players.filter((l) => l.type === "model").forEach((l) => {
257
- const f = this.playground.getDigitalHuman(l.model);
258
- f && (f.state.currentTime = 0);
259
- });
260
- const h = Date.now();
261
- yield this.playChapterForContinuous(n);
262
- const P = Date.now() - h;
263
- if (this.config.debug, !this.state.continuousPlaying) {
264
- this.config.debug && console.log(`${this.NAME} continuous playback stopped after chapter ${s + 1}`);
265
- break;
266
- }
267
- s < t.length - 1 && (yield new Promise((l) => setTimeout(l, 1e3)));
268
- } catch (o) {
269
- console.error(`${this.NAME} failed to play chapter ${n.name}:`, o), this.state.continuousPlaying = !1;
270
- break;
271
- }
272
- }
273
- this.config.debug;
274
- } catch (i) {
275
- throw console.error(`${this.NAME} failed during continuous continue:`, i), this.emitPlayingPlayersChanged(), this.state.playing = !1, this.state.continuousPlaying = !1, i;
276
- } finally {
277
- this.state.playing = !1, this.state.continuousPlaying = !1;
278
- }
279
- });
280
- }
281
- /**
282
- * 从当前章节播放到最后一个章节(连续自动播放)
283
- */
284
- playAllRemaining() {
285
- return g(this, null, function* () {
286
- if (this._autoPlayOnNaturalEnd = !0, !this.state.currentScript)
287
- throw new Error("No script loaded");
288
- const t = this.state.currentScript.chapters;
289
- if (t.length === 0)
290
- throw new Error("No chapters to play");
291
- let e = 0;
292
- this.state.currentChapter && (e = t.findIndex((i) => i.name === this.state.currentChapter.name), e === -1 && (e = 0)), this.state.continuousPlaying = !0, this.state.playMode = "continuous";
293
- try {
294
- this.config.debug;
295
- const i = !this.state.playing && this.state.currentChapter !== null, a = this.getProgress();
296
- if (i) {
297
- const r = a && a.currentTime >= 26e3 && a.currentTime <= 27e3, s = a && a.totalTime > 0 && a.currentTime >= a.totalTime;
298
- if (console.log(`${this.NAME} [playAllRemaining] pause analysis:`, {
299
- hasProgress: !!a,
300
- currentTime: a == null ? void 0 : a.currentTime,
301
- totalTime: a == null ? void 0 : a.totalTime,
302
- isCompleted: s,
303
- isNearHardcodedPause: r,
304
- shouldContinueFromPause: !s || r
305
- }), this.emitPlayingPlayersChanged(), !s || r) {
306
- this.config.debug, yield this.continue();
307
- return;
308
- } else if (this.config.debug, e += 1, e >= t.length) {
309
- this.config.debug, this.state.playing = !1, this.emitPlayingPlayersChanged && this.emitPlayingPlayersChanged();
310
- return;
311
- }
312
- }
313
- for (let r = e; r < t.length; r++) {
314
- if (!this.state.continuousPlaying) {
315
- this.config.debug && console.log(`${this.NAME} continuous playback stopped by user at chapter ${r + 1}`), this.emitPlayingPlayersChanged();
316
- break;
317
- }
318
- const s = t[r];
319
- this.config.debug;
320
- try {
321
- const n = this.state.currentChapter && this.state.currentChapter.name === s.name, o = i && n && r === e;
322
- if (!n || o) {
323
- const l = s.players.filter((f) => f.type === "model");
324
- if (o) {
325
- const f = this.getProgress();
326
- f && f.currentTime >= 26e3 && f.currentTime <= 27e3 ? (l.forEach((A) => {
327
- const M = this.playground.getDigitalHuman(A.model);
328
- M && (M.state.currentTime = 27500);
329
- }), this.config.debug && console.log(`${this.NAME} skipped hardcoded pause for chapter: ${s.name}`)) : this.config.debug && console.log(`${this.NAME} continuing current chapter from existing position: ${s.name}`);
330
- } else
331
- l.forEach((f) => {
332
- const C = this.playground.getDigitalHuman(f.model);
333
- C && (C.state.currentTime = 0);
334
- }), this.config.debug && console.log(`${this.NAME} reset time for new chapter: ${s.name}`);
335
- } else
336
- this.config.debug;
337
- const h = Date.now();
338
- yield this.playChapterForContinuous(s);
339
- const P = Date.now() - h;
340
- if (this.config.debug, this.state.continuousPlaying && !this.state.playing && (console.warn(`${this.NAME} [playAllRemaining] chapter completed but playing state is false, fixing...`), this.state.playing = !0), !this.state.continuousPlaying) {
341
- this.config.debug && console.log(`${this.NAME} continuous playback stopped after chapter ${r + 1}`), this.emitPlayingPlayersChanged();
342
- break;
343
- }
344
- r < t.length - 1, r < t.length - 1 && (yield new Promise((l) => setTimeout(l, 1e3)));
345
- } catch (n) {
346
- console.error(`${this.NAME} failed to play chapter ${s.name}:`, n), this.emitPlayingPlayersChanged(), this.state.continuousPlaying = !1;
347
- break;
348
- }
349
- }
350
- this.stopAllPlayers(), this.state.playing = !1, this.emitPlayingPlayersChanged && this.emitPlayingPlayersChanged(), this.config.debug;
351
- } catch (i) {
352
- throw console.error(`${this.NAME} failed during continuous playback:`, i), this.emitPlayingPlayersChanged(), this.state.playing = !1, this.state.continuousPlaying = !1, i;
353
- } finally {
354
- this.state.playing = !1, this.state.continuousPlaying = !1;
355
- }
356
- });
357
- }
358
- /**
359
- * 重置播放
360
- */
361
- reset() {
362
- this.playground.reset(), this.state.playing = !1, this.state.continuousPlaying = !1, this.state.currentChapter = null, this.state.playMode = "single", this.config.debug && console.log(`${this.NAME} reset`);
363
- }
364
- /**
365
- * 设置时间线
366
- */
367
- setTimelineTo(t) {
368
- this.playground.setTimelineTo(t), this.config.debug && console.log(`${this.NAME} timeline set to:`, t);
369
- }
370
- /**
371
- * 启用插件
372
- */
373
- enable() {
374
- this.state.enabled = !0, this.config.debug && console.log(`${this.NAME} enabled`);
375
- }
376
- /**
377
- * 禁用插件
378
- */
379
- disable() {
380
- this.state.enabled = !1, this.pause(), this.config.debug && console.log(`${this.NAME} disabled`);
381
- }
382
- /**
383
- * 重置并清理(原 dispose 逻辑)
384
- */
385
- resetAndCleanup() {
386
- this.reset(), this.state.enabled = !1, this.stopProgressUpdateTimer(), this.progressListeners.clear(), this.clearProgressCache(), this.five.refresh(), this.config.debug && console.log(`${this.NAME} resetAndCleanup`);
387
- }
388
- /**
389
- * 销毁插件(彻底释放资源)
390
- */
391
- dispose() {
392
- this.resetAndCleanup(), this.playground && typeof this.playground.dispose == "function" && this.playground.dispose(), this.playingPlayersListeners.clear(), this.state = void 0, this.playground = void 0, this.five = void 0, this.config = void 0, typeof window != "undefined" && window.console && console.log(`${this.NAME} disposed (彻底销毁)`);
393
- }
394
- /**
395
- * 获取当前状态
396
- */
397
- getState() {
398
- return E({}, this.state);
399
- }
400
- /**
401
- * 获取可用章节列表
402
- */
403
- getChapters() {
404
- var t;
405
- return ((t = this.state.currentScript) == null ? void 0 : t.chapters) || [];
406
- }
407
- /**
408
- * 获取数字人实例
409
- */
410
- getDigitalHuman(t) {
411
- return this.playground.getDigitalHuman(t);
412
- }
413
- /**
414
- * 获取当前播放进度信息
415
- */
416
- getProgress() {
417
- if (!this.state.currentChapter)
418
- return null;
419
- let t = 0, e = 0;
420
- return this.state.currentChapter.players.forEach((i) => {
421
- if (i.type === "model") {
422
- const a = i, r = a.keyframes[a.keyframes.length - 1];
423
- r && (t = Math.max(t, r.timeStamp));
424
- const s = this.playground.getDigitalHuman(a.model);
425
- s && (e = Math.max(e, s.state.currentTime || 0));
426
- }
427
- }), { currentTime: e, totalTime: t };
428
- }
429
- /**
430
- * 对原始 res 数据进行 transformPosition 处理和章节分组,返回完整结构
431
- * @param res 原始数据
432
- * @param work 可选,存在时才做transformPosition
433
- * @param totalDelay 可选,默认0
434
- */
435
- transformScriptData(t, e, i = 0) {
436
- var n, o;
437
- if (!t || !t.players || !Array.isArray(t.players))
438
- return t;
439
- const a = (n = t.players[0]) != null && n.fiveState ? E({}, t.players[0].fiveState) : void 0;
440
- if (a && a.offset && e) {
441
- const h = new w(a.offset.x, a.offset.y, a.offset.z), P = N(h, e == null ? void 0 : e.transform);
442
- a.offset = { x: P.x, y: P.y, z: P.z };
443
- }
444
- const r = [
445
- {
446
- id: 0,
447
- name: ((o = t.players[0]) == null ? void 0 : o.chapterName) || "Chapter 1",
448
- players: []
449
- }
450
- ];
451
- let s = 0;
452
- return t.players.forEach((h, P) => {
453
- var C, A, M;
454
- let l = E({}, h);
455
- if (e && ((C = l.track) != null && C.path && Array.isArray(l.track.path) && (l.track.path = l.track.path.map((d) => {
456
- const m = N(new w(d.x, d.y, d.z), e == null ? void 0 : e.transform);
457
- return {
458
- x: m.x,
459
- y: m.y,
460
- z: m.z
461
- };
462
- })), (A = l.track) != null && A.points && Array.isArray(l.track.points) && (l.track.points = l.track.points.map((d) => {
463
- if (d.point) {
464
- const m = N(
465
- new w(d.point.x, d.point.y, d.point.z),
466
- e == null ? void 0 : e.transform
467
- );
468
- return k(E({}, d), {
469
- point: {
470
- x: m.x,
471
- y: m.y,
472
- z: m.z
473
- }
474
- });
475
- }
476
- return d;
477
- })), l.matrix && Array.isArray(l.matrix) && l.matrix.length >= 16)) {
478
- const d = new w(l.matrix[12], l.matrix[13], l.matrix[14]), m = N(d, e == null ? void 0 : e.transform);
479
- l.matrix[12] = m.x, l.matrix[13] = m.y, l.matrix[14] = m.z;
480
- }
481
- const f = G(l, i);
482
- ((M = h.config) == null ? void 0 : M.type) === "simultaneous" || P > 0 && s++, r[s] || r.push({
483
- id: s,
484
- name: h.chapterName || `Chapter ${s + 1}`,
485
- players: []
486
- }), r[s].players.push(f);
487
- }), {
488
- id: t.id,
489
- name: t.name,
490
- fiveState: a,
491
- chapters: r
492
- };
493
- }
494
- // ===================== 全局进度条功能 =====================
495
- /**
496
- * 清理进度缓存
497
- */
498
- clearProgressCache() {
499
- this.totalDurationCache = null, this.chapterTimeMapCache = null, this.config.debug && console.log(`${this.NAME} progress cache cleared`);
500
- }
501
- /**
502
- * 计算单个章节的时长
503
- */
504
- calculateChapterDuration(t) {
505
- let e = 0;
506
- return t.players.forEach((i) => {
507
- if (i.type === "model") {
508
- const a = i, r = a.keyframes[a.keyframes.length - 1];
509
- r && (e = Math.max(e, r.timeStamp));
510
- }
511
- }), e;
512
- }
513
- /**
514
- * 获取所有章节的总时长(毫秒)
515
- */
516
- getTotalDuration() {
517
- if (this.totalDurationCache !== null)
518
- return this.totalDurationCache;
519
- if (!this.state.currentScript)
520
- return 0;
521
- let t = 0;
522
- return this.state.currentScript.chapters.forEach((e) => {
523
- t += this.calculateChapterDuration(e);
524
- }), this.totalDurationCache = t, this.config.debug && console.log(`${this.NAME} calculated total duration: ${t}ms`), t;
525
- }
526
- /**
527
- * 获取章节时间映射信息
528
- */
529
- getChapterTimeMap() {
530
- if (this.chapterTimeMapCache !== null)
531
- return this.chapterTimeMapCache;
532
- if (!this.state.currentScript)
533
- return [];
534
- const t = [];
535
- let e = 0;
536
- return this.state.currentScript.chapters.forEach((i, a) => {
537
- const r = this.calculateChapterDuration(i), s = e + r;
538
- t.push({
539
- chapterIndex: a,
540
- chapterName: i.name,
541
- startTime: e,
542
- duration: r,
543
- endTime: s,
544
- chapter: i
545
- }), e = s;
546
- }), this.chapterTimeMapCache = t, this.config.debug && console.log(`${this.NAME} generated chapter time map:`, t), t;
547
- }
548
- /**
549
- * 获取当前全局播放时间(毫秒)
550
- *
551
- * @deprecated 建议使用 getGlobalProgress().currentTime 获取更完整的信息
552
- * @returns 当前全局时间(毫秒)
553
- */
554
- getCurrentGlobalTime() {
555
- return this.getGlobalProgress().currentTime;
556
- }
557
- /**
558
- * 获取全局进度信息
559
- */
560
- getGlobalProgress() {
561
- let t = 0, e = 0, i = 0;
562
- if (this.state.currentChapter) {
563
- const n = this.getChapterTimeMap().find((o) => o.chapter.name === this.state.currentChapter.name);
564
- if (n) {
565
- e = n.chapterIndex;
566
- const o = this.getProgress();
567
- i = (o == null ? void 0 : o.currentTime) || 0, t = n.startTime + i;
568
- }
569
- }
570
- const a = this.getTotalDuration(), r = a > 0 ? t / a * 100 : 0;
571
- return {
572
- currentTime: t,
573
- totalTime: a,
574
- percentage: Math.min(100, Math.max(0, r)),
575
- currentChapterIndex: e,
576
- currentChapterTime: i,
577
- currentChapter: this.state.currentChapter || void 0
578
- };
579
- }
580
- /**
581
- * 根据全局时间获取对应的章节信息
582
- */
583
- getChapterByGlobalTime(t) {
584
- const e = this.getChapterTimeMap();
585
- if (e.length === 0)
586
- return null;
587
- const a = e.find((s) => t >= s.startTime && t < s.endTime) || (t >= e[e.length - 1].startTime ? e[e.length - 1] : null);
588
- if (!a)
589
- return null;
590
- const r = t - a.startTime;
591
- return {
592
- chapterIndex: a.chapterIndex,
593
- chapterTime: Math.max(0, r),
594
- chapter: a.chapter
595
- };
596
- }
597
- /**
598
- * 跳转到指定的全局时间
599
- */
600
- seekToGlobalTime(t, e) {
601
- return g(this, null, function* () {
602
- var i;
603
- this._autoPlayOnNaturalEnd = !!e;
604
- try {
605
- if (!this.state.currentScript)
606
- throw new Error("No script loaded");
607
- const a = this.getTotalDuration(), r = Math.max(0, Math.min(t, a));
608
- this.config.debug, this.emit("seek-started", r);
609
- const s = this.getChapterByGlobalTime(r);
610
- if (!s)
611
- throw new Error("Unable to locate chapter for the specified time");
612
- const { chapterIndex: n, chapterTime: o, chapter: h } = s, P = this.state.playing;
613
- this.state.playing && this.pause(), (!this.state.currentChapter || this.state.currentChapter.name !== h.name) && (this.config.debug && console.log(`${this.NAME} switching to chapter ${n}: ${h.name}`), yield this.initializeChapterForSeek(h, o), this.state.currentChapter = h, this.emit("chapter-changed", n, h)), this.setTimelineTo(o);
614
- const C = this.getChapterTimeMap().find((u) => u.chapter.name === h.name), A = (i = C == null ? void 0 : C.chapterIndex) != null ? i : 0;
615
- this.state.currentScript.chapters.forEach((u, b) => {
616
- u.players.forEach((T) => {
617
- if (T.type === "model") {
618
- const c = this.playground.getDigitalHuman(T.model);
619
- if (!c)
620
- return;
621
- if (b < A) {
622
- const x = T.keyframes[T.keyframes.length - 1], $ = c.keyframesManager.getStateByTime(
623
- x.timeStamp,
624
- T.keyframes,
625
- "model"
626
- );
627
- c.model.position.copy($.translation), c.model.quaternion.copy($.quaternion), c.model.scale.copy($.scale), c.model.visible = $.visible, c.container.visible = !0, c.state.currentTime = x.timeStamp, c.pauseAnimation && c.pauseAnimation();
628
- } else
629
- b === A ? (c.play({
630
- keyframes: T.keyframes,
631
- items: T.items,
632
- effects: T.effects
633
- }), c.state.currentTime = o, c.model.visible = !0, c.container.visible = !0, e ? c.continueAnimation() : c.pauseAnimation && c.pauseAnimation()) : (c.model.visible = !1, c.container.visible = !1, c.state.currentTime = 0, c.pauseAnimation && c.pauseAnimation());
634
- }
635
- });
636
- }), (e !== void 0 ? e : P) && (this.state.playing = !0, h.players.forEach((u) => {
637
- if (u.type === "model") {
638
- const b = this.playground.getDigitalHuman(u.model);
639
- b && (b.play({
640
- keyframes: u.keyframes,
641
- items: u.items,
642
- effects: u.effects
643
- }), b.state.currentTime = o, b.continueAnimation());
644
- }
645
- }), this.emit("playback-started", r)), this.emit("seek-completed", r);
646
- const m = this.getChapterTimeMap().find((u) => u.chapter.name === h.name);
647
- if (m && Math.abs(o - m.duration) < 1 && // 允许1ms误差
648
- e) {
649
- const u = this.state.currentScript.chapters[n + 1];
650
- u && (this.config.debug && console.log(`${this.NAME} seekToGlobalTime: auto switch to next chapter:`, u.name), yield this.playChapter(u));
651
- }
652
- this.config.debug;
653
- } catch (a) {
654
- throw console.error(`${this.NAME} failed to seek to global time ${t}:`, a), a;
655
- }
656
- });
657
- }
658
- /**
659
- * 初始化章节用于跳转(不自动播放)
660
- */
661
- initializeChapterForSeek(t, e = 0) {
662
- return g(this, null, function* () {
663
- this.emitPlayingPlayersChanged();
664
- try {
665
- this.config.debug && console.log(`${this.NAME} initializing chapter for seek: ${t.name}`), this.playground.reset();
666
- const i = t.players.filter((s) => s.type === "model"), a = [];
667
- i.forEach((s) => {
668
- const n = s;
669
- n.keyframes && Array.isArray(n.keyframes) && n.keyframes.forEach((o) => {
670
- o.animation && o.animation.url && a.push(o.animation.url);
671
- });
672
- }), a.length > 0 && (yield this.playground.loadAnimations(a)), yield Promise.all(
673
- i.map((s) => g(this, null, function* () {
674
- const n = s;
675
- let o = this.playground.getDigitalHuman(n.model);
676
- if (o || (yield this.playground.loadModels([n.model]), o = this.playground.getDigitalHuman(n.model)), o && n.keyframes.length > 0) {
677
- o.state.currentTime = e, o.state.currentAnimation = null, o.keyframes = n.keyframes;
678
- const h = n.keyframes[0];
679
- o.model.position.set(
680
- h.position[0],
681
- h.position[1],
682
- h.position[2]
683
- ), o.model.quaternion.set(
684
- h.quaternion[0],
685
- h.quaternion[1],
686
- h.quaternion[2],
687
- h.quaternion[3]
688
- ), o.model.scale.set(h.scale[0], h.scale[1], h.scale[2]), o.model.visible = h.visible, o.play({
689
- keyframes: n.keyframes,
690
- items: n.items,
691
- effects: n.effects
692
- }), o.state.currentTime = e, o.continueAnimation();
693
- }
694
- }))
695
- ), t.players.filter((s) => s.type === "camera").length > 0 && this.config.debug, this.config.debug;
696
- } catch (i) {
697
- throw console.error(`${this.NAME} failed to initialize chapter for seek:`, i), i;
698
- }
699
- });
700
- }
701
- /**
702
- * 跳转到指定百分比位置
703
- */
704
- seekToPercentage(t, e) {
705
- return g(this, null, function* () {
706
- const i = Math.max(0, Math.min(100, t)), r = this.getTotalDuration() * i / 100;
707
- this.config.debug && console.log(`${this.NAME} seeking to ${i}% (${r}ms)`), yield this.seekToGlobalTime(r, e);
708
- });
709
- }
710
- /**
711
- * 跳转到指定章节的指定时间
712
- */
713
- seekToChapter(t, e = 0, i) {
714
- return g(this, null, function* () {
715
- if (!this.state.currentScript)
716
- throw new Error("No script loaded");
717
- if (t < 0 || t >= this.state.currentScript.chapters.length)
718
- throw new Error("Invalid chapter index");
719
- const s = this.getChapterTimeMap()[t].startTime + Math.max(0, e);
720
- this.config.debug && console.log(`${this.NAME} seeking to chapter ${t} at ${e}ms (global: ${s}ms)`), yield this.seekToGlobalTime(s, i);
721
- });
722
- }
723
- /**
724
- * 从指定全局时间开始播放所有剩余内容
725
- */
726
- playFromGlobalTime(t) {
727
- return g(this, null, function* () {
728
- yield this.seekToGlobalTime(t, !0), yield this.playAllRemaining();
729
- });
730
- }
731
- /**
732
- * 注册进度变化监听器
733
- */
734
- onProgressChanged(t) {
735
- const e = (i) => g(this, null, function* () {
736
- var s;
737
- t(i);
738
- const a = ((s = this.state.currentScript) == null ? void 0 : s.chapters) || [], r = this.state.currentChapter ? a.findIndex((n) => n.name === this.state.currentChapter.name) : -1;
739
- if (this.state.playing && this.state.currentChapter && i.currentTime >= i.totalTime - 10 && // 允许10ms误差
740
- this._autoPlayOnNaturalEnd) {
741
- const n = a[r + 1];
742
- n ? yield this.playChapter(n) : (this.stopAllPlayers(), this.state.playing = !1, this.emitPlayingPlayersChanged && this.emitPlayingPlayersChanged());
743
- }
744
- });
745
- return this.progressListeners.add(e), this.startProgressUpdateTimer(), this.config.debug && console.log(`${this.NAME} progress listener added, total: ${this.progressListeners.size}`), () => {
746
- this.progressListeners.delete(e), this.progressListeners.size === 0 && this.stopProgressUpdateTimer(), this.config.debug && console.log(`${this.NAME} progress listener removed, remaining: ${this.progressListeners.size}`);
747
- };
748
- }
749
- /**
750
- * 移除进度监听器
751
- */
752
- offProgressChanged(t) {
753
- this.progressListeners.delete(t), this.progressListeners.size === 0 && this.stopProgressUpdateTimer(), this.config.debug && console.log(`${this.NAME} progress listener removed via off method, remaining: ${this.progressListeners.size}`);
754
- }
755
- /**
756
- * 设置进度回调频率(毫秒)
757
- */
758
- setProgressUpdateInterval(t) {
759
- const e = this.progressUpdateInterval;
760
- this.progressUpdateInterval = Math.max(50, t), this.config.debug && console.log(
761
- `${this.NAME} progress update interval changed from ${e}ms to ${this.progressUpdateInterval}ms`
762
- ), this.progressUpdateTimer !== null && (this.stopProgressUpdateTimer(), this.startProgressUpdateTimer());
763
- }
764
- /**
765
- * 启动进度更新定时器
766
- */
767
- startProgressUpdateTimer() {
768
- this.progressUpdateTimer === null && (this.progressUpdateTimer = window.setInterval(() => {
769
- if (this.progressListeners.size > 0) {
770
- const t = this.getGlobalProgress();
771
- this.emit("progress-changed", t);
772
- }
773
- }, this.progressUpdateInterval), this.config.debug && console.log(`${this.NAME} progress update timer started with ${this.progressUpdateInterval}ms interval`));
774
- }
775
- /**
776
- * 停止进度更新定时器
777
- */
778
- stopProgressUpdateTimer() {
779
- this.progressUpdateTimer !== null && (clearInterval(this.progressUpdateTimer), this.progressUpdateTimer = null, this.config.debug && console.log(`${this.NAME} progress update timer stopped`));
780
- }
781
- /**
782
- * 播放完整的所有章节(从头开始)
783
- */
784
- playAllChapters() {
785
- return g(this, null, function* () {
786
- if (!this.state.currentScript || this.state.currentScript.chapters.length === 0)
787
- throw new Error("No script or chapters loaded");
788
- this.config.debug, yield this.seekToGlobalTime(0, !0), yield this.playAllRemaining();
789
- });
790
- }
791
- /**
792
- * 获取播放范围信息
793
- */
794
- getPlaybackRange() {
795
- const t = this.getCurrentGlobalTime(), e = this.getTotalDuration();
796
- return {
797
- startTime: t,
798
- endTime: e,
799
- estimatedDuration: e - t
800
- };
801
- }
802
- /**
803
- * 停止所有 player 的播放状态
804
- */
805
- stopAllPlayers() {
806
- this.state.currentScript && this.state.currentScript.chapters.forEach((t) => {
807
- t.players.forEach((e) => {
808
- if (e.type === "model") {
809
- const i = this.playground.getDigitalHuman(e.model);
810
- i && (i.pauseAnimation && i.pauseAnimation(), i.state.playing = !1);
811
- }
812
- });
813
- });
814
- }
815
- // 简单的事件发射器实现
816
- emit(t, ...e) {
817
- if (this.config.debug, t === "progress-changed" && e.length > 0) {
818
- const i = e[0];
819
- this.progressListeners.forEach((a) => {
820
- try {
821
- a(i);
822
- } catch (r) {
823
- console.error(`${this.NAME} progress listener error:`, r);
824
- }
825
- });
826
- }
827
- }
828
- /**
829
- * 注册监听当前正在播放的所有player变化
830
- */
831
- onPlayingPlayersChanged(t) {
832
- return this.playingPlayersListeners.add(t), () => this.playingPlayersListeners.delete(t);
833
- }
834
- /**
835
- * 获取当前正在播放的所有player(数组)
836
- */
837
- getCurrentPlayingPlayers() {
838
- const e = this.getGlobalProgress().currentTime, a = this.getChapterTimeMap().find(
839
- (r) => e >= r.startTime && e < r.endTime
840
- );
841
- return a ? this.getPlayingPlayersFromChapter(a.chapter) : [];
842
- }
843
- /**
844
- * 从指定章节获取正在播放的players
845
- */
846
- getPlayingPlayersFromChapter(t) {
847
- return t.players.filter((e) => {
848
- if (e.type === "model") {
849
- const i = this.playground.getDigitalHuman(e.model);
850
- return !(!i || !i.state);
851
- }
852
- return !1;
853
- });
854
- }
855
- /**
856
- * 触发 playing-players-changed 事件
857
- */
858
- emitPlayingPlayersChanged() {
859
- const t = this.getCurrentPlayingPlayers();
860
- this.playingPlayersListeners.forEach((e) => e(t));
861
- }
862
- }
863
- export {
864
- Q as default
865
- };