@realsee/dnalogel 3.80.8-alpha.2 → 3.81.0-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 (605) hide show
  1. package/dist/DigitalPerformancePlugin/core/DigitalHuman.d.ts +18 -0
  2. package/dist/DigitalPerformanceV2Plugin/controller/index.d.ts +351 -0
  3. package/dist/DigitalPerformanceV2Plugin/core/CameraDirector.d.ts +61 -0
  4. package/dist/DigitalPerformanceV2Plugin/core/CameraSampler.d.ts +53 -0
  5. package/dist/DigitalPerformanceV2Plugin/core/CameraTrack.d.ts +21 -0
  6. package/dist/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.d.ts +39 -0
  7. package/dist/DigitalPerformanceV2Plugin/core/PerformanceClock.d.ts +55 -0
  8. package/dist/DigitalPerformanceV2Plugin/core/Playground.d.ts +106 -0
  9. package/dist/DigitalPerformanceV2Plugin/core/shared.d.ts +4 -0
  10. package/dist/DigitalPerformanceV2Plugin/index.d.ts +9 -0
  11. package/dist/DigitalPerformanceV2Plugin/typings/index.d.ts +113 -0
  12. package/dist/index.cjs.js +84 -101
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.js +8739 -7470
  15. package/dist/index.umd.js +77 -94
  16. package/docs/assets/navigation.js +1 -1
  17. package/docs/assets/search.js +1 -1
  18. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  19. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  20. package/docs/classes/CSS3DRender.html +2 -2
  21. package/docs/classes/DigitalHuman.html +11 -2
  22. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +165 -0
  23. package/docs/classes/DigitalPlayground.html +2 -2
  24. package/docs/classes/DigitalStateMachine.html +2 -2
  25. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  26. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  27. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  28. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  29. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  30. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  31. package/docs/classes/ModelRoomLabelController.html +2 -2
  32. package/docs/classes/MoveController.html +2 -2
  33. package/docs/classes/Object3DHelperController.html +2 -2
  34. package/docs/classes/PaintBrush.html +2 -2
  35. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  36. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  37. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  38. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  39. package/docs/classes/PanoTagPluginController.html +2 -2
  40. package/docs/classes/Sculpt.html +2 -2
  41. package/docs/classes/Util.BetterTween.html +2 -2
  42. package/docs/classes/Util.FiveDomEvents.html +2 -2
  43. package/docs/classes/Util.FivePuppet.html +2 -2
  44. package/docs/classes/Util.Interval.html +2 -2
  45. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  46. package/docs/classes/Util.LightTag.html +2 -2
  47. package/docs/classes/Util.LineSegments.html +2 -2
  48. package/docs/classes/Util.Magnifier.html +2 -2
  49. package/docs/classes/Util.Object3D.html +2 -2
  50. package/docs/classes/Util.PointDomHelper.html +2 -2
  51. package/docs/classes/Util.PointHelper.html +2 -2
  52. package/docs/classes/Util.PointSelector.html +2 -2
  53. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  54. package/docs/classes/Util.Rectangle.html +2 -2
  55. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  56. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  57. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  58. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  59. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  60. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  61. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  62. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  63. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  64. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  65. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  66. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  67. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  68. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  69. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  70. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  71. package/docs/classes/WalkController.html +2 -2
  72. package/docs/enums/CameraMovementEffect.html +2 -2
  73. package/docs/enums/ContentType.html +2 -2
  74. package/docs/enums/DIRECTION.html +2 -2
  75. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  76. package/docs/enums/DimensionType.html +2 -2
  77. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  78. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  79. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  80. package/docs/enums/PointType.html +2 -2
  81. package/docs/enums/Rotation.html +2 -2
  82. package/docs/functions/AreaMakerPlugin.html +1 -1
  83. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  84. package/docs/functions/CameraMovementPlugin.html +2 -2
  85. package/docs/functions/CruisePlugin.html +1 -1
  86. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  87. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  88. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -0
  89. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  90. package/docs/functions/GuideLinePlugin.html +1 -1
  91. package/docs/functions/ItemLabelPlugin.html +1 -1
  92. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  93. package/docs/functions/MeasurePlugin.html +1 -1
  94. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  95. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  96. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  97. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  98. package/docs/functions/ModelMakerPlugin.html +1 -1
  99. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  100. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  101. package/docs/functions/ModelViewPlugin.html +2 -2
  102. package/docs/functions/MovePlugin.html +1 -1
  103. package/docs/functions/Object3DHelperPlugin.html +1 -1
  104. package/docs/functions/PanoCompassPlugin.html +1 -1
  105. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  106. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  107. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  108. package/docs/functions/PanoMeasurePlugin.html +1 -1
  109. package/docs/functions/PanoRulerPlugin.html +2 -2
  110. package/docs/functions/PanoRulerProPlugin.html +2 -2
  111. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  112. package/docs/functions/PanoTagPlugin.html +1 -1
  113. package/docs/functions/PanoVideoPlugin.html +2 -2
  114. package/docs/functions/PipelinePlugin.html +1 -1
  115. package/docs/functions/SculptPlugin.html +2 -2
  116. package/docs/functions/SculptPluginForFive.html +2 -2
  117. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  118. package/docs/functions/Util.awaitNextFrame.html +1 -1
  119. package/docs/functions/Util.blink.html +2 -2
  120. package/docs/functions/Util.blinkWithPreset.html +2 -2
  121. package/docs/functions/Util.bounding.html +1 -1
  122. package/docs/functions/Util.boundingBox.html +1 -1
  123. package/docs/functions/Util.boundingSphere.html +1 -1
  124. package/docs/functions/Util.boxVertex.html +2 -2
  125. package/docs/functions/Util.boxVertexes.html +1 -1
  126. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  127. package/docs/functions/Util.cleanup.html +2 -2
  128. package/docs/functions/Util.convexHull.html +2 -2
  129. package/docs/functions/Util.equal.html +2 -2
  130. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  131. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  132. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  133. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  134. package/docs/functions/Util.getFrameTime.html +2 -2
  135. package/docs/functions/Util.getGeometryArea.html +1 -1
  136. package/docs/functions/Util.getGeometryInfo.html +1 -1
  137. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  138. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  139. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  140. package/docs/functions/Util.inside.html +1 -1
  141. package/docs/functions/Util.isModelLike.html +1 -1
  142. package/docs/functions/Util.isNil.html +2 -2
  143. package/docs/functions/Util.isPanoramaLike.html +1 -1
  144. package/docs/functions/Util.lookObject.html +2 -2
  145. package/docs/functions/Util.lookPoint.html +2 -2
  146. package/docs/functions/Util.nextFrame.html +1 -1
  147. package/docs/functions/Util.notNil.html +2 -2
  148. package/docs/functions/Util.reblink.html +2 -2
  149. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  150. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  151. package/docs/functions/Util.sculpt.createBox.html +1 -1
  152. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  153. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  154. package/docs/functions/Util.sculpt.createLine.html +2 -2
  155. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  156. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  157. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  158. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  159. package/docs/functions/Util.sculpt.transformUnit.html +1 -1
  160. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  161. package/docs/functions/Util.tag.html +1 -1
  162. package/docs/functions/Util.triangleArea.html +2 -2
  163. package/docs/functions/Util.triangleCenter.html +2 -2
  164. package/docs/functions/Util.tweenProgress.html +1 -1
  165. package/docs/functions/Util.uuid.html +2 -2
  166. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  167. package/docs/functions/Util.worldBounding.html +1 -1
  168. package/docs/functions/Util.worldBoundingBox.html +1 -1
  169. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  170. package/docs/functions/createPolyline.html +2 -2
  171. package/docs/functions/pluginFlag.html +1 -1
  172. package/docs/functions/validatePolygon.html +1 -1
  173. package/docs/hierarchy.html +1 -1
  174. package/docs/index.html +2 -2
  175. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  176. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  177. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  178. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  179. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  180. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  181. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  182. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  183. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  184. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  185. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  186. package/docs/interfaces/BoxPosition.html +2 -2
  187. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  188. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  189. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  190. package/docs/interfaces/ChapterLocation.html +2 -2
  191. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  192. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  193. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  194. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  195. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  196. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  197. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  198. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  199. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  200. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  201. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  202. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  203. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  204. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  205. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  206. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  207. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  208. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  209. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  210. package/docs/interfaces/DigitalCameraState.html +2 -2
  211. package/docs/interfaces/DigitalChapter.html +2 -2
  212. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  213. package/docs/interfaces/DigitalDataState.html +2 -2
  214. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  215. package/docs/interfaces/DigitalEffectState.html +2 -2
  216. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  217. package/docs/interfaces/DigitalItemState.html +2 -2
  218. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  219. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  220. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  221. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  222. package/docs/interfaces/DigitalModelState.html +2 -2
  223. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  224. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +13 -0
  225. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +23 -0
  226. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +7 -0
  227. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +7 -0
  228. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +13 -0
  229. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +18 -0
  230. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +10 -0
  231. package/docs/interfaces/DigitalScript.html +2 -2
  232. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  233. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  234. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  235. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  236. package/docs/interfaces/FloorplanBounding.html +2 -2
  237. package/docs/interfaces/FloorplanData.html +2 -2
  238. package/docs/interfaces/FloorplanEntrance.html +2 -2
  239. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  240. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  241. package/docs/interfaces/FloorplanFloorData.html +2 -2
  242. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  243. package/docs/interfaces/FloorplanObserver.html +2 -2
  244. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  245. package/docs/interfaces/FloorplanPosition.html +2 -2
  246. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  247. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  248. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  249. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  250. package/docs/interfaces/FloorplanServerData.html +2 -2
  251. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  252. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  253. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  254. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  255. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  256. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  257. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  258. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  259. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  260. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  261. package/docs/interfaces/GlobalProgress.html +2 -2
  262. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  263. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  264. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  265. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  266. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  267. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  268. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  269. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  270. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  271. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  272. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  273. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  274. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  275. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  276. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  277. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  278. package/docs/interfaces/HelperOffset.html +2 -2
  279. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  280. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  281. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  282. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  283. package/docs/interfaces/MinMax.html +2 -2
  284. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  285. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  286. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  287. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  288. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  289. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  290. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  291. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  292. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  293. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  294. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  295. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  296. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  297. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  298. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  299. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  300. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  301. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  302. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  303. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  304. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  305. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  306. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  307. package/docs/interfaces/Object3DHelperState.html +2 -2
  308. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  309. package/docs/interfaces/PaintBrushAction.html +2 -2
  310. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  311. package/docs/interfaces/PaintBrushState.html +2 -2
  312. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  313. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  314. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  315. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  316. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  317. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  318. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  319. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  320. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  321. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  322. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  323. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  324. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  325. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  326. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  327. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  328. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  329. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  330. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  331. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  332. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  333. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  334. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  335. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  336. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  337. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  338. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  339. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  340. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  341. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  342. package/docs/interfaces/PluginEventMap.html +2 -2
  343. package/docs/interfaces/Point.html +2 -2
  344. package/docs/interfaces/ProgressBarEvents.html +2 -2
  345. package/docs/interfaces/Room.html +2 -2
  346. package/docs/interfaces/RoomInfo.html +2 -2
  347. package/docs/interfaces/RoomLabel.html +2 -2
  348. package/docs/interfaces/RoomRules.html +1 -1
  349. package/docs/interfaces/Rooms.html +1 -1
  350. package/docs/interfaces/Scissor.html +2 -2
  351. package/docs/interfaces/SculptConfig.html +2 -2
  352. package/docs/interfaces/State.html +2 -2
  353. package/docs/interfaces/TagCacheInterface.html +2 -2
  354. package/docs/interfaces/TagConfig.html +2 -2
  355. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  356. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  357. package/docs/interfaces/TagIconUrl.html +2 -2
  358. package/docs/interfaces/TagObjectGroup.html +2 -2
  359. package/docs/interfaces/TagState.html +2 -2
  360. package/docs/interfaces/TagStyle.html +2 -2
  361. package/docs/interfaces/Tags.html +2 -2
  362. package/docs/interfaces/TemporaryState.html +2 -2
  363. package/docs/interfaces/TraceManager.html +2 -2
  364. package/docs/interfaces/TracePoint.html +2 -2
  365. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  366. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  367. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  368. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  369. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  370. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  371. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  372. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  373. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  374. package/docs/interfaces/Util.PointIntersection.html +2 -2
  375. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  376. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  377. package/docs/modules/AreaMakerPluginType.html +2 -2
  378. package/docs/modules/CruisePluginTypes.html +2 -2
  379. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  380. package/docs/modules/DigitalPerformanceV2.html +16 -0
  381. package/docs/modules/GuideLineItem.html +2 -2
  382. package/docs/modules/GuideLineModeItem.html +2 -2
  383. package/docs/modules/GuideLinePluginType.html +2 -2
  384. package/docs/modules/ModelMakerPluginType.html +2 -2
  385. package/docs/modules/PanoVideoPluginType.html +2 -2
  386. package/docs/modules/SculptData.html +2 -2
  387. package/docs/modules/SculptType.html +2 -2
  388. package/docs/modules/Util.html +2 -2
  389. package/docs/modules/Util.sculpt.html +2 -2
  390. package/docs/modules.html +3 -2
  391. package/docs/types/AddObject3DHelperConfig.html +2 -2
  392. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  393. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  394. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  395. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  396. package/docs/types/ArrayPosition.html +1 -1
  397. package/docs/types/AudioAppearance.html +1 -1
  398. package/docs/types/BoxTag.html +2 -2
  399. package/docs/types/CSS3DRenderExportType.html +1 -1
  400. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  401. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  402. package/docs/types/ClassFunctionParameters.html +1 -1
  403. package/docs/types/Color.html +1 -1
  404. package/docs/types/ContentTypeConfigKey.html +1 -1
  405. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  406. package/docs/types/ContentTypeMap.html +1 -1
  407. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  408. package/docs/types/Create3DElementReturnType.html +1 -1
  409. package/docs/types/CruisePluginExportType.html +1 -1
  410. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  411. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  412. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  413. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  414. package/docs/types/DeprecatedTagProperty.html +2 -2
  415. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  416. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  417. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +7 -0
  418. package/docs/types/DigitalPerformanceV2.CameraTransition.html +7 -0
  419. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -0
  420. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -0
  421. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -0
  422. package/docs/types/Direction-1.html +1 -1
  423. package/docs/types/Direction4.html +1 -1
  424. package/docs/types/ElementRenderer.html +2 -2
  425. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  426. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  427. package/docs/types/FloorplanRuleLabels.html +2 -2
  428. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  429. package/docs/types/GuideLinePluginExportType.html +1 -1
  430. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  431. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  432. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  433. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  434. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  435. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  436. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  437. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  438. package/docs/types/HelperEventMap.html +1 -1
  439. package/docs/types/InternalHelperEventMap.html +1 -1
  440. package/docs/types/KeyframeType.html +1 -1
  441. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  442. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  443. package/docs/types/MaskPosition.html +2 -2
  444. package/docs/types/MaskTag.html +2 -2
  445. package/docs/types/MeasureEndReason.html +1 -1
  446. package/docs/types/MeasurePluginConfig.html +2 -2
  447. package/docs/types/MeasurePluginEventMap.html +1 -1
  448. package/docs/types/MediaData.html +2 -2
  449. package/docs/types/MediaStore.html +1 -1
  450. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  451. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  452. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  453. package/docs/types/ModelId.html +1 -1
  454. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  455. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  456. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  457. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  458. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  459. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  460. package/docs/types/MoveArgs.html +2 -2
  461. package/docs/types/MoveOpts.html +2 -2
  462. package/docs/types/Object3DHelperEventMap.html +1 -1
  463. package/docs/types/ObjectFit.html +1 -1
  464. package/docs/types/PaintBrushEventMap.html +1 -1
  465. package/docs/types/PanoCompassPluginData.html +1 -1
  466. package/docs/types/PanoCompassPluginExportType.html +1 -1
  467. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  468. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  469. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  470. package/docs/types/PanoIndex.html +1 -1
  471. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  472. package/docs/types/PanoMeasureReturnType.html +1 -1
  473. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  474. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  475. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  476. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  477. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  478. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  479. package/docs/types/PipelinePluginParameterType.html +1 -1
  480. package/docs/types/PipelinePluginReturnType.html +1 -1
  481. package/docs/types/PlaneTag.html +2 -2
  482. package/docs/types/Point2DTag.html +2 -2
  483. package/docs/types/Point3DTag.html +2 -2
  484. package/docs/types/PointTagInstance.html +1 -1
  485. package/docs/types/PolygonPosition.html +2 -2
  486. package/docs/types/PolygonTag.html +2 -2
  487. package/docs/types/Position.html +1 -1
  488. package/docs/types/PositionFrom.html +1 -1
  489. package/docs/types/ProgressListener.html +1 -1
  490. package/docs/types/RotateArgs.html +2 -2
  491. package/docs/types/RotateOpts.html +2 -2
  492. package/docs/types/RuleLabelsKey.html +1 -1
  493. package/docs/types/RuleLabelsValue.html +1 -1
  494. package/docs/types/ScaleCallback.html +1 -1
  495. package/docs/types/ScalePosition.html +2 -2
  496. package/docs/types/SculptData.BoxData.html +1 -1
  497. package/docs/types/SculptData.CircleData.html +1 -1
  498. package/docs/types/SculptData.CylinderData.html +1 -1
  499. package/docs/types/SculptData.PointData.html +1 -1
  500. package/docs/types/SculptData.PolygonData.html +1 -1
  501. package/docs/types/SculptData.PolylineData.html +1 -1
  502. package/docs/types/SculptData.PrismData.html +1 -1
  503. package/docs/types/SculptData.RectangleData.html +1 -1
  504. package/docs/types/SculptType.Theme.html +2 -2
  505. package/docs/types/StateType.html +1 -1
  506. package/docs/types/StickType.html +1 -1
  507. package/docs/types/Tag.html +2 -2
  508. package/docs/types/Tag2D.html +2 -2
  509. package/docs/types/Tag3D.html +2 -2
  510. package/docs/types/TagClickParams.html +1 -1
  511. package/docs/types/TagConfigByKey.html +1 -1
  512. package/docs/types/TagContentType.html +1 -1
  513. package/docs/types/TagContentTypeMapping.html +1 -1
  514. package/docs/types/TagDimensionType.html +1 -1
  515. package/docs/types/TagElement.html +2 -2
  516. package/docs/types/TagEvents.html +1 -1
  517. package/docs/types/TagGLTFObject.html +1 -1
  518. package/docs/types/TagHooks.html +1 -1
  519. package/docs/types/TagId.html +1 -1
  520. package/docs/types/TagInstance.html +1 -1
  521. package/docs/types/TagPlacement.html +2 -2
  522. package/docs/types/TagPointType.html +2 -2
  523. package/docs/types/TagRendererMap.html +1 -1
  524. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  525. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  526. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  527. package/docs/types/Util.AdherePoint.html +2 -2
  528. package/docs/types/Util.PointSelectorConfig.html +1 -1
  529. package/docs/types/Util.SupportedTarget.html +2 -2
  530. package/docs/types/Util.Target.html +2 -2
  531. package/docs/types/Util.ThreeObject.html +2 -2
  532. package/docs/types/WorkCode.html +1 -1
  533. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  534. package/docs/variables/PLUGIN.html +1 -1
  535. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  536. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  537. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  538. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  539. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  540. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  541. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  542. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  543. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  544. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  545. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  546. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  547. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  548. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  549. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  550. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  551. package/docs/variables/defaultGlobalConfig.html +1 -1
  552. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  553. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  554. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  555. package/libs/CruisePlugin/Move.js +2 -4
  556. package/libs/CruisePlugin/Work.js +2 -4
  557. package/libs/CruisePlugin/index.js +6 -8
  558. package/libs/DigitalPerformancePlugin/core/DigitalHuman.d.ts +18 -0
  559. package/libs/DigitalPerformancePlugin/core/DigitalHuman.js +198 -110
  560. package/libs/DigitalPerformanceV2Plugin/controller/index.d.ts +351 -0
  561. package/libs/DigitalPerformanceV2Plugin/controller/index.js +750 -0
  562. package/libs/DigitalPerformanceV2Plugin/core/CameraDirector.d.ts +61 -0
  563. package/libs/DigitalPerformanceV2Plugin/core/CameraDirector.js +101 -0
  564. package/libs/DigitalPerformanceV2Plugin/core/CameraSampler.d.ts +53 -0
  565. package/libs/DigitalPerformanceV2Plugin/core/CameraSampler.js +91 -0
  566. package/libs/DigitalPerformanceV2Plugin/core/CameraTrack.d.ts +21 -0
  567. package/libs/DigitalPerformanceV2Plugin/core/CameraTrack.js +32 -0
  568. package/libs/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.d.ts +39 -0
  569. package/libs/DigitalPerformanceV2Plugin/core/FiveModelCameraBridge.js +72 -0
  570. package/libs/DigitalPerformanceV2Plugin/core/PerformanceClock.d.ts +55 -0
  571. package/libs/DigitalPerformanceV2Plugin/core/PerformanceClock.js +98 -0
  572. package/libs/DigitalPerformanceV2Plugin/core/Playground.d.ts +106 -0
  573. package/libs/DigitalPerformanceV2Plugin/core/Playground.js +209 -0
  574. package/libs/DigitalPerformanceV2Plugin/core/shared.d.ts +4 -0
  575. package/libs/DigitalPerformanceV2Plugin/core/shared.js +12 -0
  576. package/libs/DigitalPerformanceV2Plugin/index/index.js +11 -0
  577. package/libs/DigitalPerformanceV2Plugin/index.d.ts +9 -0
  578. package/libs/DigitalPerformanceV2Plugin/index.js +20 -0
  579. package/libs/DigitalPerformanceV2Plugin/typings/index.d.ts +113 -0
  580. package/libs/DigitalPerformanceV2Plugin/typings/index.js +1 -0
  581. package/libs/GuideLinePlugin/Controller.js +4 -6
  582. package/libs/GuideLinePlugin/GuideLineItem.js +2 -4
  583. package/libs/GuideLinePlugin/GuideLineModeItem.js +2 -4
  584. package/libs/GuideLinePlugin/index.js +6 -8
  585. package/libs/PanoTagPlugin/Components/Tag/index.js +2 -4
  586. package/libs/PanoTagPlugin/Components/TagContainer.js +2 -4
  587. package/libs/PanoTagPlugin/Components/TagItem.js +2 -4
  588. package/libs/PanoTagPlugin/controller/Tag/ModelTag.js +2 -4
  589. package/libs/PanoTagPlugin/controller/Tag/PlaneTag.js +2 -4
  590. package/libs/PanoTagPlugin/controller/TagRender.js +2 -4
  591. package/libs/PanoTagPlugin/controller/TagUtil.js +2 -4
  592. package/libs/PanoTagPlugin/controller/index.js +5 -7
  593. package/libs/PanoTagPlugin/index.js +11 -13
  594. package/libs/PanoTagPlugin/utils/model/mediaPlane.js +126 -129
  595. package/libs/base/BasePlugin.js +1 -1
  596. package/libs/index.d.ts +1 -0
  597. package/libs/index.js +167 -160
  598. package/libs/shared-utils/logger.js +1 -1
  599. package/package.json +2 -1
  600. package/dist/shared-utils/three/StackedAlphaVideoMaterial.d.ts +0 -12
  601. package/dist/shared-utils/three/isStackedAlphaVideo.d.ts +0 -1
  602. package/libs/shared-utils/three/StackedAlphaVideoMaterial.d.ts +0 -12
  603. package/libs/shared-utils/three/StackedAlphaVideoMaterial.js +0 -55
  604. package/libs/shared-utils/three/isStackedAlphaVideo.d.ts +0 -1
  605. package/libs/shared-utils/three/isStackedAlphaVideo.js +0 -7
@@ -0,0 +1,750 @@
1
+ var k = Object.defineProperty;
2
+ var C = Object.getOwnPropertySymbols;
3
+ var S = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
4
+ var d = (l, e, t) => e in l ? k(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t, g = (l, e) => {
5
+ for (var t in e || (e = {}))
6
+ S.call(e, t) && d(l, t, e[t]);
7
+ if (C)
8
+ for (var t of C(e))
9
+ w.call(e, t) && d(l, t, e[t]);
10
+ return l;
11
+ };
12
+ var h = (l, e, t) => (d(l, typeof e != "symbol" ? e + "" : e, t), t);
13
+ var c = (l, e, t) => new Promise((r, a) => {
14
+ var s = (i) => {
15
+ try {
16
+ o(t.next(i));
17
+ } catch (u) {
18
+ a(u);
19
+ }
20
+ }, n = (i) => {
21
+ try {
22
+ o(t.throw(i));
23
+ } catch (u) {
24
+ a(u);
25
+ }
26
+ }, o = (i) => i.done ? r(i.value) : Promise.resolve(i.value).then(s, n);
27
+ o((t = t.apply(l, e)).next());
28
+ });
29
+ import { PerformancePlayground as F, getChapterModelDuration as T, getChapterDuration as b } from "../core/Playground.js";
30
+ import { CameraTrack as E } from "../core/CameraTrack.js";
31
+ import "three";
32
+ import "../../DigitalPerformancePlugin/core/DigitalPlayground.js";
33
+ import "@realsee/five/gltf-loader";
34
+ import "../../DigitalPerformancePlugin/core/DigitalHuman.js";
35
+ import "../../DigitalPerformancePlugin/core/DigitalStateMachine.js";
36
+ import "../../DigitalPerformancePlugin/core/Trace.js";
37
+ import "@realsee/five";
38
+ import "../core/PerformanceClock.js";
39
+ import "../core/CameraDirector.js";
40
+ import "../core/FiveModelCameraBridge.js";
41
+ import "../core/CameraSampler.js";
42
+ const M = "Dnalogel-DigitalPerformanceV2Plugin", P = "five-world";
43
+ class B {
44
+ constructor(e, t = {}) {
45
+ h(this, "five");
46
+ h(this, "config");
47
+ h(this, "NAME", M);
48
+ h(this, "playground");
49
+ h(this, "state", {
50
+ enabled: !0,
51
+ playing: !1,
52
+ continuousPlaying: !1,
53
+ currentChapter: null,
54
+ currentScript: null,
55
+ selectedShotIndex: null
56
+ });
57
+ h(this, "progressListeners", /* @__PURE__ */ new Set());
58
+ h(this, "groupProgressListeners", /* @__PURE__ */ new Set());
59
+ h(this, "keyframesChangedListeners", /* @__PURE__ */ new Set());
60
+ h(this, "currentChapterChangedListeners", /* @__PURE__ */ new Set());
61
+ h(this, "unsubClockTick", null);
62
+ /**
63
+ * 进入编辑时的运镜内存态快照:以章节对象为 key,值为该章节相机关键帧的深拷贝;
64
+ * 值为 null 表示进入编辑时该章节不存在 camera player。null(整体)表示尚未打过快照。
65
+ */
66
+ h(this, "cameraEditSnapshot", null);
67
+ /**
68
+ * 组级章节时间映射缓存(加法式):按 currentScript 引用缓存。
69
+ * - `groupChapterTimeMapCacheScript` 记录缓存对应的 script 引用;
70
+ * - script 变更 / loadScript 时引用不一致 ⇒ 缓存失效、下次请求重算。
71
+ */
72
+ h(this, "groupChapterTimeMapCache", null);
73
+ h(this, "groupChapterTimeMapCacheScript", null);
74
+ /**
75
+ * D-SEEK-LIVE(方案 A):连播中「跨章 seek」的重定向令牌。
76
+ * 播放态跨章 seek 时置位 { index, fromTime } 并 abortCurrentPlay;连播循环 await 返回后据此跳转到目标章节继续播放。
77
+ */
78
+ h(this, "seekRedirect", null);
79
+ /**
80
+ * 加法式:动画组「章节索引 → 楼层」映射(用于 Mapview 只显示当前章节所在楼层)。
81
+ * - number:该章节单一楼层 ⇒ `five.model.show(floor)`;
82
+ * - null:该章节内多段动画跨楼层 ⇒ `five.model.show()`(显示全部,避免藏掉其它层的动画);
83
+ * - 映射缺项按显示全部处理。
84
+ * `null`(整体)表示未启用该能力(不触碰楼层可见性)。由消费方经 `setChapterFloorMap` 注入。
85
+ */
86
+ h(this, "chapterFloorMap", null);
87
+ this.five = e, this.config = g({ autoPlay: !1, loop: !1, debug: !1 }, t), this.playground = new F(e, this.config.debug), this.unsubClockTick = this.playground.getClock().onTick(() => this.emitProgress());
88
+ }
89
+ /** 加载剧本:预加载资源 + 将模型加入 five 场景;autoPlay 时自动播放首章 */
90
+ loadScript(e) {
91
+ return c(this, null, function* () {
92
+ if (this.state.currentScript = e, this.playground.setScript(e), this.groupChapterTimeMapCache = null, this.groupChapterTimeMapCacheScript = null, this.chapterFloorMap = null, yield this.preloadResources(e), this.five && this.five.scene) {
93
+ yield new Promise((r) => requestAnimationFrame(() => r()));
94
+ let t = 0;
95
+ if (e.chapters.forEach((r) => {
96
+ r.players.forEach((a) => {
97
+ if (a.type === "model") {
98
+ const s = this.playground.loader.getDigitalHuman(a.model, a.id);
99
+ s != null && s.container && (this.five.scene.add(s.container), t++);
100
+ }
101
+ });
102
+ }), t === 0)
103
+ throw new Error("没有模型被添加到场景中");
104
+ }
105
+ this.config.autoPlay && e.chapters.length > 0 && (yield this.playChapter(e.chapters[0]));
106
+ });
107
+ }
108
+ /** 播放指定章节 */
109
+ playChapter(e) {
110
+ return c(this, null, function* () {
111
+ this.state.currentChapter = e, this.applyChapterFloor(this.getCurrentChapterIndex()), this.state.continuousPlaying = !1, this.state.playing = !0;
112
+ try {
113
+ yield this.playground.playByChapter(e);
114
+ } finally {
115
+ this.state.playing = !1, this.emitProgress();
116
+ }
117
+ });
118
+ }
119
+ /** 通过索引播放章节 */
120
+ playChapterByIndex(e) {
121
+ return c(this, null, function* () {
122
+ const t = this.getChapters();
123
+ if (e < 0 || e >= t.length)
124
+ throw new Error("Invalid chapter index");
125
+ yield this.playChapter(t[e]);
126
+ });
127
+ }
128
+ /** 从当前章节连续播放到最后一章(连播中跨章 seek 可经 seekRedirect 令牌无缝重定向) */
129
+ playAllRemaining() {
130
+ return c(this, null, function* () {
131
+ const e = this.getChapters();
132
+ if (e.length === 0)
133
+ throw new Error("No chapters to play");
134
+ let t = 0;
135
+ if (this.state.currentChapter) {
136
+ const r = e.findIndex((a) => a.name === this.state.currentChapter.name);
137
+ t = r === -1 ? 0 : r;
138
+ }
139
+ this.state.continuousPlaying = !0, this.state.playing = !0, this.seekRedirect = null;
140
+ try {
141
+ for (; t >= 0 && t < e.length && this.state.continuousPlaying; ) {
142
+ let r = 0;
143
+ if (this.seekRedirect && this.seekRedirect.index === t && (r = this.seekRedirect.fromTime), this.seekRedirect = null, this.state.currentChapter = e[t], this.applyChapterFloor(t), this.emitProgress(), yield this.playground.playByChapter(e[t], r), this.seekRedirect) {
144
+ t = this.seekRedirect.index;
145
+ continue;
146
+ }
147
+ t++;
148
+ }
149
+ } finally {
150
+ this.state.playing = !1, this.state.continuousPlaying = !1, this.seekRedirect = null, this.emitProgress();
151
+ }
152
+ });
153
+ }
154
+ /** 从第一章开始按顺序连续播放(用于"重播全部",保留已捕获的各章节运镜) */
155
+ playAllFromStart() {
156
+ return c(this, null, function* () {
157
+ yield this.playFromChapterIndex(0);
158
+ });
159
+ }
160
+ /** 从指定章节索引开始,按顺序连续播放到本动画组最后一章(保留已捕获的各章节运镜) */
161
+ playFromChapterIndex(e) {
162
+ return c(this, null, function* () {
163
+ const t = this.getChapters();
164
+ if (t.length === 0)
165
+ throw new Error("No chapters to play");
166
+ const r = e < 0 ? 0 : e >= t.length ? t.length - 1 : e;
167
+ this.state.currentChapter = t[r], yield this.playAllRemaining();
168
+ });
169
+ }
170
+ /**
171
+ * 编辑态:仅播放当前章节(不连播下一章)。
172
+ * 章节自然播放到末尾(ended)后,由 controller 执行「进度归零 + 恢复当前章节默认视角」,
173
+ * SHALL NOT 自动连播下一章节(区别于展示端 playAllRemaining 的章节连续播放)。
174
+ * 无当前章节时为 no-op。
175
+ */
176
+ playCurrentChapterForEdit() {
177
+ return c(this, null, function* () {
178
+ const e = this.state.currentChapter;
179
+ if (!e)
180
+ return;
181
+ const t = this.getCurrentChapterIndex(), r = this.playground.getClock().getTime();
182
+ this.state.continuousPlaying = !1, this.state.playing = !0;
183
+ try {
184
+ yield this.playground.playByChapter(e, r, {
185
+ prepare: () => this.playground.prepareCameraTo(r)
186
+ });
187
+ } finally {
188
+ this.state.playing = !1, this.playground.setTimelineTo(0), this.applyChapterDefaultView(t), this.emitProgress();
189
+ }
190
+ });
191
+ }
192
+ /** 暂停 */
193
+ pause() {
194
+ this.playground.pause(), this.state.playing = !1, this.emitProgress();
195
+ }
196
+ continue(e) {
197
+ if (e != null && e.prepare)
198
+ return (() => c(this, null, function* () {
199
+ yield this.playground.prepareCameraTo(this.playground.getClock().getTime()), this.playground.resume(), this.state.playing = !0, this.emitProgress();
200
+ }))();
201
+ this.playground.resume(), this.state.playing = !0, this.emitProgress();
202
+ }
203
+ /**
204
+ * 编辑态暂停(playing→paused,相机由「导演」交还「用户」拥有)。
205
+ * 统一 Mapview 后,导演接管期间 five 始终是合法 Mapview orbit 状态,暂停瞬间画面不变、
206
+ * 且 five 手势天然为正常模型视角(左键绕 target orbit、右键平移),无需特殊转换。见设计 §5.3.1。
207
+ * 仅供编辑端(camera-mode)暂停路径调用。
208
+ */
209
+ pauseForEdit() {
210
+ this.pause();
211
+ }
212
+ /**
213
+ * 编辑态续播(当前章节):在恢复时钟前先 `await prepareCameraTo(当前时间)`,
214
+ * 以内插动画平滑回到暂停瞬间对应的运镜视角(无突变 user→director 切换,Req 13.9 / 18.9),
215
+ * prepare 不计入播放时间(时钟在 prepare 期间不推进)后再 resume。
216
+ * 章节无运镜关键帧时 prepare 为 no-op。不改变通用 `continue()`/`pause()` 语义。
217
+ */
218
+ continueForEdit() {
219
+ return c(this, null, function* () {
220
+ yield this.playground.prepareCameraTo(this.playground.getClock().getTime()), this.playground.resume(), this.state.playing = !0, this.emitProgress();
221
+ });
222
+ }
223
+ /** 运镜开关:关闭后播放仅驱动模型动画,不接管 five 相机(立即生效) */
224
+ setCameraDirectionEnabled(e) {
225
+ this.playground.setCameraDirectionEnabled(e);
226
+ }
227
+ /**
228
+ * 加法式:设置「章节索引 → 楼层」映射,启用「播放/切章时 Mapview 只显示当前章节所在楼层」。
229
+ * - number:该章节单一楼层;null:该章节内跨楼层 → 显示全部;映射缺项按显示全部处理。
230
+ * - 传入非 null:立即对当前章节应用一次;此后在任意章节切换(连播推进 / 切章 / 播放预览切章)时自动应用。
231
+ * - 传入 null:停用该能力(不再随章节应用),但**不主动恢复**楼层可见性(恢复由 `reset()` 负责)。
232
+ * 楼层可见性是 five 空间模型的显隐(`five.model.show`),与运镜相机接管相互独立。
233
+ * 各消费方(workshop 编辑端 / NextVR 展示端)自行从各自数据算好映射注入,保证两端行为一致(parity)。
234
+ */
235
+ setChapterFloorMap(e) {
236
+ if (this.chapterFloorMap = e, e) {
237
+ const t = this.getCurrentChapterIndex();
238
+ this.applyChapterFloor(t >= 0 ? t : 0);
239
+ }
240
+ }
241
+ /** 按章节楼层映射对指定章节应用楼层可见性(映射未启用时 no-op) */
242
+ applyChapterFloor(e) {
243
+ if (!this.chapterFloorMap)
244
+ return;
245
+ const t = e in this.chapterFloorMap ? this.chapterFloorMap[e] : null;
246
+ this.showModelFloor(typeof t == "number" ? t : void 0);
247
+ }
248
+ /** 显示指定楼层(传 undefined 显示全部)。安全访问 five.model.show,避免类型/运行时缺失。 */
249
+ showModelFloor(e) {
250
+ var r, a, s;
251
+ const t = (r = this.five) == null ? void 0 : r.model;
252
+ typeof e == "number" ? (a = t == null ? void 0 : t.show) == null || a.call(t, e) : (s = t == null ? void 0 : t.show) == null || s.call(t);
253
+ }
254
+ /**
255
+ * seek 预览:跳转到指定时间并渲染当前帧(不改变播放/暂停状态)。
256
+ * - 无当前章节:不改时钟、不渲染,返回失败指示且不抛异常。
257
+ * - 运镜启用:经 director seek 应用相机;运镜禁用:仅驱动 DigitalHuman。
258
+ */
259
+ setTimelineTo(e) {
260
+ return this.state.currentChapter ? (this.playground.setTimelineTo(e), this.state.playing || this.playground.previewCameraAt(this.playground.getClock().getTime()), this.emitProgress(), { success: !0 }) : { success: !1, error: "无当前章节" };
261
+ }
262
+ /**
263
+ * 在指定时间捕获当前 five 相机为一个运镜关键帧。
264
+ * - 位姿取自 five 当前 Mapview 状态(target=offset、longitude、latitude、distance);fov 取自 fiveState(缺省读 five.getCurrentState())。
265
+ * - 按 timeStamp 升序插入;同 timeStamp 覆盖。
266
+ * 拒绝(保持序列不变并返回 error):未加载 script / 无当前章节 / time 非负有限数校验失败。
267
+ */
268
+ addCameraKeyframe(e, t, r) {
269
+ const a = this.guardKeyframeEdit();
270
+ if (a)
271
+ return a;
272
+ if (!(Number.isFinite(e) && e >= 0))
273
+ return this.rejectKeyframe("time 必须为非负有限数");
274
+ const s = this.ensureCameraPlayer(), n = this.captureCameraPose(), o = this.resolveFov(t), i = {
275
+ timeStamp: e,
276
+ target: n.target,
277
+ longitude: n.longitude,
278
+ latitude: n.latitude,
279
+ distance: n.distance,
280
+ fov: o
281
+ };
282
+ r != null && r.transition && (i.transition = r.transition), r != null && r.thumbnail && (i.thumbnail = r.thumbnail);
283
+ const u = s.keyframes.findIndex((m) => m.timeStamp === e);
284
+ return u >= 0 ? s.keyframes[u] = i : s.keyframes.push(i), s.keyframes.sort((m, p) => m.timeStamp - p.timeStamp), this.afterKeyframesChanged(s);
285
+ }
286
+ /**
287
+ * 更新指定下标关键帧:合并 patch 中出现的字段,按 timeStamp 重排序。
288
+ * 拒绝(保持序列不变):未加载 script / 无章节 / index 越界 / patch.timeStamp 非负有限数校验失败。
289
+ */
290
+ updateCameraKeyframe(e, t) {
291
+ const r = this.guardKeyframeEdit();
292
+ if (r)
293
+ return r;
294
+ const a = this.getCameraPlayer();
295
+ if (!a || e < 0 || e >= a.keyframes.length)
296
+ return this.rejectKeyframe("index 越界");
297
+ if (t.timeStamp !== void 0 && !(Number.isFinite(t.timeStamp) && t.timeStamp >= 0))
298
+ return this.rejectKeyframe("time 必须为非负有限数");
299
+ const s = g(g({}, a.keyframes[e]), t);
300
+ return a.keyframes[e] = s, a.keyframes.sort((n, o) => n.timeStamp - o.timeStamp), this.afterKeyframesChanged(a);
301
+ }
302
+ /** 移除指定下标关键帧。拒绝(保持序列不变):未加载 script / 无章节 / index 越界。 */
303
+ removeCameraKeyframe(e) {
304
+ const t = this.guardKeyframeEdit();
305
+ if (t)
306
+ return t;
307
+ const r = this.getCameraPlayer();
308
+ return !r || e < 0 || e >= r.keyframes.length ? this.rejectKeyframe("index 越界") : (r.keyframes.splice(e, 1), this.afterKeyframesChanged(r));
309
+ }
310
+ /** 获取当前章节的运镜关键帧(升序副本;无章节/无 camera player 时返回空数组) */
311
+ getCameraKeyframes() {
312
+ const e = this.getCameraPlayer();
313
+ return e ? e.keyframes.map((t) => g({}, t)) : [];
314
+ }
315
+ /**
316
+ * 序列化当前章节的运镜 player。
317
+ * keyframes 按 timeStamp 升序,仅写入已设置的可选字段(不写 undefined 占位)。
318
+ * 空/无 camera player 返回 keyframes:[];未加载 script / 无章节 时拒绝并返回 error。
319
+ */
320
+ serializeCameraPlayer() {
321
+ var t;
322
+ if (!this.state.currentScript)
323
+ return { success: !1, error: "未加载剧本" };
324
+ if (!this.state.currentChapter)
325
+ return { success: !1, error: "无当前章节" };
326
+ const e = this.getCameraPlayer();
327
+ return {
328
+ success: !0,
329
+ player: {
330
+ name: (t = e == null ? void 0 : e.name) != null ? t : "camera",
331
+ type: "camera",
332
+ keyframes: this.serializeKeyframes(e),
333
+ coordinateSpace: P
334
+ }
335
+ };
336
+ }
337
+ /**
338
+ * 序列化全部章节中"含非空关键帧"的运镜 player,按章节索引返回。
339
+ * 供编辑端按"章节起始动画 id"聚合后整组保存。未加载 script 时返回空数组。
340
+ */
341
+ serializeAllCameraPlayers() {
342
+ if (!this.state.currentScript)
343
+ return [];
344
+ const e = [];
345
+ return this.getChapters().forEach((t, r) => {
346
+ var s;
347
+ const a = this.cameraPlayerOf(t);
348
+ a && a.keyframes.length > 0 && e.push({
349
+ chapterIndex: r,
350
+ player: {
351
+ name: (s = a.name) != null ? s : "camera",
352
+ type: "camera",
353
+ keyframes: this.serializeKeyframes(a),
354
+ coordinateSpace: P
355
+ }
356
+ });
357
+ }), e;
358
+ }
359
+ /**
360
+ * 按章节索引批量加载运镜(用于从持久化数据还原):替换对应章节 camera player 的关键帧。
361
+ * 调用方负责"对账"(只传锚点命中的章节),越界索引忽略。
362
+ */
363
+ loadCameraPlayersByChapterIndex(e) {
364
+ const t = this.getChapters();
365
+ Object.keys(e).forEach((a) => {
366
+ var u, m;
367
+ const s = Number(a);
368
+ if (!Number.isInteger(s) || s < 0 || s >= t.length)
369
+ return;
370
+ const n = t[s], o = e[s];
371
+ let i = n.players.find((p) => p.type === "camera");
372
+ i || (i = { name: (u = o.name) != null ? u : "camera", type: "camera", keyframes: [] }, n.players.push(i)), i.keyframes = [...(m = o.keyframes) != null ? m : []].sort((p, f) => p.timeStamp - f.timeStamp), o.coordinateSpace && (i.coordinateSpace = o.coordinateSpace);
373
+ });
374
+ const r = this.cameraPlayerOf(this.state.currentChapter);
375
+ r && this.playground.setCameraKeyframes(r.keyframes);
376
+ }
377
+ /** 注册关键帧序列变更监听(camera-keyframes-changed);返回反订阅函数 */
378
+ onCameraKeyframesChanged(e) {
379
+ return this.keyframesChangedListeners.add(e), () => this.keyframesChangedListeners.delete(e);
380
+ }
381
+ // —— 编辑端加法式新增能力(Requirement 18 / design Part III §7)——
382
+ /**
383
+ * 章节默认视角(Chapter_Default_View)。
384
+ * - 章节存在 ≥1 个运镜关键帧:返回该章节相机轨道 `sample(0)`(因首帧夹紧,等于首帧 CameraState)。
385
+ * - 章节存在 0 个运镜关键帧:返回 `undefined`。
386
+ * 默认视角不单独持久化,完全由关键帧派生(不在 cameraPlayers 新增字段)。
387
+ */
388
+ getChapterDefaultView(e) {
389
+ const t = this.buildChapterCameraTrack(e);
390
+ if (!(!t || !t.hasContent()))
391
+ return t.sample(0);
392
+ }
393
+ /**
394
+ * 应用章节默认视角到 five。
395
+ * - 章节存在关键帧:经 FiveModelCameraBridge 立即应用 `sample(0)`。
396
+ * - 章节存在 0 个关键帧:no-op(保持当前 five 相机状态、不强制移动)。
397
+ */
398
+ applyChapterDefaultView(e) {
399
+ const t = this.getChapterDefaultView(e);
400
+ t && this.playground.applyCameraStateImmediately(t);
401
+ }
402
+ /**
403
+ * 设为当前编辑章节(不开始播放)。该次调用内联动完成:
404
+ * 切暂停 → `seek(0)`(进度归零、各 DigitalHuman 渲染 t=0)→ 重建 director 轨道到该章节关键帧 →
405
+ * 应用该章节默认视角 → 读取并更新该章节总时长 → 清除已选中运镜项 → 派发 onCurrentChapterChanged。
406
+ * 越界索引为 no-op。
407
+ */
408
+ setCurrentChapter(e) {
409
+ const t = this.getChapters();
410
+ if (e < 0 || e >= t.length)
411
+ return;
412
+ const r = t[e];
413
+ this.playground.pause(), this.state.playing = !1, this.state.currentChapter = r, this.playground.prepareChapter(r, 0), this.applyChapterFloor(e), this.applyChapterDefaultView(e), this.state.selectedShotIndex = null, this.emitProgress(), this.emitCurrentChapterChanged();
414
+ }
415
+ /** 当前章节信息:{ index, name, duration };duration 为该章节模型动画时长(排除相机 player) */
416
+ getCurrentChapterInfo() {
417
+ const e = this.state.currentChapter;
418
+ return e ? {
419
+ index: this.getCurrentChapterIndex(),
420
+ name: e.name,
421
+ duration: T(e)
422
+ } : { index: -1, name: "", duration: 0 };
423
+ }
424
+ /** 注册当前章节变更监听(current-chapter-changed);返回反订阅函数 */
425
+ onCurrentChapterChanged(e) {
426
+ return this.currentChapterChangedListeners.add(e), () => this.currentChapterChangedListeners.delete(e);
427
+ }
428
+ /**
429
+ * 进入运镜编辑:对全部章节运镜内存态打一次深快照(供 discardCameraChanges 还原)。
430
+ * 仅记录内存快照,不触碰持久化、不改相机/播放状态。
431
+ */
432
+ beginCameraEditSession() {
433
+ const e = /* @__PURE__ */ new Map();
434
+ this.getChapters().forEach((t) => {
435
+ const r = this.cameraPlayerOf(t);
436
+ e.set(t, r ? this.cloneKeyframes(r.keyframes) : null);
437
+ }), this.cameraEditSnapshot = e;
438
+ }
439
+ /**
440
+ * 放弃运镜修改:将运镜内存态还原到 `beginCameraEditSession` 时的快照(不走服务端重载)。
441
+ * 未打过快照时为 no-op。还原后重建当前章节 director 轨道并派发关键帧变更事件。
442
+ */
443
+ discardCameraChanges() {
444
+ const e = this.cameraEditSnapshot;
445
+ if (!e)
446
+ return;
447
+ e.forEach((r, a) => {
448
+ const s = this.cameraPlayerOf(a);
449
+ if (r === null)
450
+ s && (s.keyframes = []);
451
+ else if (s)
452
+ s.keyframes = this.cloneKeyframes(r);
453
+ else {
454
+ const n = { name: "camera", type: "camera", keyframes: this.cloneKeyframes(r) };
455
+ a.players.push(n);
456
+ }
457
+ });
458
+ const t = this.cameraPlayerOf(this.state.currentChapter);
459
+ this.playground.setCameraKeyframes(t ? t.keyframes : []), this.emitKeyframesChanged(this.getCameraKeyframes());
460
+ }
461
+ /** 当前进度(当前章节内 currentTime/totalTime,单位 ms;含当前章节索引/总章节数) */
462
+ getProgress() {
463
+ const e = this.playground.getClock(), t = e.getTime();
464
+ let r = e.getDuration();
465
+ r <= 0 && this.state.currentChapter && (r = b(this.state.currentChapter));
466
+ const a = this.getChapters(), s = this.state.currentChapter, n = s ? a.findIndex((o) => o === s || o.name === s.name) : -1;
467
+ return { currentTime: t, totalTime: r, currentChapterIndex: n, totalChapters: a.length };
468
+ }
469
+ /** 注册进度监听;返回反订阅函数 */
470
+ onProgressChanged(e) {
471
+ return this.progressListeners.add(e), () => this.progressListeners.delete(e);
472
+ }
473
+ /**
474
+ * 组级章节时间映射(加法式):每章 { index, name, startTime, endTime, duration } 逐章累计。
475
+ * - duration[i] = getChapterModelDuration(chapters[i])(排除 camera player)
476
+ * - startTime[0]=0、startTime[i]=endTime[i-1]、endTime[i]=startTime[i]+duration[i]
477
+ * - 未加载 / 空章节组返回 [];纯读,不修改任何引擎状态。
478
+ * 按 currentScript 引用缓存;loadScript / script 变更时失效重算。
479
+ */
480
+ getGroupChapterTimeMap() {
481
+ const e = this.state.currentScript;
482
+ if (!e)
483
+ return [];
484
+ if (this.groupChapterTimeMapCache && this.groupChapterTimeMapCacheScript === e)
485
+ return this.groupChapterTimeMapCache;
486
+ const t = this.getChapters(), r = [];
487
+ let a = 0;
488
+ for (let s = 0; s < t.length; s++) {
489
+ const n = T(t[s]), o = a, i = o + n;
490
+ r.push({ index: s, name: t[s].name, startTime: o, endTime: i, duration: n }), a = i;
491
+ }
492
+ return this.groupChapterTimeMapCache = r, this.groupChapterTimeMapCacheScript = e, r;
493
+ }
494
+ /**
495
+ * 组级进度聚合(加法式):由章节级 getProgress() + getGroupChapterTimeMap() 派生。
496
+ * - groupTotalTime = Σ duration
497
+ * - groupCurrentTime = startTime[currentChapterIndex] + clamp(currentTime, 0, duration[idx])(无当前章节为 0)
498
+ * - 0 ≤ groupCurrentTime ≤ groupTotalTime;percentage ∈ [0,100](groupTotalTime=0 时为 0)
499
+ * 纯读,不修改任何引擎状态。
500
+ */
501
+ getGroupProgress() {
502
+ const e = this.getProgress(), t = this.getGroupChapterTimeMap(), r = t.length === 0 ? 0 : t[t.length - 1].endTime, a = e.currentChapterIndex;
503
+ let s = 0;
504
+ if (a >= 0 && a < t.length) {
505
+ const o = t[a].startTime, i = this.clamp(e.currentTime, 0, t[a].duration);
506
+ s = this.clamp(o + i, 0, r);
507
+ }
508
+ const n = r > 0 ? this.clamp(s / r * 100, 0, 100) : 0;
509
+ return {
510
+ groupCurrentTime: s,
511
+ groupTotalTime: r,
512
+ percentage: n,
513
+ currentChapterIndex: a,
514
+ currentChapterTime: e.currentTime,
515
+ currentChapterTotalTime: e.totalTime,
516
+ totalChapters: e.totalChapters
517
+ };
518
+ }
519
+ /**
520
+ * 注册组级进度监听(加法式,独立监听集合);返回反订阅函数。
521
+ * 在既有 emitProgress() 内追加组级广播,每 tick / 章节切换 / pause / seek 时随章节级广播一并触发。
522
+ */
523
+ onGroupProgressChanged(e) {
524
+ return this.groupProgressListeners.add(e), () => this.groupProgressListeners.delete(e);
525
+ }
526
+ /**
527
+ * 播放/预览专用:设为当前章节(不开始播放,区别于编辑端 setCurrentChapter)。
528
+ * 透传 playground.prepareChapter:切模型可见性 + 重绑相机轨道 + 配置时钟时长并 seek 到 fromTime(不 start)。
529
+ * 不做编辑端默认视角设置 / 选中清理等联动。越界索引为 no-op。
530
+ */
531
+ setCurrentChapterForPlayback(e, t) {
532
+ const r = this.getChapters();
533
+ e < 0 || e >= r.length || (this.state.currentChapter = r[e], this.applyChapterFloor(e), this.playground.prepareChapter(r[e], t));
534
+ }
535
+ /**
536
+ * 跳转到组级时间(ms):映射为 (章节 index, 章节内时间),必要时切章后 setTimelineTo。
537
+ * 保留 seek 前的播放/暂停状态(D-SEEK-LIVE,方案 A):
538
+ * - 暂停态:跨章则先 setCurrentChapterForPlayback 切章,再 setTimelineTo 预览该帧后交还用户。
539
+ * - 播放态同章:clock.seek 续播(经 setTimelineTo)。
540
+ * - 播放态跨章:置 seekRedirect 并 abortCurrentPlay,由连播循环跳到目标章节从 localTime 继续。
541
+ * 越界钳制到 [0, groupTotalTime];未加载 script 返回 { success:false } 不抛异常。
542
+ */
543
+ seekToGroupTime(e) {
544
+ if (!this.state.currentScript)
545
+ return { success: !1, error: "未加载剧本" };
546
+ const t = this.getGroupChapterTimeMap();
547
+ if (t.length === 0)
548
+ return { success: !1, error: "无章节" };
549
+ const r = t[t.length - 1].endTime, a = this.clamp(e, 0, r), { index: s, localTime: n } = this.mapGroupTimeToChapter(a, t), o = s !== this.getCurrentChapterIndex();
550
+ if (this.state.playing && this.state.continuousPlaying && o)
551
+ return this.seekRedirect = { index: s, fromTime: n }, this.playground.abortCurrentPlay(), { success: !0 };
552
+ o && this.setCurrentChapterForPlayback(s, n);
553
+ const i = this.setTimelineTo(n);
554
+ return this.emitProgress(), i;
555
+ }
556
+ /** 跳转到组级百分比 [0,100](= seekToGroupTime(clamp(pct,0,100)/100 * groupTotalTime)) */
557
+ seekToGroupPercentage(e) {
558
+ const t = this.getGroupChapterTimeMap(), r = t.length === 0 ? 0 : t[t.length - 1].endTime;
559
+ return this.seekToGroupTime(this.clamp(e, 0, 100) / 100 * r);
560
+ }
561
+ /**
562
+ * 组级时间 → (章节索引, 章节内时间)(加法式内部)。
563
+ * - g ≤ 0 → { index: 0, localTime: 0 }
564
+ * - g ≥ groupTotal → { index: last, localTime: duration[last] }
565
+ * - 否则 startTime[index] ≤ g < endTime[index] 且 localTime = g - startTime[index]
566
+ * - 零时长章节(start==end)被自动跳过(不会定位其内部)
567
+ * 前置条件:timeMap 非空。
568
+ */
569
+ mapGroupTimeToChapter(e, t) {
570
+ const r = t[t.length - 1], a = r.endTime;
571
+ if (e <= 0)
572
+ return { index: 0, localTime: 0 };
573
+ if (e >= a)
574
+ return { index: r.index, localTime: r.duration };
575
+ for (const s of t)
576
+ if (e < s.endTime)
577
+ return { index: s.index, localTime: e - s.startTime };
578
+ return { index: r.index, localTime: r.duration };
579
+ }
580
+ /** 数值钳制工具 */
581
+ clamp(e, t, r) {
582
+ return e < t ? t : e > r ? r : e;
583
+ }
584
+ /** 当前可用章节 */
585
+ getChapters() {
586
+ var e;
587
+ return ((e = this.state.currentScript) == null ? void 0 : e.chapters) || [];
588
+ }
589
+ /** 当前状态快照 */
590
+ getState() {
591
+ return { playing: this.state.playing, currentChapter: this.state.currentChapter };
592
+ }
593
+ /** 重置播放(保留已加载资源) */
594
+ reset() {
595
+ this.playground.reset(), this.state.playing = !1, this.state.continuousPlaying = !1, this.state.currentChapter = null, this.state.selectedShotIndex = null, this.seekRedirect = null, this.chapterFloorMap && (this.showModelFloor(), this.chapterFloorMap = null), this.emitProgress();
596
+ }
597
+ /** 销毁插件、释放资源 */
598
+ dispose() {
599
+ this.unsubClockTick && (this.unsubClockTick(), this.unsubClockTick = null), this.chapterFloorMap && (this.showModelFloor(), this.chapterFloorMap = null), this.progressListeners.clear(), this.keyframesChangedListeners.clear(), this.currentChapterChangedListeners.clear(), this.groupProgressListeners.clear(), this.cameraEditSnapshot = null, this.playground.dispose();
600
+ }
601
+ /** 预加载模型 / 动画 / 道具(复用 Shared_Core 加载) */
602
+ preloadResources(e) {
603
+ return c(this, null, function* () {
604
+ const t = [], r = [], a = /* @__PURE__ */ new Set(), s = [], n = /* @__PURE__ */ new Map();
605
+ e.chapters.forEach((o) => {
606
+ o.players.forEach((i) => {
607
+ if (i.type !== "model")
608
+ return;
609
+ const u = i;
610
+ t.push(u.model), r.push(i.id), u.keyframes.forEach((m) => {
611
+ var f, y;
612
+ if (!m.animation)
613
+ return;
614
+ a.add(m.animation.url);
615
+ const p = m.animation.item;
616
+ p && (s.push(p.url), n.set(p.url, {
617
+ position: (f = p.position) != null ? f : [0, 0, 0],
618
+ rotation: (y = p.rotation) != null ? y : [0, 0, 0]
619
+ }));
620
+ });
621
+ });
622
+ }), yield Promise.all([
623
+ this.playground.loader.loadModels(t, r),
624
+ this.playground.loader.loadItems(s, n),
625
+ this.playground.loader.loadAnimations(Array.from(a))
626
+ ]);
627
+ });
628
+ }
629
+ emitProgress() {
630
+ if (this.progressListeners.size > 0) {
631
+ const e = this.getProgress();
632
+ this.progressListeners.forEach((t) => t(e));
633
+ }
634
+ this.emitGroupProgress();
635
+ }
636
+ /** 组级进度广播(加法式新增;独立监听集合,既有 onProgressChanged 语义不变) */
637
+ emitGroupProgress() {
638
+ if (this.groupProgressListeners.size === 0)
639
+ return;
640
+ const e = this.getGroupProgress();
641
+ this.groupProgressListeners.forEach((t) => t(e));
642
+ }
643
+ // —— 运镜关键帧编辑辅助 ——
644
+ /** 编辑前置校验:未加载 script / 无当前章节时返回拒绝结果,否则返回 null */
645
+ guardKeyframeEdit() {
646
+ return this.state.currentScript ? this.state.currentChapter ? null : this.rejectKeyframe("无当前章节") : this.rejectKeyframe("未加载剧本");
647
+ }
648
+ /** 拒绝结果:保持当前序列不变并返回 error */
649
+ rejectKeyframe(e) {
650
+ return { success: !1, error: e, keyframes: this.getCameraKeyframes() };
651
+ }
652
+ /** 当前章节的 camera player(不存在返回 null) */
653
+ getCameraPlayer() {
654
+ return this.cameraPlayerOf(this.state.currentChapter);
655
+ }
656
+ /** 指定章节的 camera player(不存在返回 null) */
657
+ cameraPlayerOf(e) {
658
+ if (!e)
659
+ return null;
660
+ const t = e.players.find((r) => r.type === "camera");
661
+ return t != null ? t : null;
662
+ }
663
+ /** 把 camera player 的关键帧序列化为升序、仅含已设置可选字段的副本(Mapview 位姿) */
664
+ serializeKeyframes(e) {
665
+ return (e ? [...e.keyframes].sort((r, a) => r.timeStamp - a.timeStamp) : []).map((r) => {
666
+ const a = {
667
+ timeStamp: r.timeStamp,
668
+ target: [...r.target],
669
+ longitude: r.longitude,
670
+ latitude: r.latitude,
671
+ distance: r.distance,
672
+ fov: r.fov
673
+ };
674
+ return r.transition !== void 0 && (a.transition = r.transition), r.thumbnail !== void 0 && (a.thumbnail = r.thumbnail), a;
675
+ });
676
+ }
677
+ /** 获取当前章节的 camera player,不存在则创建并挂到章节 players 上 */
678
+ ensureCameraPlayer() {
679
+ const e = this.state.currentChapter;
680
+ let t = e.players.find((r) => r.type === "camera");
681
+ return t || (t = { name: "camera", type: "camera", keyframes: [] }, e.players.push(t)), t;
682
+ }
683
+ /** fov 取值:优先 fiveState.fov,否则读 five 当前状态 */
684
+ resolveFov(e) {
685
+ var r, a;
686
+ if (e && Number.isFinite(e.fov))
687
+ return e.fov;
688
+ const t = (a = (r = this.five).getCurrentState) == null ? void 0 : a.call(r).fov;
689
+ return Number.isFinite(t) ? t : 60;
690
+ }
691
+ /** 捕获 five 当前 Mapview 位姿(target=offset、longitude、latitude、distance) */
692
+ captureCameraPose() {
693
+ var r, a;
694
+ const e = (a = (r = this.five).getCurrentState) == null ? void 0 : a.call(r), t = e == null ? void 0 : e.offset;
695
+ return {
696
+ target: t ? [t.x, t.y, t.z] : [0, 0, 0],
697
+ longitude: Number.isFinite(e == null ? void 0 : e.longitude) ? e.longitude : 0,
698
+ latitude: Number.isFinite(e == null ? void 0 : e.latitude) ? e.latitude : 0,
699
+ distance: Number.isFinite(e == null ? void 0 : e.distance) ? e.distance : 0
700
+ };
701
+ }
702
+ /** 关键帧变更后:重建并绑定相机轨道(供 seek 预览/后续播放接管),派发事件,返回成功结果 */
703
+ afterKeyframesChanged(e) {
704
+ this.playground.setCameraKeyframes(e.keyframes);
705
+ const t = this.getCameraKeyframes();
706
+ return this.emitKeyframesChanged(t), { success: !0, keyframes: t };
707
+ }
708
+ emitKeyframesChanged(e) {
709
+ this.keyframesChangedListeners.forEach((t) => t(e.map((r) => g({}, r))));
710
+ }
711
+ emitCurrentChapterChanged() {
712
+ if (this.currentChapterChangedListeners.size === 0)
713
+ return;
714
+ const e = this.getCurrentChapterInfo();
715
+ this.currentChapterChangedListeners.forEach((t) => t(g({}, e)));
716
+ }
717
+ /** 当前章节索引(0-based;无当前章节为 -1),按引用或名称匹配 */
718
+ getCurrentChapterIndex() {
719
+ const e = this.state.currentChapter;
720
+ return e ? this.getChapters().findIndex((t) => t === e || t.name === e.name) : -1;
721
+ }
722
+ /** 由指定章节的相机关键帧构建一条 CameraTrack(无章节/无 camera player 返回 null) */
723
+ buildChapterCameraTrack(e) {
724
+ const t = this.getChapters();
725
+ if (e < 0 || e >= t.length)
726
+ return null;
727
+ const r = this.cameraPlayerOf(t[e]);
728
+ if (!r || r.keyframes.length === 0)
729
+ return null;
730
+ const a = new E();
731
+ return a.setKeyframes(r.keyframes), a;
732
+ }
733
+ /** 深拷贝关键帧序列(数组字段亦深拷贝),供快照/还原使用(Mapview 位姿) */
734
+ cloneKeyframes(e) {
735
+ return e.map((t) => {
736
+ const r = {
737
+ timeStamp: t.timeStamp,
738
+ target: [...t.target],
739
+ longitude: t.longitude,
740
+ latitude: t.latitude,
741
+ distance: t.distance,
742
+ fov: t.fov
743
+ };
744
+ return t.transition !== void 0 && (r.transition = t.transition), t.thumbnail !== void 0 && (r.thumbnail = t.thumbnail), r;
745
+ });
746
+ }
747
+ }
748
+ export {
749
+ B as default
750
+ };