@realsee/dnalogel 3.81.0-alpha.4 → 3.81.0-alpha.5

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 (558) hide show
  1. package/dist/DigitalPerformancePlugin/core/DigitalHuman.d.ts +23 -0
  2. package/dist/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +7 -0
  3. package/dist/DigitalPerformanceV2Plugin/controller/index.d.ts +25 -2
  4. package/dist/DigitalPerformanceV2Plugin/core/Playground.d.ts +2 -0
  5. package/dist/DigitalPerformanceV2Plugin/typings/index.d.ts +2 -0
  6. package/dist/index.cjs.js +34 -34
  7. package/dist/index.js +1687 -1616
  8. package/dist/index.umd.js +34 -34
  9. package/docs/assets/search.js +1 -1
  10. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  11. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  12. package/docs/classes/CSS3DRender.html +2 -2
  13. package/docs/classes/DigitalHuman.html +13 -4
  14. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +50 -43
  15. package/docs/classes/DigitalPlayground.html +6 -3
  16. package/docs/classes/DigitalStateMachine.html +2 -2
  17. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  18. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  19. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  20. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  21. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  22. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  23. package/docs/classes/ModelRoomLabelController.html +2 -2
  24. package/docs/classes/MoveController.html +2 -2
  25. package/docs/classes/Object3DHelperController.html +2 -2
  26. package/docs/classes/PaintBrush.html +2 -2
  27. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  28. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  29. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  30. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  31. package/docs/classes/PanoTagPluginController.html +2 -2
  32. package/docs/classes/Sculpt.html +2 -2
  33. package/docs/classes/Util.BetterTween.html +2 -2
  34. package/docs/classes/Util.FiveDomEvents.html +2 -2
  35. package/docs/classes/Util.FivePuppet.html +2 -2
  36. package/docs/classes/Util.Interval.html +2 -2
  37. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  38. package/docs/classes/Util.LightTag.html +2 -2
  39. package/docs/classes/Util.LineSegments.html +2 -2
  40. package/docs/classes/Util.Magnifier.html +2 -2
  41. package/docs/classes/Util.Object3D.html +2 -2
  42. package/docs/classes/Util.PointDomHelper.html +2 -2
  43. package/docs/classes/Util.PointHelper.html +2 -2
  44. package/docs/classes/Util.PointSelector.html +2 -2
  45. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  46. package/docs/classes/Util.Rectangle.html +2 -2
  47. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  48. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  49. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  50. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  51. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  52. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  53. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  54. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  55. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  56. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  57. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  58. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  59. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  60. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  61. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  62. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  63. package/docs/classes/WalkController.html +2 -2
  64. package/docs/enums/CameraMovementEffect.html +2 -2
  65. package/docs/enums/ContentType.html +2 -2
  66. package/docs/enums/DIRECTION.html +2 -2
  67. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  68. package/docs/enums/DimensionType.html +2 -2
  69. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  70. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  71. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  72. package/docs/enums/PointType.html +2 -2
  73. package/docs/enums/Rotation.html +2 -2
  74. package/docs/functions/AreaMakerPlugin.html +1 -1
  75. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  76. package/docs/functions/CameraMovementPlugin.html +2 -2
  77. package/docs/functions/CruisePlugin.html +1 -1
  78. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  79. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  80. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
  81. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  82. package/docs/functions/GuideLinePlugin.html +1 -1
  83. package/docs/functions/ItemLabelPlugin.html +1 -1
  84. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  85. package/docs/functions/MeasurePlugin.html +1 -1
  86. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  87. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  88. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  89. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  90. package/docs/functions/ModelMakerPlugin.html +1 -1
  91. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  92. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  93. package/docs/functions/ModelViewPlugin.html +2 -2
  94. package/docs/functions/MovePlugin.html +1 -1
  95. package/docs/functions/Object3DHelperPlugin.html +1 -1
  96. package/docs/functions/PanoCompassPlugin.html +1 -1
  97. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  98. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  99. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  100. package/docs/functions/PanoMeasurePlugin.html +1 -1
  101. package/docs/functions/PanoRulerPlugin.html +2 -2
  102. package/docs/functions/PanoRulerProPlugin.html +2 -2
  103. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  104. package/docs/functions/PanoTagPlugin.html +1 -1
  105. package/docs/functions/PanoVideoPlugin.html +2 -2
  106. package/docs/functions/PipelinePlugin.html +1 -1
  107. package/docs/functions/SculptPlugin.html +2 -2
  108. package/docs/functions/SculptPluginForFive.html +2 -2
  109. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  110. package/docs/functions/Util.awaitNextFrame.html +1 -1
  111. package/docs/functions/Util.blink.html +2 -2
  112. package/docs/functions/Util.blinkWithPreset.html +2 -2
  113. package/docs/functions/Util.bounding.html +1 -1
  114. package/docs/functions/Util.boundingBox.html +1 -1
  115. package/docs/functions/Util.boundingSphere.html +1 -1
  116. package/docs/functions/Util.boxVertex.html +2 -2
  117. package/docs/functions/Util.boxVertexes.html +1 -1
  118. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  119. package/docs/functions/Util.cleanup.html +2 -2
  120. package/docs/functions/Util.convexHull.html +2 -2
  121. package/docs/functions/Util.equal.html +2 -2
  122. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  123. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  124. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  125. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  126. package/docs/functions/Util.getFrameTime.html +2 -2
  127. package/docs/functions/Util.getGeometryArea.html +1 -1
  128. package/docs/functions/Util.getGeometryInfo.html +1 -1
  129. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  130. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  131. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  132. package/docs/functions/Util.inside.html +1 -1
  133. package/docs/functions/Util.isModelLike.html +1 -1
  134. package/docs/functions/Util.isNil.html +2 -2
  135. package/docs/functions/Util.isPanoramaLike.html +1 -1
  136. package/docs/functions/Util.lookObject.html +2 -2
  137. package/docs/functions/Util.lookPoint.html +2 -2
  138. package/docs/functions/Util.nextFrame.html +1 -1
  139. package/docs/functions/Util.notNil.html +2 -2
  140. package/docs/functions/Util.reblink.html +2 -2
  141. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  142. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  143. package/docs/functions/Util.sculpt.createBox.html +1 -1
  144. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  145. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  146. package/docs/functions/Util.sculpt.createLine.html +2 -2
  147. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  148. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  149. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  150. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  151. package/docs/functions/Util.sculpt.transformUnit.html +1 -1
  152. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  153. package/docs/functions/Util.tag.html +1 -1
  154. package/docs/functions/Util.triangleArea.html +2 -2
  155. package/docs/functions/Util.triangleCenter.html +2 -2
  156. package/docs/functions/Util.tweenProgress.html +1 -1
  157. package/docs/functions/Util.uuid.html +2 -2
  158. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  159. package/docs/functions/Util.worldBounding.html +1 -1
  160. package/docs/functions/Util.worldBoundingBox.html +1 -1
  161. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  162. package/docs/functions/createPolyline.html +2 -2
  163. package/docs/functions/pluginFlag.html +1 -1
  164. package/docs/functions/validatePolygon.html +1 -1
  165. package/docs/hierarchy.html +1 -1
  166. package/docs/index.html +2 -2
  167. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  168. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  169. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  170. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  171. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  172. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  173. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  174. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  175. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  176. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  177. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  178. package/docs/interfaces/BoxPosition.html +2 -2
  179. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  180. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  181. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  182. package/docs/interfaces/ChapterLocation.html +2 -2
  183. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  184. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  185. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  186. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  187. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  188. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  189. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  190. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  191. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  192. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  193. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  194. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  195. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  196. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  197. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  198. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  199. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  200. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  201. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  202. package/docs/interfaces/DigitalCameraState.html +2 -2
  203. package/docs/interfaces/DigitalChapter.html +2 -2
  204. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  205. package/docs/interfaces/DigitalDataState.html +2 -2
  206. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  207. package/docs/interfaces/DigitalEffectState.html +2 -2
  208. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  209. package/docs/interfaces/DigitalItemState.html +2 -2
  210. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  211. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  212. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  213. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  214. package/docs/interfaces/DigitalModelState.html +2 -2
  215. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  216. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +7 -7
  217. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +10 -10
  218. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +3 -3
  219. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +4 -2
  220. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +7 -7
  221. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +9 -9
  222. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
  223. package/docs/interfaces/DigitalScript.html +2 -2
  224. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  225. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  226. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  227. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  228. package/docs/interfaces/FloorplanBounding.html +2 -2
  229. package/docs/interfaces/FloorplanData.html +2 -2
  230. package/docs/interfaces/FloorplanEntrance.html +2 -2
  231. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  232. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  233. package/docs/interfaces/FloorplanFloorData.html +2 -2
  234. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  235. package/docs/interfaces/FloorplanObserver.html +2 -2
  236. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  237. package/docs/interfaces/FloorplanPosition.html +2 -2
  238. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  239. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  240. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  241. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  242. package/docs/interfaces/FloorplanServerData.html +2 -2
  243. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  244. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  245. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  246. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  247. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  248. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  249. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  250. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  251. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  252. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  253. package/docs/interfaces/GlobalProgress.html +2 -2
  254. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  255. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  256. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  257. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  258. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  259. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  260. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  261. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  262. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  263. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  264. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  265. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  266. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  267. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  268. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  269. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  270. package/docs/interfaces/HelperOffset.html +2 -2
  271. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  272. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  273. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  274. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  275. package/docs/interfaces/MinMax.html +2 -2
  276. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  277. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  278. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  279. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  280. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  281. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  282. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  283. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  284. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  285. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  286. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  287. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  288. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  289. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  290. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  291. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  292. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  293. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  294. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  295. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  296. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  297. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  298. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  299. package/docs/interfaces/Object3DHelperState.html +2 -2
  300. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  301. package/docs/interfaces/PaintBrushAction.html +2 -2
  302. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  303. package/docs/interfaces/PaintBrushState.html +2 -2
  304. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  305. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  306. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  307. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  308. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  309. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  310. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  311. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  312. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  313. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  314. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  315. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  316. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  317. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  318. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  319. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  320. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  321. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  322. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  323. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  324. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  325. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  326. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  327. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  328. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  329. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  330. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  331. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  332. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  333. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  334. package/docs/interfaces/PluginEventMap.html +2 -2
  335. package/docs/interfaces/Point.html +2 -2
  336. package/docs/interfaces/ProgressBarEvents.html +2 -2
  337. package/docs/interfaces/Room.html +2 -2
  338. package/docs/interfaces/RoomInfo.html +2 -2
  339. package/docs/interfaces/RoomLabel.html +2 -2
  340. package/docs/interfaces/RoomRules.html +1 -1
  341. package/docs/interfaces/Rooms.html +1 -1
  342. package/docs/interfaces/Scissor.html +2 -2
  343. package/docs/interfaces/SculptConfig.html +2 -2
  344. package/docs/interfaces/State.html +2 -2
  345. package/docs/interfaces/TagCacheInterface.html +2 -2
  346. package/docs/interfaces/TagConfig.html +2 -2
  347. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  348. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  349. package/docs/interfaces/TagIconUrl.html +2 -2
  350. package/docs/interfaces/TagObjectGroup.html +2 -2
  351. package/docs/interfaces/TagState.html +2 -2
  352. package/docs/interfaces/TagStyle.html +2 -2
  353. package/docs/interfaces/Tags.html +2 -2
  354. package/docs/interfaces/TemporaryState.html +2 -2
  355. package/docs/interfaces/TraceManager.html +2 -2
  356. package/docs/interfaces/TracePoint.html +2 -2
  357. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  358. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  359. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  360. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  361. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  362. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  363. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  364. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  365. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  366. package/docs/interfaces/Util.PointIntersection.html +2 -2
  367. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  368. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  369. package/docs/modules/AreaMakerPluginType.html +2 -2
  370. package/docs/modules/CruisePluginTypes.html +2 -2
  371. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  372. package/docs/modules/DigitalPerformanceV2.html +2 -2
  373. package/docs/modules/GuideLineItem.html +2 -2
  374. package/docs/modules/GuideLineModeItem.html +2 -2
  375. package/docs/modules/GuideLinePluginType.html +2 -2
  376. package/docs/modules/ModelMakerPluginType.html +2 -2
  377. package/docs/modules/PanoVideoPluginType.html +2 -2
  378. package/docs/modules/SculptData.html +2 -2
  379. package/docs/modules/SculptType.html +2 -2
  380. package/docs/modules/Util.html +2 -2
  381. package/docs/modules/Util.sculpt.html +2 -2
  382. package/docs/modules.html +2 -2
  383. package/docs/types/AddObject3DHelperConfig.html +2 -2
  384. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  385. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  386. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  387. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  388. package/docs/types/ArrayPosition.html +1 -1
  389. package/docs/types/AudioAppearance.html +1 -1
  390. package/docs/types/BoxTag.html +2 -2
  391. package/docs/types/CSS3DRenderExportType.html +1 -1
  392. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  393. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  394. package/docs/types/ClassFunctionParameters.html +1 -1
  395. package/docs/types/Color.html +1 -1
  396. package/docs/types/ContentTypeConfigKey.html +1 -1
  397. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  398. package/docs/types/ContentTypeMap.html +1 -1
  399. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  400. package/docs/types/Create3DElementReturnType.html +1 -1
  401. package/docs/types/CruisePluginExportType.html +1 -1
  402. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  403. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  404. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  405. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  406. package/docs/types/DeprecatedTagProperty.html +2 -2
  407. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  408. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  409. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
  410. package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
  411. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
  412. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
  413. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
  414. package/docs/types/Direction-1.html +1 -1
  415. package/docs/types/Direction4.html +1 -1
  416. package/docs/types/ElementRenderer.html +2 -2
  417. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  418. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  419. package/docs/types/FloorplanRuleLabels.html +2 -2
  420. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  421. package/docs/types/GuideLinePluginExportType.html +1 -1
  422. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  423. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  424. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  425. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  426. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  427. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  428. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  429. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  430. package/docs/types/HelperEventMap.html +1 -1
  431. package/docs/types/InternalHelperEventMap.html +1 -1
  432. package/docs/types/KeyframeType.html +1 -1
  433. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  434. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  435. package/docs/types/MaskPosition.html +2 -2
  436. package/docs/types/MaskTag.html +2 -2
  437. package/docs/types/MeasureEndReason.html +1 -1
  438. package/docs/types/MeasurePluginConfig.html +2 -2
  439. package/docs/types/MeasurePluginEventMap.html +1 -1
  440. package/docs/types/MediaData.html +2 -2
  441. package/docs/types/MediaStore.html +1 -1
  442. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  443. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  444. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  445. package/docs/types/ModelId.html +1 -1
  446. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  447. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  448. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  449. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  450. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  451. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  452. package/docs/types/MoveArgs.html +2 -2
  453. package/docs/types/MoveOpts.html +2 -2
  454. package/docs/types/Object3DHelperEventMap.html +1 -1
  455. package/docs/types/ObjectFit.html +1 -1
  456. package/docs/types/PaintBrushEventMap.html +1 -1
  457. package/docs/types/PanoCompassPluginData.html +1 -1
  458. package/docs/types/PanoCompassPluginExportType.html +1 -1
  459. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  460. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  461. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  462. package/docs/types/PanoIndex.html +1 -1
  463. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  464. package/docs/types/PanoMeasureReturnType.html +1 -1
  465. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  466. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  467. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  468. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  469. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  470. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  471. package/docs/types/PipelinePluginParameterType.html +1 -1
  472. package/docs/types/PipelinePluginReturnType.html +1 -1
  473. package/docs/types/PlaneTag.html +2 -2
  474. package/docs/types/Point2DTag.html +2 -2
  475. package/docs/types/Point3DTag.html +2 -2
  476. package/docs/types/PointTagInstance.html +1 -1
  477. package/docs/types/PolygonPosition.html +2 -2
  478. package/docs/types/PolygonTag.html +2 -2
  479. package/docs/types/Position.html +1 -1
  480. package/docs/types/PositionFrom.html +1 -1
  481. package/docs/types/ProgressListener.html +1 -1
  482. package/docs/types/RotateArgs.html +2 -2
  483. package/docs/types/RotateOpts.html +2 -2
  484. package/docs/types/RuleLabelsKey.html +1 -1
  485. package/docs/types/RuleLabelsValue.html +1 -1
  486. package/docs/types/ScaleCallback.html +1 -1
  487. package/docs/types/ScalePosition.html +2 -2
  488. package/docs/types/SculptData.BoxData.html +1 -1
  489. package/docs/types/SculptData.CircleData.html +1 -1
  490. package/docs/types/SculptData.CylinderData.html +1 -1
  491. package/docs/types/SculptData.PointData.html +1 -1
  492. package/docs/types/SculptData.PolygonData.html +1 -1
  493. package/docs/types/SculptData.PolylineData.html +1 -1
  494. package/docs/types/SculptData.PrismData.html +1 -1
  495. package/docs/types/SculptData.RectangleData.html +1 -1
  496. package/docs/types/SculptType.Theme.html +2 -2
  497. package/docs/types/StateType.html +1 -1
  498. package/docs/types/StickType.html +1 -1
  499. package/docs/types/Tag.html +2 -2
  500. package/docs/types/Tag2D.html +2 -2
  501. package/docs/types/Tag3D.html +2 -2
  502. package/docs/types/TagClickParams.html +1 -1
  503. package/docs/types/TagConfigByKey.html +1 -1
  504. package/docs/types/TagContentType.html +1 -1
  505. package/docs/types/TagContentTypeMapping.html +1 -1
  506. package/docs/types/TagDimensionType.html +1 -1
  507. package/docs/types/TagElement.html +2 -2
  508. package/docs/types/TagEvents.html +1 -1
  509. package/docs/types/TagGLTFObject.html +1 -1
  510. package/docs/types/TagHooks.html +1 -1
  511. package/docs/types/TagId.html +1 -1
  512. package/docs/types/TagInstance.html +1 -1
  513. package/docs/types/TagPlacement.html +2 -2
  514. package/docs/types/TagPointType.html +2 -2
  515. package/docs/types/TagRendererMap.html +1 -1
  516. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  517. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  518. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  519. package/docs/types/Util.AdherePoint.html +2 -2
  520. package/docs/types/Util.PointSelectorConfig.html +1 -1
  521. package/docs/types/Util.SupportedTarget.html +2 -2
  522. package/docs/types/Util.Target.html +2 -2
  523. package/docs/types/Util.ThreeObject.html +2 -2
  524. package/docs/types/WorkCode.html +1 -1
  525. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  526. package/docs/variables/PLUGIN.html +1 -1
  527. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  528. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  529. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  530. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  531. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  532. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  533. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  534. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  535. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  536. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  537. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  538. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  539. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  540. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  541. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  542. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  543. package/docs/variables/defaultGlobalConfig.html +1 -1
  544. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  545. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  546. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  547. package/libs/DigitalPerformancePlugin/core/DigitalHuman.d.ts +23 -0
  548. package/libs/DigitalPerformancePlugin/core/DigitalHuman.js +169 -137
  549. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.d.ts +7 -0
  550. package/libs/DigitalPerformancePlugin/core/DigitalPlayground.js +81 -70
  551. package/libs/DigitalPerformanceV2Plugin/controller/index.d.ts +25 -2
  552. package/libs/DigitalPerformanceV2Plugin/controller/index.js +91 -67
  553. package/libs/DigitalPerformanceV2Plugin/core/Playground.d.ts +2 -0
  554. package/libs/DigitalPerformanceV2Plugin/core/Playground.js +6 -2
  555. package/libs/DigitalPerformanceV2Plugin/typings/index.d.ts +2 -0
  556. package/libs/base/BasePlugin.js +1 -1
  557. package/libs/shared-utils/logger.js +1 -1
  558. package/package.json +1 -1
@@ -20,6 +20,11 @@ export declare class DigitalHuman {
20
20
  effectsGroup: THREE.Group;
21
21
  effectObjects: Map<string, THREE.Mesh>;
22
22
  container: THREE.Group;
23
+ /**
24
+ * 运动轨迹线(curveLine)开关。默认关闭、不绘制、不显示。
25
+ * 仅 debug / 特殊需求时由业务经插件显式开启(见 setTraceVisible)。
26
+ */
27
+ showTrace: boolean;
23
28
  private mixer;
24
29
  private action;
25
30
  private itemMatrixMap;
@@ -34,6 +39,18 @@ export declare class DigitalHuman {
34
39
  repeat: boolean;
35
40
  switchDuration: number;
36
41
  }): void;
42
+ /**
43
+ * seek/预览专用:立即「硬切」到目标动画(无 crossfade)。
44
+ *
45
+ * 背景:`playAnimation` 走 `crossFadeFrom(oldAction, switchDuration, true)` 做平滑过渡,依赖后续帧以
46
+ * 正的 delta 推进权重淡入淡出。但 seek/定格帧(delta===0)只做一次 `mixer.update(0)`,零时长的
47
+ * crossfade 不会推进——新动作权重可能仍≈0、旧动作权重仍≈1,且旧动作的 `stop()` 被 `setTimeout(…,0)`
48
+ * 推迟到本帧渲染之后执行。结果:跨动画 seek(如章节末「躺」姿回到起始帧「跑」)时旧姿态残留,
49
+ * 而位置/旋转因是直接拷贝关键帧的、已正确。
50
+ *
51
+ * 这里同步停旧动作、把新动作权重直接置 1,保证随后的 `mixer.update(0)` 立即定格到目标姿态。
52
+ */
53
+ private switchAnimationImmediately;
37
54
  pauseAnimation(): void;
38
55
  stopAnimation(): void;
39
56
  continueAnimation(): void;
@@ -62,6 +79,12 @@ export declare class DigitalHuman {
62
79
  * @param delta 距上一帧的时间增量(ms),用于推进骨骼动画 mixer
63
80
  */
64
81
  renderAtTime(time: number, delta: number): void;
82
+ /**
83
+ * 运动轨迹线开关(默认关闭、不显示)。仅 debug / 特殊需求由业务显式开启。
84
+ * - 开启:显示 curveLine,并回填当前时间点之前的轨迹(此后每帧继续累积)。
85
+ * - 关闭:隐藏并清空轨迹几何。
86
+ */
87
+ setTraceVisible(visible: boolean): void;
65
88
  traceUpDate(): void;
66
89
  clearTrace(): void;
67
90
  clearProcessedNeedRenderKeyframeIndices(): void;
@@ -1,65 +1,87 @@
1
1
  var b = Object.defineProperty;
2
- var B = (w, e, i) => e in w ? b(w, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : w[e] = i;
3
- var c = (w, e, i) => (B(w, typeof e != "symbol" ? e + "" : e, i), i);
4
- var T = (w, e, i) => new Promise((s, f) => {
5
- var r = (n) => {
2
+ var R = (k, e, i) => e in k ? b(k, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : k[e] = i;
3
+ var h = (k, e, i) => (R(k, typeof e != "symbol" ? e + "" : e, i), i);
4
+ var v = (k, e, i) => new Promise((s, r) => {
5
+ var o = (n) => {
6
6
  try {
7
- m(i.next(n));
8
- } catch (u) {
9
- f(u);
7
+ f(i.next(n));
8
+ } catch (p) {
9
+ r(p);
10
10
  }
11
- }, d = (n) => {
11
+ }, u = (n) => {
12
12
  try {
13
- m(i.throw(n));
14
- } catch (u) {
15
- f(u);
13
+ f(i.throw(n));
14
+ } catch (p) {
15
+ r(p);
16
16
  }
17
- }, m = (n) => n.done ? s(n.value) : Promise.resolve(n.value).then(r, d);
18
- m((i = i.apply(w, e)).next());
17
+ }, f = (n) => n.done ? s(n.value) : Promise.resolve(n.value).then(o, u);
18
+ f((i = i.apply(k, e)).next());
19
19
  });
20
20
  import * as t from "three";
21
- import { DigitalStateMachine as S } from "./DigitalStateMachine.js";
22
- import { Trace as L } from "./Trace.js";
23
- const v = 300;
21
+ import { DigitalStateMachine as B } from "./DigitalStateMachine.js";
22
+ import { Trace as S } from "./Trace.js";
23
+ const F = 300;
24
24
  class O {
25
25
  constructor(e, i) {
26
- c(this, "model");
27
- c(this, "keyframesManager");
28
- c(this, "keyframes");
29
- c(this, "items");
30
- c(this, "effects");
31
- c(this, "digitalPlayground");
32
- c(this, "state");
33
- c(this, "animationFrameId");
34
- c(this, "curveLine");
35
- c(this, "effectsGroup");
36
- c(this, "effectObjects");
37
- c(this, "container");
38
- c(this, "mixer");
39
- c(this, "action");
40
- c(this, "itemMatrixMap");
41
- c(this, "trace");
26
+ h(this, "model");
27
+ h(this, "keyframesManager");
28
+ h(this, "keyframes");
29
+ h(this, "items");
30
+ h(this, "effects");
31
+ h(this, "digitalPlayground");
32
+ h(this, "state");
33
+ h(this, "animationFrameId");
34
+ h(this, "curveLine");
35
+ h(this, "effectsGroup");
36
+ h(this, "effectObjects");
37
+ h(this, "container");
38
+ /**
39
+ * 运动轨迹线(curveLine)开关。默认关闭、不绘制、不显示。
40
+ * 仅 debug / 特殊需求时由业务经插件显式开启(见 setTraceVisible)。
41
+ */
42
+ h(this, "showTrace", !1);
43
+ h(this, "mixer");
44
+ h(this, "action");
45
+ h(this, "itemMatrixMap");
46
+ h(this, "trace");
42
47
  // 用于跟踪已处理的needRender keyframeIndex
43
- c(this, "processedNeedRenderKeyframeIndices", /* @__PURE__ */ new Set());
48
+ h(this, "processedNeedRenderKeyframeIndices", /* @__PURE__ */ new Set());
44
49
  // 跟踪已绑定到骨骼的 keyframe 道具(key: itemKey, value: item object)
45
- c(this, "attachedItems", /* @__PURE__ */ new Map());
50
+ h(this, "attachedItems", /* @__PURE__ */ new Map());
46
51
  // 缓存 RightHand 骨骼
47
- c(this, "rightHandBone", null);
52
+ h(this, "rightHandBone", null);
48
53
  // 加法式新增:供外部统一时钟(DigitalPerformanceV2Plugin)驱动时使用的特效贴图缓存。
49
54
  // 不影响既有 play() 路径(play 使用其内部局部 textures 变量)。
50
- c(this, "externalTextures", /* @__PURE__ */ new Map());
51
- this.model = e, this.model.visible = !1, this.model.mixer = null, this.mixer = new t.AnimationMixer(this.model), this.action = null, this.keyframesManager = new S(), this.keyframes = [], this.items = [], this.effects = [], this.digitalPlayground = i, this.state = {
55
+ h(this, "externalTextures", /* @__PURE__ */ new Map());
56
+ this.model = e, this.model.visible = !1, this.model.mixer = null, this.mixer = new t.AnimationMixer(this.model), this.action = null, this.keyframesManager = new B(), this.keyframes = [], this.items = [], this.effects = [], this.digitalPlayground = i, this.state = {
52
57
  currentTime: 0,
53
58
  currentAnimation: null,
54
59
  currentAnimationRepeat: !1,
55
60
  playing: !1
56
- }, this.animationFrameId = null, this.itemMatrixMap = /* @__PURE__ */ new Map(), this.trace = new L(), this.curveLine = new t.Line(), this.curveLine.material = new t.LineBasicMaterial({ color: 14467195, linewidth: 5 }), this.effectsGroup = new t.Group(), this.effectObjects = /* @__PURE__ */ new Map(), this.container = new t.Group(), this.container.add(this.model), this.container.add(this.curveLine), this.container.add(this.effectsGroup);
61
+ }, this.animationFrameId = null, this.itemMatrixMap = /* @__PURE__ */ new Map(), this.trace = new S(), this.curveLine = new t.Line(), this.curveLine.material = new t.LineBasicMaterial({ color: 14467195, linewidth: 5 }), this.curveLine.visible = !1, this.effectsGroup = new t.Group(), this.effectObjects = /* @__PURE__ */ new Map(), this.container = new t.Group(), this.container.add(this.model), this.container.add(this.curveLine), this.container.add(this.effectsGroup);
57
62
  }
58
63
  playAnimation({ animation: e, repeat: i, switchDuration: s }) {
59
- const f = this.action, r = this.mixer.clipAction(e);
60
- r.reset(), i ? (r.setLoop(t.LoopRepeat, 1 / 0), r.clampWhenFinished = !1) : (r.setLoop(t.LoopOnce, 1), r.clampWhenFinished = !0), f && (r.enabled = !0, r.setEffectiveTimeScale(1), r.crossFadeFrom(f, s / 1e3, !0)), r.play(), f && f !== r && setTimeout(() => {
61
- f !== this.action && f.stop();
62
- }, s), this.action = r;
64
+ const r = this.action, o = this.mixer.clipAction(e);
65
+ o.reset(), i ? (o.setLoop(t.LoopRepeat, 1 / 0), o.clampWhenFinished = !1) : (o.setLoop(t.LoopOnce, 1), o.clampWhenFinished = !0), r && (o.enabled = !0, o.setEffectiveTimeScale(1), o.crossFadeFrom(r, s / 1e3, !0)), o.play(), r && r !== o && setTimeout(() => {
66
+ r !== this.action && r.stop();
67
+ }, s), this.action = o;
68
+ }
69
+ /**
70
+ * seek/预览专用:立即「硬切」到目标动画(无 crossfade)。
71
+ *
72
+ * 背景:`playAnimation` 走 `crossFadeFrom(oldAction, switchDuration, true)` 做平滑过渡,依赖后续帧以
73
+ * 正的 delta 推进权重淡入淡出。但 seek/定格帧(delta===0)只做一次 `mixer.update(0)`,零时长的
74
+ * crossfade 不会推进——新动作权重可能仍≈0、旧动作权重仍≈1,且旧动作的 `stop()` 被 `setTimeout(…,0)`
75
+ * 推迟到本帧渲染之后执行。结果:跨动画 seek(如章节末「躺」姿回到起始帧「跑」)时旧姿态残留,
76
+ * 而位置/旋转因是直接拷贝关键帧的、已正确。
77
+ *
78
+ * 这里同步停旧动作、把新动作权重直接置 1,保证随后的 `mixer.update(0)` 立即定格到目标姿态。
79
+ */
80
+ switchAnimationImmediately(e, i) {
81
+ const s = this.action;
82
+ s && s.getClip() !== e && s.stop();
83
+ const r = this.mixer.clipAction(e);
84
+ r.reset(), i ? (r.setLoop(t.LoopRepeat, 1 / 0), r.clampWhenFinished = !1) : (r.setLoop(t.LoopOnce, 1), r.clampWhenFinished = !0), r.enabled = !0, r.setEffectiveTimeScale(1), r.setEffectiveWeight(1), r.play(), this.action = r;
63
85
  }
64
86
  pauseAnimation() {
65
87
  this.action && (this.action.paused = !0), this.animationFrameId && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null), this.state.playing = !1;
@@ -79,78 +101,81 @@ class O {
79
101
  this.state.currentTime = 0, this.keyframes && this.keyframes.length > 0 && (this.model.position.copy(new t.Vector3().fromArray(this.keyframes[0].position)), this.model.quaternion.copy(new t.Quaternion().fromArray(this.keyframes[0].quaternion))), this.model.visible = !1, this.container.visible = !1, this.animationFrameId && cancelAnimationFrame(this.animationFrameId), this.stopAnimation(), this.clearTrace(), this.detachAllKeyframeItems(), this.state.playing = !1;
80
102
  }
81
103
  play(e) {
82
- return T(this, null, function* () {
104
+ return v(this, null, function* () {
83
105
  this.clearProcessedNeedRenderKeyframeIndices();
84
- const { keyframes: i, items: s, effects: f } = e || {};
85
- return this.keyframes = i || this.keyframes, this.items = s || this.items, this.effects = f || this.effects, this.state.currentAnimation = null, this.state.currentAnimationRepeat = !1, this.state.playing = !0, new Promise((r) => {
106
+ const { keyframes: i, items: s, effects: r } = e || {};
107
+ return this.keyframes = i || this.keyframes, this.items = s || this.items, this.effects = r || this.effects, this.state.currentAnimation = null, this.state.currentAnimationRepeat = !1, this.state.playing = !0, new Promise((o) => {
86
108
  this.state.currentTime || this.init();
87
- let d = null;
88
- for (const l of this.items) {
89
- const h = this.digitalPlayground.getDigitalItem(l.model);
90
- if (h) {
109
+ let u = null;
110
+ for (const d of this.items) {
111
+ const l = this.digitalPlayground.getDigitalItem(d.model);
112
+ if (l) {
91
113
  let a = null;
92
- const g = this.model.children[0].children.find((A) => A instanceof t.Bone), p = this.model.children[0].children.find((A) => A instanceof t.SkinnedMesh);
93
- if (!g || !p)
114
+ const g = this.model.children[0].children.find((w) => w instanceof t.Bone), y = this.model.children[0].children.find((w) => w instanceof t.SkinnedMesh);
115
+ if (!g || !y)
94
116
  throw new Error("模型骨骼缺失");
95
- if (this.model.children[0].children[2].traverse((A) => {
96
- A instanceof t.Bone && A.name === "RightHand" && (a = A);
117
+ if (this.model.children[0].children[2].traverse((w) => {
118
+ w instanceof t.Bone && w.name === "RightHand" && (a = w);
97
119
  }), !a)
98
120
  throw new Error("没有找到绑定的骨骼");
99
- a.add(h);
100
- const k = new t.Vector3(), o = new t.Quaternion(), y = new t.Vector3();
101
- new t.Matrix4().fromArray(l.initialMatrix).decompose(k, o, y), h.position.copy(k), h.quaternion.copy(o), h.scale.copy(y), h.updateMatrixWorld(!0);
121
+ a.add(l);
122
+ const m = new t.Vector3(), c = new t.Quaternion(), A = new t.Vector3();
123
+ new t.Matrix4().fromArray(d.initialMatrix).decompose(m, c, A), l.position.copy(m), l.quaternion.copy(c), l.scale.copy(A), l.updateMatrixWorld(!0);
102
124
  }
103
125
  }
104
- const m = /* @__PURE__ */ new Map(), n = new t.TextureLoader();
105
- for (const l of this.effects)
106
- if (l.type === "frameSequence") {
107
- const h = l.keyframes;
108
- for (const a of h)
126
+ const f = /* @__PURE__ */ new Map(), n = new t.TextureLoader();
127
+ for (const d of this.effects)
128
+ if (d.type === "frameSequence") {
129
+ const l = d.keyframes;
130
+ for (const a of l)
109
131
  n.load(a.image, (g) => {
110
- g.name = a.image, m.set(a.image, g);
132
+ g.name = a.image, f.set(a.image, g);
111
133
  });
112
134
  }
113
- const u = (l) => {
114
- var p, k;
115
- d === null && (d = l);
116
- const h = l - d;
117
- d = l, this.state.currentTime += h;
135
+ const p = (d) => {
136
+ var g, y;
137
+ u === null && (u = d);
138
+ const l = d - u;
139
+ u = d, this.state.currentTime += l;
118
140
  const a = this.keyframesManager.getStateByTime(this.state.currentTime, this.keyframes, "model");
119
- this.trace.addPoint(a.translation);
120
- const g = new t.BufferGeometry().setFromPoints(this.trace.tracePoints);
121
- if (this.curveLine.geometry = g, this.model.position.copy(a.translation), this.model.quaternion.copy(a.quaternion), this.model.scale.copy(a.scale), this.model.visible = a.visible, a.isFinal) {
122
- this.model.visible = !1, this.container.visible = !1, this.stopAnimation(), this.model.needsRender = !0, r(!0), this.animationFrameId !== null && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null);
141
+ if (this.showTrace) {
142
+ this.trace.addPoint(a.translation);
143
+ const m = new t.BufferGeometry().setFromPoints(this.trace.tracePoints);
144
+ this.curveLine.geometry = m;
145
+ }
146
+ if (this.model.position.copy(a.translation), this.model.quaternion.copy(a.quaternion), this.model.scale.copy(a.scale), this.model.visible = a.visible, a.isFinal) {
147
+ this.model.visible = !1, this.container.visible = !1, this.stopAnimation(), this.model.needsRender = !0, o(!0), this.animationFrameId !== null && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null);
123
148
  return;
124
149
  } else if (a.animation) {
125
- const o = this.digitalPlayground.getAnimation(a.animation.url), y = a.animation.needRender, I = a.animation.repeat !== this.state.currentAnimationRepeat;
126
- (o !== this.state.currentAnimation || I || y && !this.hasProcessedNeedRenderForTimestamp(a.keyframeIndex)) && (y && o === this.state.currentAnimation && this.markNeedRenderProcessedForTimestamp(a.keyframeIndex), this.state.currentAnimation = o, this.state.currentAnimationRepeat = a.animation.repeat, this.playAnimation({
127
- animation: o,
150
+ const m = this.digitalPlayground.getAnimation(a.animation.url), c = a.animation.needRender, A = a.animation.repeat !== this.state.currentAnimationRepeat;
151
+ (m !== this.state.currentAnimation || A || c && !this.hasProcessedNeedRenderForTimestamp(a.keyframeIndex)) && (c && m === this.state.currentAnimation && this.markNeedRenderProcessedForTimestamp(a.keyframeIndex), this.state.currentAnimation = m, this.state.currentAnimationRepeat = a.animation.repeat, this.playAnimation({
152
+ animation: m,
128
153
  repeat: a.animation.repeat,
129
- switchDuration: (p = a.animation.switchDuration) != null ? p : v
130
- })), this.mixer.update(h / 1e3), a.animation.isOver === !0 && (this.action.paused = !0, this.action.time = this.state.currentAnimation.duration, this.mixer.update(0));
154
+ switchDuration: (g = a.animation.switchDuration) != null ? g : F
155
+ })), this.mixer.update(l / 1e3), a.animation.isOver === !0 && (this.action.paused = !0, this.action.time = this.state.currentAnimation.duration, this.mixer.update(0));
131
156
  }
132
- this.updateKeyframeItems((k = a.animation) == null ? void 0 : k.item);
133
- for (const o of this.items) {
134
- const y = this.digitalPlayground.getDigitalItem(o.model);
135
- y && (this.keyframesManager.getStateByTime(this.state.currentTime, o.keyframes, "item").visible === !0 ? y.visible = !0 : y.visible = !1);
157
+ this.updateKeyframeItems((y = a.animation) == null ? void 0 : y.item);
158
+ for (const m of this.items) {
159
+ const c = this.digitalPlayground.getDigitalItem(m.model);
160
+ c && (this.keyframesManager.getStateByTime(this.state.currentTime, m.keyframes, "item").visible === !0 ? c.visible = !0 : c.visible = !1);
136
161
  }
137
- for (let o = 0; o < this.effects.length; o++) {
138
- const y = this.effects[o];
139
- if (y.type === "frameSequence") {
140
- const I = y.type + o;
141
- if (!this.effectObjects.has(I)) {
142
- const P = new t.PlaneGeometry(1, 1), R = new t.MeshBasicMaterial({
162
+ for (let m = 0; m < this.effects.length; m++) {
163
+ const c = this.effects[m];
164
+ if (c.type === "frameSequence") {
165
+ const A = c.type + m;
166
+ if (!this.effectObjects.has(A)) {
167
+ const M = new t.PlaneGeometry(1, 1), P = new t.MeshBasicMaterial({
143
168
  transparent: !0
144
- }), F = new t.Mesh(P, R);
145
- F.rotateX(-Math.PI / 2), F.position.copy(new t.Vector3().fromArray(y.position)), this.effectObjects.set(I, F), this.effectsGroup.add(F);
169
+ }), T = new t.Mesh(M, P);
170
+ T.rotateX(-Math.PI / 2), T.position.copy(new t.Vector3().fromArray(c.position)), this.effectObjects.set(A, T), this.effectsGroup.add(T);
146
171
  }
147
- const A = this.effectObjects.get(I), M = this.keyframesManager.getStateByTime(this.state.currentTime, this.effects[o].keyframes, "effect"), x = m.get(M.image);
148
- A.material.map = x, A.visible = M.visible;
172
+ const I = this.effectObjects.get(A), w = this.keyframesManager.getStateByTime(this.state.currentTime, this.effects[m].keyframes, "effect"), x = f.get(w.image);
173
+ I.material.map = x, I.visible = w.visible;
149
174
  }
150
175
  }
151
- this.model.needsRender = !0, this.animationFrameId = requestAnimationFrame(u);
176
+ this.model.needsRender = !0, this.animationFrameId = requestAnimationFrame(p);
152
177
  };
153
- this.animationFrameId && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null), this.animationFrameId = requestAnimationFrame(u);
178
+ this.animationFrameId && (cancelAnimationFrame(this.animationFrameId), this.animationFrameId = null), this.animationFrameId = requestAnimationFrame(p);
154
179
  });
155
180
  });
156
181
  }
@@ -161,30 +186,30 @@ class O {
161
186
  */
162
187
  prepareExternalDrive(e) {
163
188
  this.clearProcessedNeedRenderKeyframeIndices();
164
- const { keyframes: i, items: s, effects: f } = e || {};
165
- this.keyframes = i || this.keyframes, this.items = s || this.items, this.effects = f || this.effects, this.state.currentAnimation = null, this.state.currentAnimationRepeat = !1, this.state.playing = !0, this.keyframes.length > 0 && !this.state.currentTime && this.init();
166
- for (const d of this.items) {
167
- const m = this.digitalPlayground.getDigitalItem(d.model);
168
- if (m) {
189
+ const { keyframes: i, items: s, effects: r } = e || {};
190
+ this.keyframes = i || this.keyframes, this.items = s || this.items, this.effects = r || this.effects, this.state.currentAnimation = null, this.state.currentAnimationRepeat = !1, this.state.playing = !0, this.keyframes.length > 0 && !this.state.currentTime && this.init();
191
+ for (const u of this.items) {
192
+ const f = this.digitalPlayground.getDigitalItem(u.model);
193
+ if (f) {
169
194
  let n = null;
170
- const u = this.model.children[0].children.find((p) => p instanceof t.Bone), l = this.model.children[0].children.find((p) => p instanceof t.SkinnedMesh);
171
- if (!u || !l)
195
+ const p = this.model.children[0].children.find((y) => y instanceof t.Bone), d = this.model.children[0].children.find((y) => y instanceof t.SkinnedMesh);
196
+ if (!p || !d)
172
197
  throw new Error("模型骨骼缺失");
173
- if (this.model.children[0].children[2].traverse((p) => {
174
- p instanceof t.Bone && p.name === "RightHand" && (n = p);
198
+ if (this.model.children[0].children[2].traverse((y) => {
199
+ y instanceof t.Bone && y.name === "RightHand" && (n = y);
175
200
  }), !n)
176
201
  throw new Error("没有找到绑定的骨骼");
177
- n.add(m);
178
- const h = new t.Vector3(), a = new t.Quaternion(), g = new t.Vector3();
179
- new t.Matrix4().fromArray(d.initialMatrix).decompose(h, a, g), m.position.copy(h), m.quaternion.copy(a), m.scale.copy(g), m.updateMatrixWorld(!0);
202
+ n.add(f);
203
+ const l = new t.Vector3(), a = new t.Quaternion(), g = new t.Vector3();
204
+ new t.Matrix4().fromArray(u.initialMatrix).decompose(l, a, g), f.position.copy(l), f.quaternion.copy(a), f.scale.copy(g), f.updateMatrixWorld(!0);
180
205
  }
181
206
  }
182
- const r = new t.TextureLoader();
183
- for (const d of this.effects)
184
- if (d.type === "frameSequence")
185
- for (const m of d.keyframes)
186
- m.image && r.load(m.image, (n) => {
187
- n.name = m.image, this.externalTextures.set(m.image, n);
207
+ const o = new t.TextureLoader();
208
+ for (const u of this.effects)
209
+ if (u.type === "frameSequence")
210
+ for (const f of u.keyframes)
211
+ f.image && o.load(f.image, (n) => {
212
+ n.name = f.image, this.externalTextures.set(f.image, n);
188
213
  });
189
214
  }
190
215
  /**
@@ -194,51 +219,58 @@ class O {
194
219
  * @param delta 距上一帧的时间增量(ms),用于推进骨骼动画 mixer
195
220
  */
196
221
  renderAtTime(e, i) {
197
- var f, r, d, m;
222
+ var r, o, u, f;
198
223
  this.state.currentTime = e;
199
224
  const s = this.keyframesManager.getStateByTime(e, this.keyframes, "model");
200
- if (this.trace.addPoint(s.translation), this.curveLine.geometry = new t.BufferGeometry().setFromPoints(this.trace.tracePoints), this.model.position.copy(s.translation), this.model.quaternion.copy(s.quaternion), this.model.scale.copy(s.scale), s.isFinal) {
225
+ if (this.showTrace && (this.trace.addPoint(s.translation), this.curveLine.geometry = new t.BufferGeometry().setFromPoints(this.trace.tracePoints)), this.model.position.copy(s.translation), this.model.quaternion.copy(s.quaternion), this.model.scale.copy(s.scale), s.isFinal) {
201
226
  this.model.visible = !1, this.container.visible = !1, this.model.needsRender = !0;
202
227
  return;
203
228
  }
204
229
  if (this.container.visible = !0, this.model.visible = s.visible, s.animation) {
205
- const n = this.digitalPlayground.getAnimation(s.animation.url), u = s.animation.needRender, l = s.animation.repeat !== this.state.currentAnimationRepeat, h = i === 0;
206
- if ((n !== this.state.currentAnimation || l || u && !this.hasProcessedNeedRenderForTimestamp(s.keyframeIndex)) && (u && n === this.state.currentAnimation && this.markNeedRenderProcessedForTimestamp(s.keyframeIndex), this.state.currentAnimation = n, this.state.currentAnimationRepeat = s.animation.repeat, this.playAnimation({
230
+ const n = this.digitalPlayground.getAnimation(s.animation.url), p = s.animation.needRender, d = s.animation.repeat !== this.state.currentAnimationRepeat, l = i === 0;
231
+ if ((n !== this.state.currentAnimation || d || p && !this.hasProcessedNeedRenderForTimestamp(s.keyframeIndex)) && (p && n === this.state.currentAnimation && this.markNeedRenderProcessedForTimestamp(s.keyframeIndex), this.state.currentAnimation = n, this.state.currentAnimationRepeat = s.animation.repeat, l ? this.switchAnimationImmediately(n, s.animation.repeat) : this.playAnimation({
207
232
  animation: n,
208
233
  repeat: s.animation.repeat,
209
- // seek 时不做淡入淡出(淡入靠 delta 推进,seek 下不会进展,会得到错误姿态)
210
- switchDuration: h ? 0 : (f = s.animation.switchDuration) != null ? f : v
211
- })), h) {
234
+ switchDuration: (r = s.animation.switchDuration) != null ? r : F
235
+ })), l) {
212
236
  const g = this.state.currentAnimation;
213
237
  if (this.action && g) {
214
- const p = (d = (r = this.keyframes[s.keyframeIndex]) == null ? void 0 : r.timeStamp) != null ? d : 0, k = Math.max(0, (e - p) / 1e3), o = g.duration || 0, y = s.animation.repeat && o > 0 ? k % o : Math.min(k, o);
215
- this.action.paused = !1, this.action.time = y, this.mixer.update(0), this.action.paused = !0;
238
+ const y = (u = (o = this.keyframes[s.keyframeIndex]) == null ? void 0 : o.timeStamp) != null ? u : 0, m = Math.max(0, (e - y) / 1e3), c = g.duration || 0, A = s.animation.repeat && c > 0 ? m % c : Math.min(m, c);
239
+ this.action.paused = !1, this.action.time = A, this.mixer.update(0), this.action.paused = !0;
216
240
  }
217
241
  } else
218
242
  this.action && (this.action.paused = !1), this.mixer.update(i / 1e3), s.animation.isOver === !0 && (this.action.paused = !0, this.action.time = this.state.currentAnimation.duration, this.mixer.update(0));
219
243
  }
220
- this.updateKeyframeItems((m = s.animation) == null ? void 0 : m.item);
244
+ this.updateKeyframeItems((f = s.animation) == null ? void 0 : f.item);
221
245
  for (const n of this.items) {
222
- const u = this.digitalPlayground.getDigitalItem(n.model);
223
- if (u) {
224
- const l = this.keyframesManager.getStateByTime(e, n.keyframes, "item");
225
- u.visible = l.visible === !0;
246
+ const p = this.digitalPlayground.getDigitalItem(n.model);
247
+ if (p) {
248
+ const d = this.keyframesManager.getStateByTime(e, n.keyframes, "item");
249
+ p.visible = d.visible === !0;
226
250
  }
227
251
  }
228
252
  for (let n = 0; n < this.effects.length; n++) {
229
- const u = this.effects[n];
230
- if (u.type === "frameSequence") {
231
- const l = u.type + n;
232
- if (!this.effectObjects.has(l)) {
233
- const p = new t.PlaneGeometry(1, 1), k = new t.MeshBasicMaterial({ transparent: !0 }), o = new t.Mesh(p, k);
234
- o.rotateX(-Math.PI / 2), o.position.copy(new t.Vector3().fromArray(u.position)), this.effectObjects.set(l, o), this.effectsGroup.add(o);
253
+ const p = this.effects[n];
254
+ if (p.type === "frameSequence") {
255
+ const d = p.type + n;
256
+ if (!this.effectObjects.has(d)) {
257
+ const y = new t.PlaneGeometry(1, 1), m = new t.MeshBasicMaterial({ transparent: !0 }), c = new t.Mesh(y, m);
258
+ c.rotateX(-Math.PI / 2), c.position.copy(new t.Vector3().fromArray(p.position)), this.effectObjects.set(d, c), this.effectsGroup.add(c);
235
259
  }
236
- const h = this.effectObjects.get(l), a = this.keyframesManager.getStateByTime(e, this.effects[n].keyframes, "effect"), g = this.externalTextures.get(a.image);
237
- h.material.map = g, h.visible = a.visible;
260
+ const l = this.effectObjects.get(d), a = this.keyframesManager.getStateByTime(e, this.effects[n].keyframes, "effect"), g = this.externalTextures.get(a.image);
261
+ l.material.map = g, l.visible = a.visible;
238
262
  }
239
263
  }
240
264
  this.model.needsRender = !0;
241
265
  }
266
+ /**
267
+ * 运动轨迹线开关(默认关闭、不显示)。仅 debug / 特殊需求由业务显式开启。
268
+ * - 开启:显示 curveLine,并回填当前时间点之前的轨迹(此后每帧继续累积)。
269
+ * - 关闭:隐藏并清空轨迹几何。
270
+ */
271
+ setTraceVisible(e) {
272
+ this.showTrace = e, this.curveLine.visible = e, e ? this.traceUpDate() : this.clearTrace();
273
+ }
242
274
  // 用于分段时 更新轨迹
243
275
  traceUpDate() {
244
276
  this.trace.clear();
@@ -276,16 +308,16 @@ class O {
276
308
  }
277
309
  // 根据当前帧的 items 动态绑定/解绑道具
278
310
  updateKeyframeItems(e) {
279
- var f;
311
+ var r;
280
312
  const i = (e == null ? void 0 : e.url) || null;
281
- for (const [r, d] of this.attachedItems)
282
- i !== r && ((f = d.parent) == null || f.remove(d), this.attachedItems.delete(r));
313
+ for (const [o, u] of this.attachedItems)
314
+ i !== o && ((r = u.parent) == null || r.remove(u), this.attachedItems.delete(o));
283
315
  if (!i)
284
316
  return;
285
317
  const s = this.getRightHandBone();
286
318
  if (s && !this.attachedItems.has(i)) {
287
- const r = this.digitalPlayground.getDigitalItem(i);
288
- r && (s.add(r), this.attachedItems.set(i, r));
319
+ const o = this.digitalPlayground.getDigitalItem(i);
320
+ o && (s.add(o), this.attachedItems.set(i, o));
289
321
  }
290
322
  }
291
323
  // 解绑所有 keyframe 道具
@@ -10,6 +10,8 @@ export declare class DigitalPlayground {
10
10
  private digitalItemMap;
11
11
  private skeletalAnimationMap;
12
12
  private debugMode;
13
+ /** 运动轨迹线开关(默认关闭)。应用到已加载及后续加载的所有 DigitalHuman。 */
14
+ private showTrace;
13
15
  constructor(debugMode?: boolean);
14
16
  setScript(script: DigitalScript): void;
15
17
  loadModel(url: string, id?: string): Promise<DigitalHuman>;
@@ -32,6 +34,11 @@ export declare class DigitalPlayground {
32
34
  continue(): void;
33
35
  reset(): void;
34
36
  setTimelineTo(time: number): void;
37
+ /**
38
+ * 运动轨迹线开关(默认关闭)。作用于当前所有 DigitalHuman,并记忆给后续加载的模型。
39
+ * 仅 debug / 特殊需求由业务经插件显式开启。
40
+ */
41
+ setTraceVisible(visible: boolean): void;
35
42
  /**
36
43
  * 销毁 playground
37
44
  */