@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,61 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type { CameraTrack } from './CameraTrack';
3
+ import type { PerformanceClock } from './PerformanceClock';
4
+ import type { CameraState } from '../typings';
5
+ /**
6
+ * CameraDirector —— 运镜导演(统一 Mapview / orbit 参数系)
7
+ *
8
+ * 绑定一条 CameraTrack,订阅统一时钟 tick,采样 CameraState 经 FiveModelCameraBridge 应用到相机。
9
+ * - 逐帧/seek 均以 immediately=true 贴合采样状态(不依赖 five 内插,跟随精确)。
10
+ * - setEnabled(false):后续播放 tick 不接管相机、保留 five 当前状态。
11
+ * - 空轨道/无关键帧:不接管相机。
12
+ *
13
+ * 由于运镜统一为 Mapview orbit 位姿,导演接管期间 five 始终是合法 Mapview 状态;
14
+ * 暂停只需停止 tick 即把相机「交还用户」——无需任何 look-from→orbit 转换(旧 applyAsOrbit / releaseToUser 已移除)。
15
+ */
16
+ export declare class CameraDirector {
17
+ private bridge;
18
+ private track;
19
+ private clock;
20
+ private enabled;
21
+ private unsubTick;
22
+ constructor(five: Five);
23
+ /** 绑定/替换轨道(传 null 解绑) */
24
+ bindTrack(track: CameraTrack | null): void;
25
+ /** 跟随时钟播放:订阅 onTick → 采样 → 应用(仅在时钟实际播放时接管,编辑期 seek 不接管) */
26
+ attach(clock: PerformanceClock): void;
27
+ /** 解除时钟订阅(不清空 track) */
28
+ detach(): void;
29
+ /** 编辑端 seek 预览:立即采样并应用到指定时间(不依赖播放状态) */
30
+ seek(time: number): void;
31
+ /**
32
+ * 直接将一个 CameraState 立即应用到 five(immediately=true),不经轨道/时钟。
33
+ * 供「章节默认视角」等编辑端能力使用。复用既有桥实例。
34
+ * 不受 enabled 开关与轨道是否有内容影响(调用方自行决定是否调用)。
35
+ * 应用后 five 即为合法 Mapview 状态,用户可立即正常拖拽(左键 orbit / 右键平移)。
36
+ */
37
+ applyCameraStateImmediately(state: CameraState): void;
38
+ /**
39
+ * 暂停态 scrub 预览:采样 `track.sample(time)` 并立即应用(预览后交还用户可立即拖拽)。
40
+ * 仅在 enabled 且 track 有内容时应用;否则 no-op(与 seek 预览的接管前置条件一致)。
41
+ */
42
+ previewAt(time: number): void;
43
+ /**
44
+ * 运镜开关。仅记录状态,不在此处写 five。
45
+ * - false:后续播放 tick 不接管相机。
46
+ * - true:后续播放 tick 按采样接管相机。
47
+ */
48
+ setEnabled(enabled: boolean): void;
49
+ isEnabled(): boolean;
50
+ /**
51
+ * 接管前 prepare(无突变 user→director 切换)。
52
+ * - enabled 且 track 有内容时:经 `bridge.applyAnimated(track.sample(time))` 以内插动画平滑回到目标视角,
53
+ * await 过渡稳定后 resolve。暂停后用户拖动过的当前位姿与目标均为 Mapview 状态,动画为 orbit→orbit,干净不摆动。
54
+ * - 否则:立即 resolve(no-op)。
55
+ * 不触碰时钟、不改 enabled、不绑定/解绑轨道;调用方负责在时钟 start/resume 前 await,以保证 prepare 不计入播放时间。
56
+ */
57
+ prepareTo(time: number): Promise<void>;
58
+ /** 释放:解订阅并清空轨道 */
59
+ dispose(): void;
60
+ private applyAt;
61
+ }
@@ -0,0 +1,101 @@
1
+ var k = Object.defineProperty;
2
+ var d = (e, t, i) => t in e ? k(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var s = (e, t, i) => (d(e, typeof t != "symbol" ? t + "" : t, i), i);
4
+ var l = (e, t, i) => new Promise((c, n) => {
5
+ var u = (a) => {
6
+ try {
7
+ r(i.next(a));
8
+ } catch (h) {
9
+ n(h);
10
+ }
11
+ }, p = (a) => {
12
+ try {
13
+ r(i.throw(a));
14
+ } catch (h) {
15
+ n(h);
16
+ }
17
+ }, r = (a) => a.done ? c(a.value) : Promise.resolve(a.value).then(u, p);
18
+ r((i = i.apply(e, t)).next());
19
+ });
20
+ import { FiveModelCameraBridge as b } from "./FiveModelCameraBridge.js";
21
+ import "three";
22
+ class f {
23
+ constructor(t) {
24
+ s(this, "bridge");
25
+ s(this, "track", null);
26
+ s(this, "clock", null);
27
+ s(this, "enabled", !0);
28
+ s(this, "unsubTick", null);
29
+ this.bridge = new b(t);
30
+ }
31
+ /** 绑定/替换轨道(传 null 解绑) */
32
+ bindTrack(t) {
33
+ this.track = t;
34
+ }
35
+ /** 跟随时钟播放:订阅 onTick → 采样 → 应用(仅在时钟实际播放时接管,编辑期 seek 不接管) */
36
+ attach(t) {
37
+ this.detach(), this.clock = t, this.unsubTick = t.onTick((i) => {
38
+ this.clock && this.clock.isPlaying() && this.applyAt(i);
39
+ });
40
+ }
41
+ /** 解除时钟订阅(不清空 track) */
42
+ detach() {
43
+ this.unsubTick && (this.unsubTick(), this.unsubTick = null), this.clock = null;
44
+ }
45
+ /** 编辑端 seek 预览:立即采样并应用到指定时间(不依赖播放状态) */
46
+ seek(t) {
47
+ this.applyAt(t);
48
+ }
49
+ /**
50
+ * 直接将一个 CameraState 立即应用到 five(immediately=true),不经轨道/时钟。
51
+ * 供「章节默认视角」等编辑端能力使用。复用既有桥实例。
52
+ * 不受 enabled 开关与轨道是否有内容影响(调用方自行决定是否调用)。
53
+ * 应用后 five 即为合法 Mapview 状态,用户可立即正常拖拽(左键 orbit / 右键平移)。
54
+ */
55
+ applyCameraStateImmediately(t) {
56
+ this.bridge.apply(t, !0);
57
+ }
58
+ /**
59
+ * 暂停态 scrub 预览:采样 `track.sample(time)` 并立即应用(预览后交还用户可立即拖拽)。
60
+ * 仅在 enabled 且 track 有内容时应用;否则 no-op(与 seek 预览的接管前置条件一致)。
61
+ */
62
+ previewAt(t) {
63
+ this.enabled && (!this.track || !this.track.hasContent() || this.bridge.apply(this.track.sample(t), !0));
64
+ }
65
+ /**
66
+ * 运镜开关。仅记录状态,不在此处写 five。
67
+ * - false:后续播放 tick 不接管相机。
68
+ * - true:后续播放 tick 按采样接管相机。
69
+ */
70
+ setEnabled(t) {
71
+ this.enabled = t;
72
+ }
73
+ isEnabled() {
74
+ return this.enabled;
75
+ }
76
+ /**
77
+ * 接管前 prepare(无突变 user→director 切换)。
78
+ * - enabled 且 track 有内容时:经 `bridge.applyAnimated(track.sample(time))` 以内插动画平滑回到目标视角,
79
+ * await 过渡稳定后 resolve。暂停后用户拖动过的当前位姿与目标均为 Mapview 状态,动画为 orbit→orbit,干净不摆动。
80
+ * - 否则:立即 resolve(no-op)。
81
+ * 不触碰时钟、不改 enabled、不绑定/解绑轨道;调用方负责在时钟 start/resume 前 await,以保证 prepare 不计入播放时间。
82
+ */
83
+ prepareTo(t) {
84
+ return l(this, null, function* () {
85
+ this.enabled && (!this.track || !this.track.hasContent() || (yield this.bridge.applyAnimated(this.track.sample(t))));
86
+ });
87
+ }
88
+ /** 释放:解订阅并清空轨道 */
89
+ dispose() {
90
+ this.detach(), this.track = null;
91
+ }
92
+ applyAt(t) {
93
+ if (!this.enabled || !this.track || !this.track.hasContent())
94
+ return;
95
+ const i = this.track.sample(t);
96
+ this.bridge.apply(i, !0);
97
+ }
98
+ }
99
+ export {
100
+ f as CameraDirector
101
+ };
@@ -0,0 +1,53 @@
1
+ import * as THREE from 'three';
2
+ import type { CameraTransition, DigitalCameraKeyframe, CameraState } from '../typings';
3
+ /**
4
+ * CameraSampler —— 带插值的运镜采样(共享底座),统一在 five **Mapview**(orbit)参数系下补帧。
5
+ *
6
+ * 关键帧以 orbit 位姿表达:{ target, longitude, latitude, distance, fov }。
7
+ * 相邻帧的区间缓动由「较早」关键帧 kf[i] 的 transition 决定(与 Requirement 2.1 一致)。
8
+ * - target:分量线性插值(Vector3 lerp)
9
+ * - longitude:最短弧角度插值(处理 ±π 环绕)
10
+ * - latitude / distance / fov:线性插值
11
+ * 末帧封顶、首帧夹紧;'instant' 直接 snap 到当前帧;不修改入参。
12
+ *
13
+ * 相对旧的「position+forward / look-from」表示:orbit 参数系下相邻帧的插值是「绕目标点的圆弧运动」,
14
+ * 与用户在 Mapview 编辑时所见一致(绕主体环绕),而非两点间直线 dolly。
15
+ */
16
+ /** 把数值夹紧到 [min, max] */
17
+ export declare function clamp(value: number, min: number, max: number): number;
18
+ /**
19
+ * 二分查找:返回 timeStamp <= time 的最大关键帧下标。
20
+ * 前置:keyframes 非空且按 timeStamp 升序。后置:0 <= 返回 <= length-1;早于首帧返回 0。
21
+ */
22
+ export declare function getKeyframeIndexByTime(time: number, keyframes: ReadonlyArray<{
23
+ timeStamp: number;
24
+ }>): number;
25
+ /**
26
+ * 缓动函数:把线性进度 p∈[0,1] 映射为缓动后的插值因子。
27
+ * - 'easeInOut' : smoothstep p*p*(3-2p)
28
+ * - 其它(含 'linear' / undefined) : 恒等
29
+ * 端点固定:ease(0)=0、ease(1)=1;值域有界:p∈[0,1] ⇒ 返回 ∈[0,1]。
30
+ */
31
+ export declare function ease(p: number, transition?: CameraTransition): number;
32
+ /**
33
+ * 归一化时间比例:p = clamp((time - curTs) / (nextTs - curTs), 0, 1)。
34
+ * nextTs <= curTs(异常或零长区间)时返回 0,避免除零。
35
+ */
36
+ export declare function normalizedRatio(time: number, curTs: number, nextTs: number): number;
37
+ /** 最短弧角度插值:沿 (-π,π] 的最短方向从 a 插到 b。 */
38
+ export declare function lerpAngle(a: number, b: number, t: number): number;
39
+ /** 采样 orbit 目标点(分量线性插值)。末帧封顶、'instant' 取当前帧。 */
40
+ export declare function sampleTarget(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): THREE.Vector3;
41
+ /** 采样 longitude(最短弧角度插值)。 */
42
+ export declare function sampleLongitude(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): number;
43
+ /** 采样 latitude(线性插值)。 */
44
+ export declare function sampleLatitude(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): number;
45
+ /** 采样 distance(线性插值)。 */
46
+ export declare function sampleDistance(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): number;
47
+ /** 采样 fov(线性插值);末帧封顶、'instant' 取当前帧。 */
48
+ export declare function sampleFov(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): number;
49
+ /**
50
+ * 组装:按时间采样出统一 CameraState(已插值,Mapview orbit 位姿)。
51
+ * 单关键帧时对任意时间返回该唯一帧位姿。不修改入参。
52
+ */
53
+ export declare function sampleCameraState(time: number, keyframes: ReadonlyArray<DigitalCameraKeyframe>): CameraState;
@@ -0,0 +1,91 @@
1
+ import * as p from "three";
2
+ function l(o, t, i) {
3
+ return o < t ? t : o > i ? i : o;
4
+ }
5
+ function u(o, t) {
6
+ const i = t.length;
7
+ if (i <= 1 || o <= t[0].timeStamp)
8
+ return 0;
9
+ if (o >= t[i - 1].timeStamp)
10
+ return i - 1;
11
+ let n = 0, r = i - 1;
12
+ for (; r - n > 1; ) {
13
+ const c = n + r >> 1;
14
+ t[c].timeStamp <= o ? n = c : r = c;
15
+ }
16
+ return n;
17
+ }
18
+ function e(o, t) {
19
+ const i = l(o, 0, 1);
20
+ return t === "easeInOut" ? i * i * (3 - 2 * i) : i;
21
+ }
22
+ function a(o, t, i) {
23
+ const n = i - t;
24
+ return n <= 0 ? 0 : l((o - t) / n, 0, 1);
25
+ }
26
+ function d(o, t, i) {
27
+ const n = Math.atan2(Math.sin(t - o), Math.cos(t - o));
28
+ return o + n * i;
29
+ }
30
+ function s(o) {
31
+ var i, n, r, c;
32
+ const t = (i = o.target) != null ? i : [0, 0, 0];
33
+ return new p.Vector3((n = t[0]) != null ? n : 0, (r = t[1]) != null ? r : 0, (c = t[2]) != null ? c : 0);
34
+ }
35
+ function g(o, t) {
36
+ const i = u(o, t), n = t[i];
37
+ if (i === t.length - 1 || n.transition === "instant")
38
+ return s(n);
39
+ const r = t[i + 1], c = e(a(o, n.timeStamp, r.timeStamp), n.transition);
40
+ return s(n).lerp(s(r), c);
41
+ }
42
+ function S(o, t) {
43
+ const i = u(o, t), n = t[i];
44
+ if (i === t.length - 1 || n.transition === "instant")
45
+ return n.longitude;
46
+ const r = t[i + 1], c = e(a(o, n.timeStamp, r.timeStamp), n.transition);
47
+ return d(n.longitude, r.longitude, c);
48
+ }
49
+ function f(o, t) {
50
+ const i = u(o, t), n = t[i];
51
+ if (i === t.length - 1 || n.transition === "instant")
52
+ return n.latitude;
53
+ const r = t[i + 1], c = e(a(o, n.timeStamp, r.timeStamp), n.transition);
54
+ return n.latitude + (r.latitude - n.latitude) * c;
55
+ }
56
+ function h(o, t) {
57
+ const i = u(o, t), n = t[i];
58
+ if (i === t.length - 1 || n.transition === "instant")
59
+ return n.distance;
60
+ const r = t[i + 1], c = e(a(o, n.timeStamp, r.timeStamp), n.transition);
61
+ return n.distance + (r.distance - n.distance) * c;
62
+ }
63
+ function x(o, t) {
64
+ const i = u(o, t), n = t[i];
65
+ if (i === t.length - 1 || n.transition === "instant")
66
+ return n.fov;
67
+ const r = t[i + 1], c = e(a(o, n.timeStamp, r.timeStamp), n.transition);
68
+ return n.fov + (r.fov - n.fov) * c;
69
+ }
70
+ function m(o, t) {
71
+ return {
72
+ target: g(o, t),
73
+ longitude: S(o, t),
74
+ latitude: f(o, t),
75
+ distance: h(o, t),
76
+ fov: x(o, t)
77
+ };
78
+ }
79
+ export {
80
+ l as clamp,
81
+ e as ease,
82
+ u as getKeyframeIndexByTime,
83
+ d as lerpAngle,
84
+ a as normalizedRatio,
85
+ m as sampleCameraState,
86
+ h as sampleDistance,
87
+ x as sampleFov,
88
+ f as sampleLatitude,
89
+ S as sampleLongitude,
90
+ g as sampleTarget
91
+ };
@@ -0,0 +1,21 @@
1
+ import type { CameraState, DigitalCameraKeyframe } from '../typings';
2
+ /**
3
+ * CameraTrack —— 相机轨道
4
+ *
5
+ * 把运镜关键帧序列封装为可按时间采样(含插值)的轨道,委托 CameraSampler 完成补帧。
6
+ * 关键帧统一为 Mapview orbit 位姿 { target, longitude, latitude, distance, fov }。
7
+ */
8
+ export declare class CameraTrack {
9
+ private keyframes;
10
+ /** 设置/替换关键帧序列(按 timeStamp 升序,不修改入参数组) */
11
+ setKeyframes(keyframes: ReadonlyArray<DigitalCameraKeyframe>): void;
12
+ /** 按时间采样出统一 CameraState(已插值) */
13
+ sample(time: number): CameraState;
14
+ /** 本轨道有效时间范围(首帧~末帧 timeStamp) */
15
+ getTimeRange(): {
16
+ start: number;
17
+ end: number;
18
+ };
19
+ /** 是否有可用关键帧 */
20
+ hasContent(): boolean;
21
+ }
@@ -0,0 +1,32 @@
1
+ var s = Object.defineProperty;
2
+ var i = (r, e, t) => e in r ? s(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
+ var a = (r, e, t) => (i(r, typeof e != "symbol" ? e + "" : e, t), t);
4
+ import { sampleCameraState as n } from "./CameraSampler.js";
5
+ import "three";
6
+ class p {
7
+ constructor() {
8
+ a(this, "keyframes", []);
9
+ }
10
+ /** 设置/替换关键帧序列(按 timeStamp 升序,不修改入参数组) */
11
+ setKeyframes(e) {
12
+ this.keyframes = [...e].sort((t, m) => t.timeStamp - m.timeStamp);
13
+ }
14
+ /** 按时间采样出统一 CameraState(已插值) */
15
+ sample(e) {
16
+ return n(e, this.keyframes);
17
+ }
18
+ /** 本轨道有效时间范围(首帧~末帧 timeStamp) */
19
+ getTimeRange() {
20
+ return this.keyframes.length === 0 ? { start: 0, end: 0 } : {
21
+ start: this.keyframes[0].timeStamp,
22
+ end: this.keyframes[this.keyframes.length - 1].timeStamp
23
+ };
24
+ }
25
+ /** 是否有可用关键帧 */
26
+ hasContent() {
27
+ return this.keyframes.length > 0;
28
+ }
29
+ }
30
+ export {
31
+ p as CameraTrack
32
+ };
@@ -0,0 +1,39 @@
1
+ import type { Five } from '@realsee/five';
2
+ import type { CameraState } from '../typings';
3
+ /**
4
+ * FiveModelCameraBridge —— CameraState ↔ five **Mapview**(地图态 / orbit)参数的唯一收敛点。
5
+ *
6
+ * 统一运镜采用 Mapview orbit 位姿:相机绕 `target` 旋转,
7
+ * 相机位置 = target − coordinatesToVector(longitude, latitude) × distance,视线恒指向 `target`。
8
+ * 因此「播放逐帧接管」与「暂停交还用户拖拽」处于同一参数系:
9
+ * 暂停瞬间 five 已是合法 Mapview 状态(offset=target、distance>0),用户可直接左键 orbit / 右键平移,
10
+ * 无需任何 look-from→orbit 转换、无跳变。
11
+ *
12
+ * apply:target→offset、longitude/latitude/distance 直传、fov 钳制、mode='Mapview'。
13
+ * capture:从 five 当前 Mapview 位姿反读一个 CameraState。
14
+ *
15
+ * 注:类名沿用历史 `FiveModelCameraBridge`(避免大范围改名);实际目标模态为 Mapview。
16
+ */
17
+ export declare class FiveModelCameraBridge {
18
+ private five;
19
+ constructor(five: Five);
20
+ /**
21
+ * 将 CameraState 应用到 five(mode:'Mapview')。对 `five.setState` 恰好一次。
22
+ * - fov 钳制到开区间 (0,180)(含 fov<=0 与 NaN),不拒绝、不抛错。
23
+ * @param immediately five.setState 第二参数。true(缺省)= 立即贴合目标(逐帧驱动/seek 用);false = 走 five 内插动画。
24
+ */
25
+ apply(state: CameraState, immediately?: boolean): void;
26
+ /**
27
+ * 加法式:以「走 five 内插动画」的方式应用 CameraState(`apply` 的 immediately=false 分支),
28
+ * 返回一个在过渡完成后 resolve 的 Promise。
29
+ * - 映射规则与 `apply` 完全一致,对 `five.setState` 恰好一次,仅第二参数取 false(动画)。
30
+ * - 完成信号:`five.setState` 返回 void、无可等待对象,故以一次过渡时长(CAMERA_TRANSITION_MS)兜底后 resolve。
31
+ */
32
+ applyAnimated(state: CameraState): Promise<void>;
33
+ /**
34
+ * 从 five 当前 Mapview 位姿反读一个 CameraState。
35
+ * five.getCurrentState() 返回 { offset, longitude, latitude, distance, fov }(来自相机 pose),
36
+ * 其中 offset 即 orbit 目标点(target)。
37
+ */
38
+ capture(): CameraState;
39
+ }
@@ -0,0 +1,72 @@
1
+ var u = Object.defineProperty;
2
+ var d = (t, e, i) => e in t ? u(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i;
3
+ var n = (t, e, i) => (d(t, typeof e != "symbol" ? e + "" : e, i), i);
4
+ import * as a from "three";
5
+ const o = 1e-6, l = 700;
6
+ function r(t) {
7
+ return t > 0 ? t >= 180 ? 180 - o : t : o;
8
+ }
9
+ class f {
10
+ constructor(e) {
11
+ n(this, "five");
12
+ this.five = e;
13
+ }
14
+ /**
15
+ * 将 CameraState 应用到 five(mode:'Mapview')。对 `five.setState` 恰好一次。
16
+ * - fov 钳制到开区间 (0,180)(含 fov<=0 与 NaN),不拒绝、不抛错。
17
+ * @param immediately five.setState 第二参数。true(缺省)= 立即贴合目标(逐帧驱动/seek 用);false = 走 five 内插动画。
18
+ */
19
+ apply(e, i = !0) {
20
+ this.five.setState(
21
+ {
22
+ offset: e.target.clone(),
23
+ longitude: e.longitude,
24
+ latitude: e.latitude,
25
+ distance: e.distance,
26
+ fov: r(e.fov),
27
+ mode: "Mapview"
28
+ },
29
+ i
30
+ );
31
+ }
32
+ /**
33
+ * 加法式:以「走 five 内插动画」的方式应用 CameraState(`apply` 的 immediately=false 分支),
34
+ * 返回一个在过渡完成后 resolve 的 Promise。
35
+ * - 映射规则与 `apply` 完全一致,对 `five.setState` 恰好一次,仅第二参数取 false(动画)。
36
+ * - 完成信号:`five.setState` 返回 void、无可等待对象,故以一次过渡时长(CAMERA_TRANSITION_MS)兜底后 resolve。
37
+ */
38
+ applyAnimated(e) {
39
+ return this.five.setState(
40
+ {
41
+ offset: e.target.clone(),
42
+ longitude: e.longitude,
43
+ latitude: e.latitude,
44
+ distance: e.distance,
45
+ fov: r(e.fov),
46
+ mode: "Mapview"
47
+ },
48
+ /* immediately */
49
+ !1
50
+ ), new Promise((i) => {
51
+ setTimeout(i, l);
52
+ });
53
+ }
54
+ /**
55
+ * 从 five 当前 Mapview 位姿反读一个 CameraState。
56
+ * five.getCurrentState() 返回 { offset, longitude, latitude, distance, fov }(来自相机 pose),
57
+ * 其中 offset 即 orbit 目标点(target)。
58
+ */
59
+ capture() {
60
+ const e = this.five.getCurrentState();
61
+ return {
62
+ target: e.offset ? e.offset.clone() : new a.Vector3(),
63
+ longitude: Number.isFinite(e.longitude) ? e.longitude : 0,
64
+ latitude: Number.isFinite(e.latitude) ? e.latitude : 0,
65
+ distance: Number.isFinite(e.distance) ? e.distance : 0,
66
+ fov: e.fov
67
+ };
68
+ }
69
+ }
70
+ export {
71
+ f as FiveModelCameraBridge
72
+ };
@@ -0,0 +1,55 @@
1
+ import type { Five } from '@realsee/five';
2
+ export type ClockTickListener = (time: number, delta: number) => void;
3
+ export type ClockEndedListener = () => void;
4
+ /**
5
+ * PerformanceClock —— 统一章节时钟(共享底座)
6
+ *
7
+ * 以 five 的 'renderFrame' 为唯一节拍源,维护章节内全局播放时间 t 并广播 tick。
8
+ * 取代各 DigitalHuman 内部独立的 requestAnimationFrame 与 Math.max 进度反推。
9
+ *
10
+ * 不变量:0 <= time <= duration;playing 期间相邻 tick 的 time 非递减(封顶 duration)。
11
+ */
12
+ export declare class PerformanceClock {
13
+ private five;
14
+ private duration;
15
+ private time;
16
+ private playing;
17
+ private lastFrameTs;
18
+ private tickListeners;
19
+ private endedListeners;
20
+ constructor(five: Five);
21
+ /**
22
+ * 启动时钟。
23
+ * - duration<=0:不订阅 renderFrame、time 置 0、立即触发一次 ended。
24
+ * - 否则:time = clamp(fromTime, 0, duration),订阅 renderFrame 作为唯一节拍源。
25
+ */
26
+ start(duration: number, fromTime?: number): void;
27
+ /**
28
+ * 配置时长但不启动、不订阅 renderFrame(供播放/预览专用切章 prepareChapter 使用)。
29
+ * 加法式新增:仅设置 duration 并把当前 time 夹紧到新 duration,不改变 playing 状态。
30
+ */
31
+ setDuration(duration: number): void;
32
+ /** 暂停:停止累加并保留当前 time */
33
+ pause(): void;
34
+ /** 续播:从保留的 time 继续;续播后首帧 delta 记 0,不产生跳变 */
35
+ resume(): void;
36
+ /** 跳转(seek 预览):不改变播放状态;重置帧基准并广播一次 tick(0) */
37
+ seek(targetTime: number): void;
38
+ /** 停止:停表、解订阅、time 归零,可被再次 start */
39
+ stop(): void;
40
+ getTime(): number;
41
+ getDuration(): number;
42
+ isPlaying(): boolean;
43
+ /** 注册每帧 tick 监听;返回反订阅函数 */
44
+ onTick(listener: ClockTickListener): () => void;
45
+ /** 注册自然结束监听;返回反订阅函数 */
46
+ onEnded(listener: ClockEndedListener): () => void;
47
+ /** 释放:解订阅并清空监听 */
48
+ dispose(): void;
49
+ private clampTime;
50
+ private subscribeFrame;
51
+ private unsubscribeFrame;
52
+ private onFrame;
53
+ private emitTick;
54
+ private emitEnded;
55
+ }
@@ -0,0 +1,98 @@
1
+ var r = Object.defineProperty;
2
+ var n = (s, i, t) => i in s ? r(s, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[i] = t;
3
+ var e = (s, i, t) => (n(s, typeof i != "symbol" ? i + "" : i, t), t);
4
+ class h {
5
+ constructor(i) {
6
+ e(this, "five");
7
+ e(this, "duration", 0);
8
+ e(this, "time", 0);
9
+ e(this, "playing", !1);
10
+ e(this, "lastFrameTs", null);
11
+ e(this, "tickListeners", /* @__PURE__ */ new Set());
12
+ e(this, "endedListeners", /* @__PURE__ */ new Set());
13
+ e(this, "onFrame", () => {
14
+ if (!this.playing)
15
+ return;
16
+ this.five.needsRender = !0;
17
+ const i = performance.now();
18
+ this.lastFrameTs === null && (this.lastFrameTs = i);
19
+ let t = i - this.lastFrameTs;
20
+ this.lastFrameTs = i, (t > 200 || t < 0) && (t = 0), this.time = Math.min(this.time + t, this.duration), this.emitTick(t), this.time >= this.duration && (this.playing = !1, this.unsubscribeFrame(), this.emitEnded());
21
+ });
22
+ this.five = i;
23
+ }
24
+ /**
25
+ * 启动时钟。
26
+ * - duration<=0:不订阅 renderFrame、time 置 0、立即触发一次 ended。
27
+ * - 否则:time = clamp(fromTime, 0, duration),订阅 renderFrame 作为唯一节拍源。
28
+ */
29
+ start(i, t = 0) {
30
+ if (this.duration = i, !(i > 0)) {
31
+ this.duration = 0, this.time = 0, this.playing = !1, this.lastFrameTs = null, this.unsubscribeFrame(), this.emitEnded();
32
+ return;
33
+ }
34
+ this.time = this.clampTime(t), this.playing = !0, this.lastFrameTs = null, this.subscribeFrame();
35
+ }
36
+ /**
37
+ * 配置时长但不启动、不订阅 renderFrame(供播放/预览专用切章 prepareChapter 使用)。
38
+ * 加法式新增:仅设置 duration 并把当前 time 夹紧到新 duration,不改变 playing 状态。
39
+ */
40
+ setDuration(i) {
41
+ this.duration = i > 0 ? i : 0, this.time = this.clampTime(this.time);
42
+ }
43
+ /** 暂停:停止累加并保留当前 time */
44
+ pause() {
45
+ this.playing = !1;
46
+ }
47
+ /** 续播:从保留的 time 继续;续播后首帧 delta 记 0,不产生跳变 */
48
+ resume() {
49
+ this.playing || this.duration <= 0 || this.time >= this.duration || (this.playing = !0, this.lastFrameTs = null, this.subscribeFrame());
50
+ }
51
+ /** 跳转(seek 预览):不改变播放状态;重置帧基准并广播一次 tick(0) */
52
+ seek(i) {
53
+ this.time = this.clampTime(i), this.lastFrameTs = null, this.emitTick(0);
54
+ }
55
+ /** 停止:停表、解订阅、time 归零,可被再次 start */
56
+ stop() {
57
+ this.playing = !1, this.time = 0, this.lastFrameTs = null, this.unsubscribeFrame();
58
+ }
59
+ getTime() {
60
+ return this.time;
61
+ }
62
+ getDuration() {
63
+ return this.duration;
64
+ }
65
+ isPlaying() {
66
+ return this.playing;
67
+ }
68
+ /** 注册每帧 tick 监听;返回反订阅函数 */
69
+ onTick(i) {
70
+ return this.tickListeners.add(i), () => this.tickListeners.delete(i);
71
+ }
72
+ /** 注册自然结束监听;返回反订阅函数 */
73
+ onEnded(i) {
74
+ return this.endedListeners.add(i), () => this.endedListeners.delete(i);
75
+ }
76
+ /** 释放:解订阅并清空监听 */
77
+ dispose() {
78
+ this.unsubscribeFrame(), this.tickListeners.clear(), this.endedListeners.clear();
79
+ }
80
+ clampTime(i) {
81
+ return i > 0 ? i > this.duration ? this.duration : i : 0;
82
+ }
83
+ subscribeFrame() {
84
+ this.five.off("renderFrame", this.onFrame), this.five.on("renderFrame", this.onFrame);
85
+ }
86
+ unsubscribeFrame() {
87
+ this.five.off("renderFrame", this.onFrame);
88
+ }
89
+ emitTick(i) {
90
+ this.tickListeners.forEach((t) => t(this.time, i));
91
+ }
92
+ emitEnded() {
93
+ this.endedListeners.forEach((i) => i());
94
+ }
95
+ }
96
+ export {
97
+ h as PerformanceClock
98
+ };