@realsee/dnalogel 2.19.1 → 2.20.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/dist/PanoTagPlugin/Archive/deprecated.d.ts +4 -1
  2. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +12 -12
  3. package/dist/PanoTagPlugin/controller/TagRender.d.ts +5 -5
  4. package/dist/PanoTagPlugin/controller/TagUtil.d.ts +20 -20
  5. package/dist/PanoTagPlugin/controller/index.d.ts +7 -7
  6. package/dist/PanoTagPlugin/typings/controller.d.ts +9 -13
  7. package/dist/PanoTagPlugin/typings/index.d.ts +2 -1
  8. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +6 -8
  9. package/dist/PanoTagPlugin/typings/tag/TagConfig.d.ts +17 -18
  10. package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +2 -1
  11. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +11 -7
  12. package/dist/PanoTagPlugin/utils/model/mediaPlane.d.ts +4 -4
  13. package/dist/PanoTagPlugin/utils/resizeObserver.d.ts +1 -1
  14. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +11 -11
  15. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
  16. package/dist/index.cjs.js +39 -39
  17. package/dist/index.js +661 -658
  18. package/dist/index.umd.js +32 -32
  19. package/docs/assets/search.js +1 -1
  20. package/docs/classes/CSS3DRender.html +39 -37
  21. package/docs/classes/CruisePluginController.html +34 -32
  22. package/docs/classes/GuideLineItem.GuideLineItem.html +28 -26
  23. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +39 -37
  24. package/docs/classes/Magnifier.html +28 -26
  25. package/docs/classes/ModelRoomLabelController.html +19 -17
  26. package/docs/classes/Object3DHelperController.html +33 -31
  27. package/docs/classes/PaintBrush.html +23 -21
  28. package/docs/classes/PanoMeasurePluginLine.html +31 -29
  29. package/docs/classes/PanoMeasurePluginModel.html +30 -28
  30. package/docs/classes/PanoMeasurePluginPoint.html +22 -20
  31. package/docs/classes/PanoMeasurePluginPolyline.html +34 -32
  32. package/docs/classes/PanoTagPluginController.html +80 -78
  33. package/docs/classes/Util.BetterTween.html +17 -15
  34. package/docs/classes/Util.FivePointSelector.html +20 -18
  35. package/docs/classes/Util.Interval.html +20 -18
  36. package/docs/classes/Util.Magnifier.html +25 -23
  37. package/docs/classes/Util.PointDomHelper.html +19 -17
  38. package/docs/classes/Util.PointHelper.html +19 -17
  39. package/docs/classes/Util.Rectangle.html +21 -19
  40. package/docs/enums/CameraMovementEffect.html +15 -13
  41. package/docs/enums/ContentType.html +63 -57
  42. package/docs/enums/DIRECTION.html +17 -15
  43. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +17 -15
  44. package/docs/enums/DimensionType.html +15 -13
  45. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +16 -14
  46. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +17 -15
  47. package/docs/enums/PaintBrushTypeEnum.html +16 -14
  48. package/docs/enums/PointType.html +385 -0
  49. package/docs/enums/Rotation.html +16 -14
  50. package/docs/functions/CSS3DRenderPlugin.html +12 -10
  51. package/docs/functions/CameraMovementPlugin.html +12 -10
  52. package/docs/functions/CruisePlugin.html +12 -10
  53. package/docs/functions/GuideLinePlugin.html +13 -11
  54. package/docs/functions/ItemLabelPlugin.html +12 -10
  55. package/docs/functions/MapviewFloorplanPlugin.html +12 -10
  56. package/docs/functions/ModelChassisCompassPlugin.html +12 -10
  57. package/docs/functions/ModelEntryDoorGuidePlugin.html +12 -10
  58. package/docs/functions/ModelFloorplanPlugin.html +12 -10
  59. package/docs/functions/ModelItemLabelPlugin.html +12 -10
  60. package/docs/functions/ModelRoomLabelPlugin.html +12 -10
  61. package/docs/functions/ModelTVVideoPlugin.html +12 -10
  62. package/docs/functions/ModelViewPlugin.html +12 -10
  63. package/docs/functions/Object3DHelperPlugin.html +12 -10
  64. package/docs/functions/PanoCompassPlugin.html +12 -10
  65. package/docs/functions/PanoCursorRaycasterPlugin.html +12 -10
  66. package/docs/functions/PanoDoorLabelPlugin.html +12 -10
  67. package/docs/functions/PanoFloorplanRadarPlugin.html +12 -10
  68. package/docs/functions/PanoMeasurePlugin.html +12 -10
  69. package/docs/functions/PanoRulerPlugin.html +12 -10
  70. package/docs/functions/PanoRulerProPlugin.html +12 -10
  71. package/docs/functions/PanoSpatialTagPlugin.html +12 -10
  72. package/docs/functions/PanoTagPlugin.html +12 -10
  73. package/docs/functions/PanoVideoPlugin.html +12 -10
  74. package/docs/functions/TopviewFloorplanPlugin.html +12 -10
  75. package/docs/functions/Util.getCoordsFromClient.html +13 -11
  76. package/docs/functions/Util.getCoordsFromElement.html +13 -11
  77. package/docs/functions/Util.getFrameTime.html +13 -11
  78. package/docs/functions/Util.getIntersectFromRelativePosition.html +13 -11
  79. package/docs/functions/Util.getRaycasterFromFivePointer.html +13 -11
  80. package/docs/functions/Util.isAbsoluteURL.html +13 -11
  81. package/docs/functions/Util.isModelLike.html +13 -11
  82. package/docs/functions/Util.isNil.html +13 -11
  83. package/docs/functions/Util.isPanoramaLike.html +13 -11
  84. package/docs/functions/Util.nextFrame.html +13 -11
  85. package/docs/functions/Util.notNil.html +13 -11
  86. package/docs/functions/Util.requestAnimationFrameInterval.html +13 -11
  87. package/docs/functions/Util.tweenProgress.html +13 -11
  88. package/docs/functions/Util.uuid.html +13 -11
  89. package/docs/functions/pluginFlag.html +13 -11
  90. package/docs/index.html +13 -11
  91. package/docs/interfaces/AddTagConfig.html +14 -12
  92. package/docs/interfaces/CSS3DRenderPluginEventMap.html +19 -17
  93. package/docs/interfaces/CSS3DRenderPluginState.html +16 -14
  94. package/docs/interfaces/CameraMovementPluginExportType.html +15 -13
  95. package/docs/interfaces/CruisePluginTypes.Config.html +16 -14
  96. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +20 -18
  97. package/docs/interfaces/CruisePluginTypes.EventMap.html +28 -26
  98. package/docs/interfaces/CruisePluginTypes.MoveAction.html +20 -18
  99. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +22 -20
  100. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +22 -20
  101. package/docs/interfaces/CruisePluginTypes.PluginData.html +17 -15
  102. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +15 -13
  103. package/docs/interfaces/CruisePluginTypes.PluginState.html +19 -17
  104. package/docs/interfaces/EventMap.html +25 -23
  105. package/docs/interfaces/FloorplanBounding.html +16 -14
  106. package/docs/interfaces/FloorplanData.html +18 -16
  107. package/docs/interfaces/FloorplanEntrance.html +19 -17
  108. package/docs/interfaces/FloorplanExtraObject.html +18 -16
  109. package/docs/interfaces/FloorplanExtraObject3D.html +16 -14
  110. package/docs/interfaces/FloorplanFloorData.html +17 -15
  111. package/docs/interfaces/FloorplanImagePosition.html +15 -13
  112. package/docs/interfaces/FloorplanObserver.html +17 -15
  113. package/docs/interfaces/FloorplanOutlineItem.html +17 -15
  114. package/docs/interfaces/FloorplanPosition.html +15 -13
  115. package/docs/interfaces/FloorplanRoomItem.html +21 -19
  116. package/docs/interfaces/FloorplanRoomLabelItem.html +15 -13
  117. package/docs/interfaces/FloorplanServerBounding.html +16 -14
  118. package/docs/interfaces/FloorplanServerComputedData.html +18 -16
  119. package/docs/interfaces/FloorplanServerData.html +15 -13
  120. package/docs/interfaces/FloorplanServerDoorItem.html +18 -16
  121. package/docs/interfaces/FloorplanServerDoorPosition.html +16 -14
  122. package/docs/interfaces/FloorplanServerEntrance.html +19 -17
  123. package/docs/interfaces/FloorplanServerFloorData.html +17 -15
  124. package/docs/interfaces/FloorplanServerImagePosition.html +15 -13
  125. package/docs/interfaces/FloorplanServerObserver.html +17 -15
  126. package/docs/interfaces/FloorplanServerOutlineItem.html +17 -15
  127. package/docs/interfaces/FloorplanServerPosition.html +15 -13
  128. package/docs/interfaces/FloorplanServerRoomItem.html +22 -20
  129. package/docs/interfaces/FloorplanServerRoomLabelItem.html +15 -13
  130. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +16 -14
  131. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +18 -16
  132. package/docs/interfaces/GuideLinePluginType.EventMap.html +21 -19
  133. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +16 -14
  134. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +14 -12
  135. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +21 -19
  136. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +16 -14
  137. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +26 -24
  138. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +15 -13
  139. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +26 -24
  140. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +13 -11
  141. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +15 -13
  142. package/docs/interfaces/GuideLinePluginType.PluginState.html +16 -14
  143. package/docs/interfaces/GuideLinePluginType.Route.html +19 -17
  144. package/docs/interfaces/GuideLinePluginType.RouteConfig.html +17 -15
  145. package/docs/interfaces/HelperOffset.html +16 -14
  146. package/docs/interfaces/ImagePlaneGroup.html +14 -12
  147. package/docs/interfaces/ItemLabelPluginData.html +14 -12
  148. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +19 -17
  149. package/docs/interfaces/ItemLabelPluginParametersType.html +17 -15
  150. package/docs/interfaces/MinMax.html +15 -13
  151. package/docs/interfaces/ModelChassisCompassPluginData.html +15 -13
  152. package/docs/interfaces/ModelChassisCompassPluginExportType.html +16 -14
  153. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +15 -13
  154. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +16 -14
  155. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +16 -14
  156. package/docs/interfaces/ModelItemLabelPluginData.html +14 -12
  157. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +19 -17
  158. package/docs/interfaces/ModelItemLabelPluginParametersType.html +15 -13
  159. package/docs/interfaces/ModelRoomLabelPluginData.html +14 -12
  160. package/docs/interfaces/ModelTVVideoPluginData.html +17 -15
  161. package/docs/interfaces/ModelTVVideoPluginExportType.html +16 -14
  162. package/docs/interfaces/ModelTVVideoPluginParameterType.html +14 -12
  163. package/docs/interfaces/ModelViewPluginExportType.html +19 -17
  164. package/docs/interfaces/Object3DHelperState.html +16 -14
  165. package/docs/interfaces/ObjectHelperControllers.html +17 -15
  166. package/docs/interfaces/PaintBrushAction.html +20 -18
  167. package/docs/interfaces/PaintBrushConfigs.html +20 -18
  168. package/docs/interfaces/PaintBrushState.html +18 -16
  169. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +18 -16
  170. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +13 -11
  171. package/docs/interfaces/PanoMeasureParameterType.html +22 -20
  172. package/docs/interfaces/PanoMeasurePluginLineJson.html +16 -14
  173. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +15 -13
  174. package/docs/interfaces/PanoMeasurePluginPointJson.html +15 -13
  175. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +16 -14
  176. package/docs/interfaces/PanoRulerPluginExportType.html +18 -16
  177. package/docs/interfaces/PanoRulerPluginOptions.html +15 -13
  178. package/docs/interfaces/PanoRulerPluginParameterType.html +16 -14
  179. package/docs/interfaces/PanoRulerProPluginExportType.html +17 -15
  180. package/docs/interfaces/PanoRulerProPluginOptions.html +15 -13
  181. package/docs/interfaces/PanoRulerProPluginParameterType.html +15 -13
  182. package/docs/interfaces/PanoRulerProPluginState.html +16 -14
  183. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +13 -11
  184. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +13 -11
  185. package/docs/interfaces/PanoSpatialTagPluginData.html +19 -17
  186. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +18 -16
  187. package/docs/interfaces/PanoSpatialTagPluginExportType.html +21 -19
  188. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +18 -16
  189. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +21 -19
  190. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +19 -17
  191. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +18 -16
  192. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +14 -12
  193. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +16 -14
  194. package/docs/interfaces/PanoVideoPluginType.PluginData.html +14 -12
  195. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +17 -15
  196. package/docs/interfaces/PanoVideoPluginType.PluginState.html +14 -12
  197. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +16 -14
  198. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +18 -16
  199. package/docs/interfaces/Point.html +16 -14
  200. package/docs/interfaces/Room.html +17 -15
  201. package/docs/interfaces/RoomInfo.html +15 -13
  202. package/docs/interfaces/RoomLabel.html +22 -20
  203. package/docs/interfaces/RoomRules.html +13 -11
  204. package/docs/interfaces/Rooms.html +13 -11
  205. package/docs/interfaces/Scissor.html +17 -15
  206. package/docs/interfaces/State.html +16 -14
  207. package/docs/interfaces/TagCacheInterface.html +20 -18
  208. package/docs/interfaces/TagConfig.html +26 -26
  209. package/docs/interfaces/TagGLTFObjectGroup.html +14 -12
  210. package/docs/interfaces/TagIconUrl.html +20 -18
  211. package/docs/interfaces/TagObjectGroup.html +14 -12
  212. package/docs/interfaces/TagStyle.html +14 -12
  213. package/docs/interfaces/Tags.html +120 -118
  214. package/docs/interfaces/TemporaryState.html +14 -12
  215. package/docs/interfaces/Util.MagnifierParameter.html +19 -17
  216. package/docs/interfaces/Util.MouseGroupParameter.html +16 -14
  217. package/docs/modules/CruisePluginTypes.html +13 -11
  218. package/docs/modules/GuideLineItem.html +13 -11
  219. package/docs/modules/GuideLineModeItem.html +13 -11
  220. package/docs/modules/GuideLinePluginType.html +13 -11
  221. package/docs/modules/PanoVideoPluginType.html +13 -11
  222. package/docs/modules/Util.html +13 -11
  223. package/docs/modules.html +22 -18
  224. package/docs/types/ArrayPosition.html +13 -11
  225. package/docs/types/AudioAppearance.html +14 -12
  226. package/docs/types/AudioTagTypeConfigKey.html +13 -11
  227. package/docs/types/CSS3DRenderExportType.html +13 -11
  228. package/docs/types/CSS3DRenderPluginExportType.html +13 -11
  229. package/docs/types/CSS3DRenderPluginParameterType.html +13 -11
  230. package/docs/types/ClassFunctionParameters.html +13 -11
  231. package/docs/types/Color.html +13 -11
  232. package/docs/types/ContentTypeConfigKey.html +13 -11
  233. package/docs/types/ContentTypeConfigKeySplit.html +13 -11
  234. package/docs/types/ContentTypeMap.html +13 -11
  235. package/docs/types/Create3DDomContainerReturnType.html +13 -11
  236. package/docs/types/Create3DElementReturnType.html +13 -11
  237. package/docs/types/CruisePluginExportType.html +13 -11
  238. package/docs/types/CruisePluginTypes.CruiseData.html +13 -11
  239. package/docs/types/CruisePluginTypes.MoveEffect.html +13 -11
  240. package/docs/types/{Point2DElement.html → DeprecatedMediaPlaneProperty.html} +28 -19
  241. package/docs/types/{Point3DElement.html → DeprecatedTagProperty.html} +31 -19
  242. package/docs/types/Direction-1.html +13 -11
  243. package/docs/types/Direction4.html +13 -11
  244. package/docs/types/ElementRenderer.html +13 -11
  245. package/docs/types/FloorplanRuleLabels.html +13 -11
  246. package/docs/types/FloorplanServerRuleLabels.html +13 -11
  247. package/docs/types/GuideLinePluginExportType.html +13 -11
  248. package/docs/types/GuideLinePluginType.GuideLineItem.html +13 -11
  249. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +13 -11
  250. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +13 -11
  251. package/docs/types/GuideLinePluginType.GuideLineStyle.html +13 -11
  252. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +13 -11
  253. package/docs/types/GuideLinePluginType.PathItem.html +13 -11
  254. package/docs/types/GuideLinePluginType.PluginData.html +13 -11
  255. package/docs/types/HelperEventMap.html +13 -11
  256. package/docs/types/LoadTagConfig.html +13 -11
  257. package/docs/types/MapviewFloorplanPluginParameterType.html +13 -11
  258. package/docs/types/MapviewFloorplanPluginReturnType.html +13 -11
  259. package/docs/types/MediaData.html +13 -11
  260. package/docs/types/MediaStore.html +13 -11
  261. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +13 -11
  262. package/docs/types/ModelFloorplanPluginParameterType.html +13 -11
  263. package/docs/types/ModelFloorplanPluginReturnType.html +13 -11
  264. package/docs/types/ModelRoomLabelPluginParameters.html +13 -11
  265. package/docs/types/ModelRoomLabelPluginReturnType.html +13 -11
  266. package/docs/types/MoveArgs.html +13 -11
  267. package/docs/types/MoveOpts.html +13 -11
  268. package/docs/types/Object3DHelperEventMap.html +13 -11
  269. package/docs/types/ObjectFit.html +13 -11
  270. package/docs/types/PaintBrushEventMap.html +13 -11
  271. package/docs/types/PanoCompassPluginData.html +13 -11
  272. package/docs/types/PanoCompassPluginExportType.html +13 -11
  273. package/docs/types/PanoCompassPluginParameterType.html +13 -11
  274. package/docs/types/PanoFloorplanRadarPluginParameterType.html +13 -11
  275. package/docs/types/PanoFloorplanRadarPluginReturnType.html +13 -11
  276. package/docs/types/PanoIndex.html +13 -11
  277. package/docs/types/PanoMeasurePluginEvent.html +13 -11
  278. package/docs/types/PanoMeasureReturnType.html +13 -11
  279. package/docs/types/PanoSpatialTagPluginId.html +13 -11
  280. package/docs/types/PanoTagPluginExportInterface.html +13 -11
  281. package/docs/types/PanoTagPluginParamsInterface.html +13 -11
  282. package/docs/types/PanoVideoPluginParameterType.html +13 -11
  283. package/docs/types/PanoVideoPluginReturnType.html +13 -11
  284. package/docs/types/{PlaneTagElement.html → PartialObjectDeep.html} +17 -15
  285. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +14 -12
  286. package/docs/types/PlaneTag.html +14 -12
  287. package/docs/types/Point2DTag.html +14 -12
  288. package/docs/types/Point3DTag.html +14 -12
  289. package/docs/types/PointTag.html +14 -12
  290. package/docs/types/{PointTagElement.html → PointTagInstance.html} +16 -14
  291. package/docs/types/Position.html +13 -11
  292. package/docs/types/RotateArgs.html +13 -11
  293. package/docs/types/RotateOpts.html +13 -11
  294. package/docs/types/RuleLabelsKey.html +13 -11
  295. package/docs/types/RuleLabelsValue.html +13 -11
  296. package/docs/types/StickType.html +13 -11
  297. package/docs/types/Tag.html +14 -12
  298. package/docs/types/Tag2D.html +13 -11
  299. package/docs/types/Tag3D.html +13 -11
  300. package/docs/types/TagContentType.html +13 -11
  301. package/docs/types/TagDimensionType.html +13 -11
  302. package/docs/types/TagElement.html +17 -12
  303. package/docs/types/TagEvents.html +13 -11
  304. package/docs/types/TagGLTFObject.html +13 -11
  305. package/docs/types/TagHooks.html +13 -11
  306. package/docs/types/TagIconSize.html +13 -11
  307. package/docs/types/TagId.html +13 -11
  308. package/docs/types/TagInstance.html +361 -0
  309. package/docs/types/{ModelElement.html → TagPointType.html} +19 -19
  310. package/docs/types/TopviewFloorplanPluginParameterType.html +13 -11
  311. package/docs/types/TopviewFloorplanPluginReturnType.html +13 -11
  312. package/docs/types/WorkCode.html +13 -11
  313. package/docs/variables/FLOOR_TYPE_MAP.html +13 -11
  314. package/docs/variables/PLUGIN.html +13 -11
  315. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +13 -11
  316. package/docs/variables/ROOM_TYPE_MAP.html +13 -11
  317. package/docs/variables/itemLabelPluginServerParams.html +13 -11
  318. package/docs/variables/modelItemLabelPluginServerParams.html +13 -11
  319. package/docs/variables/modelRoomLabelPluginServerParams.html +13 -11
  320. package/libs/CruisePlugin/Controller.js +74 -74
  321. package/libs/GuideLinePlugin/Controller.js +7 -7
  322. package/libs/PanoTagPlugin/Archive/deprecated.d.ts +4 -1
  323. package/libs/PanoTagPlugin/Components/TagItem.js +30 -30
  324. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +12 -12
  325. package/libs/PanoTagPlugin/controller/TagComputer.js +27 -27
  326. package/libs/PanoTagPlugin/controller/TagRender.d.ts +5 -5
  327. package/libs/PanoTagPlugin/controller/TagRender.js +7 -5
  328. package/libs/PanoTagPlugin/controller/TagUtil.d.ts +20 -20
  329. package/libs/PanoTagPlugin/controller/TagUtil.js +16 -19
  330. package/libs/PanoTagPlugin/controller/index.d.ts +7 -7
  331. package/libs/PanoTagPlugin/controller/index.js +1 -1
  332. package/libs/PanoTagPlugin/index.js +6 -4
  333. package/libs/PanoTagPlugin/typings/controller.d.ts +9 -13
  334. package/libs/PanoTagPlugin/typings/index.d.ts +2 -1
  335. package/libs/PanoTagPlugin/typings/index.js +6 -4
  336. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +6 -8
  337. package/libs/PanoTagPlugin/typings/tag/Tag.js +1 -4
  338. package/libs/PanoTagPlugin/typings/tag/TagConfig.d.ts +17 -18
  339. package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +2 -1
  340. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +11 -7
  341. package/libs/PanoTagPlugin/utils/model/mediaPlane.d.ts +4 -4
  342. package/libs/PanoTagPlugin/utils/planeNormal.js +5 -5
  343. package/libs/PanoTagPlugin/utils/resizeObserver.d.ts +1 -1
  344. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +11 -11
  345. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +2 -2
  346. package/libs/base/BasePlugin.js +3 -3
  347. package/libs/index.js +19 -17
  348. package/libs/shared-utils/logger.js +1 -1
  349. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import type { StickType, TagContentType, TagInstance } from '../typings';
1
2
  /** @deprecated 改用具体的string */
2
3
  export declare enum PointType {
3
4
  PointTag = "PointTag",
@@ -16,7 +17,9 @@ export type DeprecatedTagProperty = {
16
17
  export type DeprecatedMediaPlaneProperty = {
17
18
  /**
18
19
  * @description stretch: 拉伸适配, proportional: 等比适配,默认值 'proportional'
19
- * @deprecated replaced by objectFit
20
+ * @deprecated Use {@link ObjectFit} instead
20
21
  */
21
22
  adaptationMode?: 'stretch' | 'proportional';
22
23
  };
24
+ /** @deprecated Use {@link TagInstance} instead */
25
+ export type TagElement<C extends TagContentType = TagContentType, S extends StickType = StickType> = TagInstance<C, S>;
@@ -1,6 +1,6 @@
1
1
  import type { Five, Mode } from '@realsee/five';
2
2
  import * as THREE from 'three';
3
- import type { Tag, TagElement } from '../typings';
3
+ import type { TagInstance } from '../typings';
4
4
  import type { Raycaster } from 'three';
5
5
  import { TagUtil } from './TagUtil';
6
6
  export declare abstract class TagComputer extends TagUtil {
@@ -9,25 +9,25 @@ export declare abstract class TagComputer extends TagUtil {
9
9
  /**
10
10
  * @description: 获取是否可见
11
11
  */
12
- getVisibleByPanoIndex(tag: Tag<any, any>, panoIndex?: number): boolean;
13
- getVisibleByFiveMode(tag: TagElement<any, any>, mode?: Mode): boolean;
12
+ getVisibleByPanoIndex(tag: TagInstance, panoIndex?: number): boolean;
13
+ getVisibleByFiveMode(tag: TagInstance, mode?: Mode): boolean;
14
14
  /**
15
15
  * @description 获取标签当前状态
16
16
  * @return (this.state.visible && tag.state.visible) ?? true
17
17
  */
18
- getCurrentVisibleState(tag: TagElement<any, any>): boolean;
19
- getVisible(tag: TagElement<any, any>): boolean;
18
+ getCurrentVisibleState(tag: TagInstance): boolean;
19
+ getVisible(tag: TagInstance): boolean;
20
20
  /** 获取当前点位上模型中的多媒体是否应该展示 */
21
- getModelMedialVisibleByPanoIndex(tag: TagElement<any, any>): boolean;
21
+ getModelMedialVisibleByPanoIndex(tag: TagInstance): boolean;
22
22
  /**
23
23
  * @description: 获取是否展开
24
24
  */
25
- getUnfoldedByPanoIndex(tag: TagElement<any>, panoIndex?: number): boolean;
25
+ getUnfoldedByPanoIndex(tag: TagInstance, panoIndex?: number): boolean;
26
26
  /**
27
27
  * @description: 获取是否展开
28
28
  */
29
- getUnfoldedByCamera(tag: TagElement<any, any>): boolean;
30
- protected sort<T extends Tag<any, any>>(tags: T[]): T[];
29
+ getUnfoldedByCamera(tag: TagInstance): boolean;
30
+ protected sort<T extends TagInstance>(tags: T[]): T[];
31
31
  /**
32
32
  * @description: 一个点的标签
33
33
  */
@@ -39,18 +39,18 @@ export declare abstract class TagComputer extends TagUtil {
39
39
  /**
40
40
  * @description: 一个点的标签
41
41
  */
42
- protected getTagProject(tag: TagElement<any, any>): {
42
+ protected getTagProject(tag: TagInstance): {
43
43
  x: number;
44
44
  y: number;
45
45
  z: number;
46
46
  };
47
47
  /** 通过射线检测标签可用性 */
48
- protected getTagEnableByIntersect(tag: Tag<any, any>, raycaster: Raycaster): {
48
+ protected getTagEnableByIntersect(tag: TagInstance, raycaster: Raycaster): {
49
49
  value: boolean;
50
50
  reason: string;
51
51
  };
52
52
  /** 获取点位看向标签的射线 */
53
- protected getRaycasterFromPanoIndex(tag: Tag, panoIndex: number): THREE.Raycaster;
53
+ protected getRaycasterFromPanoIndex(tag: TagInstance, panoIndex: number): THREE.Raycaster;
54
54
  /** 检测是否匹配当前楼层 */
55
55
  private getVisibleByFloorIndex;
56
56
  }
@@ -1,9 +1,9 @@
1
1
  import { TagComputer } from './TagComputer';
2
- import type { Tag, TagElement, TagGLTFObject, TagObjectGroup, TagGLTFObjectGroup, ImagePlaneGroup } from '../typings';
2
+ import type { Tag, TagInstance, TagGLTFObject, TagObjectGroup, TagGLTFObjectGroup, ImagePlaneGroup, TagContentType } from '../typings';
3
3
  import type { TemporaryState } from '../typings';
4
- import { Object3D } from 'three';
4
+ import { type Object3D } from 'three';
5
5
  import TagContainerSvelte from '../Components/TagContainer.svelte';
6
- import { Five } from '@realsee/five';
6
+ import type { Five } from '@realsee/five';
7
7
  export declare abstract class TagRender extends TagComputer {
8
8
  protected group: TagObjectGroup;
9
9
  protected imagePlaneGroup: ImagePlaneGroup;
@@ -41,7 +41,7 @@ export declare abstract class TagRender extends TagComputer {
41
41
  * @param tag 标签
42
42
  * @param model 模型
43
43
  */
44
- protected updateTagCss3DObjectMatrix<S extends 'Model' | 'Plane' = 'Model'>(tag: TagElement<any, S>, model: Object3D): void;
44
+ protected updateTagCss3DObjectMatrix<S extends 'Model' | 'Plane' = 'Model'>(tag: TagInstance<TagContentType, S>, model: Object3D): void;
45
45
  /** 添加模型标签 */
46
46
  protected addMediaModelTag(tags: Tag[]): Promise<void>;
47
47
  /**
@@ -55,5 +55,5 @@ export declare abstract class TagRender extends TagComputer {
55
55
  */
56
56
  protected clearUnusedPanelTag(): void;
57
57
  /** 加载外部模型 */
58
- protected loadModel: (tag: TagElement<'Model', 'Model'> | TagElement<'MediaModel', 'Model'>) => Promise<TagGLTFObject>;
58
+ protected loadModel: (tag: TagInstance<'Model', 'Model'> | TagInstance<'MediaModel', 'Model'>) => Promise<TagGLTFObject>;
59
59
  }
@@ -1,21 +1,21 @@
1
- import type { TagElement, TagContentType, StickType, TagId, TagConfig, PlaneTag, MediaStore } from '../typings';
1
+ import type { TagInstance, TagContentType, StickType, TagId, TagConfig, PlaneTag, MediaStore } from '../typings';
2
2
  import * as THREE from 'three';
3
- import type { Tag, Tags, Point2DElement, Point3DElement, PlaneTagElement, PointTagElement, Point3DTag, ModelElement } from '../typings';
3
+ import type { Tag, Tags, PointTagInstance, Point3DTag } from '../typings';
4
4
  import { TagCache } from './TagCache';
5
5
  import type { CSS3DRenderPluginExportType } from '../../CSS3DRenderPlugin';
6
6
  import type { Five } from '@realsee/five';
7
7
  import { FiveDomEvents } from '../../shared-utils/five/FiveDomEvents';
8
8
  export declare abstract class TagUtil extends TagCache {
9
- tags: TagElement[];
9
+ tags: TagInstance[];
10
10
  config: Pick<Tags, 'globalConfig' | 'contentTypeConfig'>;
11
11
  protected mediaStore: MediaStore;
12
12
  /** css3DRenderPlugin */
13
13
  protected css3DRenderPlugin?: CSS3DRenderPluginExportType;
14
14
  protected store: {
15
15
  /** 清理函数数组 */
16
- disposers: (() => any)[];
16
+ disposers: (() => void)[];
17
17
  visibleWithAnimation?: boolean;
18
- css3DRenderDisposer: Map<TagId, (() => any)[]>;
18
+ css3DRenderDisposer: Map<TagId, (() => void)[]>;
19
19
  eventListenerDisposer?: () => void;
20
20
  resizeObserverDisposer?: () => void;
21
21
  resizeObserverDisposerAdding: boolean;
@@ -25,20 +25,20 @@ export declare abstract class TagUtil extends TagCache {
25
25
  protected domEvents: FiveDomEvents;
26
26
  private mouseInfo?;
27
27
  protected constructor(five: Five);
28
- getTagById<C extends TagContentType = any, S extends StickType = any>(id: TagId): TagElement<C, S> | undefined;
28
+ getTagById<C extends TagContentType = TagContentType, S extends StickType = StickType>(id: TagId): TagInstance<C, S> | undefined;
29
29
  /** 暂停当前标签内进行的所有多媒体 */
30
30
  pauseCurrentMedia(): void;
31
31
  /**
32
32
  * @description: 获取merge后的配置
33
33
  * TODO: 缓存
34
34
  */
35
- getTagConfig(tag: Tag<any, any>): TagConfig<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", StickType>;
35
+ getTagConfig(tag: Tag): TagConfig<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown">;
36
36
  protected loadVideoFirstFrame(): void;
37
37
  protected updateTagConfig(params?: {
38
38
  force?: boolean;
39
39
  }): void;
40
- protected can<T extends TagElement<any, any>>(action: 'show' | 'hide' | 'fold' | 'unfold', paramsTag: T): boolean;
41
- protected getRenderType(tag: TagElement<any, any>): 'Dom' | 'Mesh' | 'BehindDom';
40
+ protected can<T extends Tag>(action: 'show' | 'hide' | 'fold' | 'unfold', paramsTag: T): boolean;
41
+ protected getRenderType(tag: TagInstance): 'Dom' | 'Mesh' | 'BehindDom';
42
42
  /**
43
43
  * @description: 获取角度
44
44
  */
@@ -46,18 +46,18 @@ export declare abstract class TagUtil extends TagCache {
46
46
  /**
47
47
  * @description: 获取距离
48
48
  */
49
- protected getDistance(tag: Tag<any, any>, panoIndex?: number): number;
50
- protected getPositions(tag: TagElement<any, any>): any;
49
+ protected getDistance(tag: TagInstance, panoIndex?: number): number;
50
+ protected getPositions(tag: TagInstance): [THREE.Vector3, THREE.Vector3, THREE.Vector3, THREE.Vector3] | [import("../typings").ArrayPosition, import("../typings").ArrayPosition, import("../typings").ArrayPosition, import("../typings").ArrayPosition];
51
51
  protected preventWhenMouseDown: () => false | void;
52
- protected addObjectClickHandler(tag: TagElement<any, any>, object: THREE.Object3D | undefined, handler: (event: Event) => any): () => void;
53
- protected getTagNormal(tag: TagElement<any, 'Plane'> | TagElement<any, 'Model'> | TagElement<any, '3DPoint'>): THREE.Vector3;
54
- protected get filterPointTag(): PointTagElement[];
55
- protected get filter2DPointTag(): Point2DElement[];
56
- protected get filter3DPointTag(): Point3DElement[];
57
- protected get filterImagePlane(): PlaneTagElement<"MediaPlane">[];
58
- protected get filterMediaModel(): ModelElement<"MediaModel">[];
59
- protected get filterModelTag(): ModelElement[];
60
- protected get filterCSS3DTag(): (TagElement<any, "Plane"> | TagElement<any, "Model"> | TagElement<any, "3DPoint">)[];
52
+ protected addObjectClickHandler(tag: TagInstance, object: THREE.Object3D | undefined, handler: (event: Event) => any): () => void;
53
+ protected getTagNormal(tag: TagInstance): THREE.Vector3 | undefined;
54
+ protected get filterPointTag(): PointTagInstance[];
55
+ protected get filter2DPointTag(): TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "2DPoint">[];
56
+ protected get filter3DPointTag(): TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "3DPoint">[];
57
+ protected get filterImagePlane(): TagInstance<"MediaPlane", "Plane">[];
58
+ protected get filterMediaModel(): TagInstance<"MediaModel", "Model">[];
59
+ protected get filterModelTag(): TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Model">[];
60
+ protected get filterCSS3DTag(): (TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Plane"> | TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "Model"> | TagInstance<"Model" | "Custom" | "Audio" | "Text" | "ImageText" | "Image" | "Video" | "Link" | "Sticker" | "VRLink" | "PanoLink" | "Marketing" | "MediaPlane" | "MediaModel" | "Unknown", "3DPoint">)[];
61
61
  /**
62
62
  * @description 检查是否已经销毁
63
63
  * @returns isDisposed; 已经销毁返回 true,否则返回 false
@@ -1,7 +1,7 @@
1
- import type { Tag, PartialDeep, TagId, Tags, TagElement, State, AddTagConfig, LoadTagConfig, ContentTypeConfigKey, TagConfig } from '../typings';
1
+ import type { Tag, TagId, Tags, TagInstance, State, AddTagConfig, LoadTagConfig, ContentTypeConfigKey, TagConfig, PartialObjectDeep } from '../typings';
2
2
  import type { PickTagContentTypeInContentTypeConfigKey, TagContentType } from '..';
3
3
  import type { ArrayPosition } from '../typings';
4
- import { Five } from '@realsee/five';
4
+ import { type Five } from '@realsee/five';
5
5
  import { TagRender } from './TagRender';
6
6
  export declare const pluginFlag: (name: string) => string;
7
7
  declare class PanoTagPluginController extends TagRender {
@@ -25,7 +25,7 @@ declare class PanoTagPluginController extends TagRender {
25
25
  /**
26
26
  * @description: 添加标签
27
27
  */
28
- addTag(tag: Tag<any, any> | Tag<any, any>[], paramsConfig?: AddTagConfig): Promise<void>;
28
+ addTag(tag: Tag | Tag[], paramsConfig?: AddTagConfig): Promise<void>;
29
29
  /**
30
30
  * @description: 改变配置
31
31
  */
@@ -69,23 +69,23 @@ declare class PanoTagPluginController extends TagRender {
69
69
  /**
70
70
  * @description: 改变data
71
71
  */
72
- changeDataById<C extends TagContentType = any>(id: TagId, data: PartialDeep<Tag<C>['data']>, deepMerge?: boolean): void;
72
+ changeDataById<C extends TagContentType = TagContentType>(id: TagId, data: PartialObjectDeep<Tag<C>['data']>, deepMerge?: boolean): void;
73
73
  /**
74
74
  * @description: 改变tag的stickType
75
75
  */
76
- changeStickTypeById<C extends TagContentType = any>(id: TagId, data: PartialDeep<{
76
+ changeStickTypeById<C extends TagContentType = TagContentType>(id: TagId, data: PartialObjectDeep<{
77
77
  [P in keyof Pick<Tag<C>, 'stickType' | 'position' | 'normal' | 'data'>]: Tag[P];
78
78
  }>, deepMerge?: boolean): void;
79
79
  /**
80
80
  * @description: 改变tag任意属性
81
81
  */
82
- changeTagById<C extends TagContentType = any>(id: TagId, tag: PartialDeep<Tag<C>>, deepMerge?: boolean): void;
82
+ changeTagById<C extends TagContentType = TagContentType>(id: TagId, tag: PartialObjectDeep<Tag<C>>, deepMerge?: boolean): void;
83
83
  /**
84
84
  * @description: 销毁tag
85
85
  */
86
86
  destroyTagById(id: TagId | TagId[]): void;
87
87
  /** 更改 tag 模型 */
88
- changeTagModel: (tag: TagElement<any, 'Model'>, data: PartialDeep<Tag<'MediaModel'>['data']>) => Promise<void>;
88
+ changeTagModel: (tag: TagInstance<'Model', 'Model'> | TagInstance<'MediaModel', 'Model'>, data: PartialObjectDeep<Tag<'MediaModel'>['data']>) => Promise<void>;
89
89
  /**
90
90
  * @description: 设置 visible 和 unfolded
91
91
  */
@@ -25,22 +25,22 @@ export interface EventMap extends BasePlugin.EventMap<State> {
25
25
  event: Event;
26
26
  } & ({
27
27
  target: 'TagPoint';
28
- tag: PointTagElement<any>;
28
+ tag: PointTagInstance;
29
29
  } | {
30
30
  target: 'TagContent';
31
- tag: TagElement<any, any>;
31
+ tag: TagInstance;
32
32
  } | {
33
33
  target: 'AudioTagPlayIcon';
34
- tag: TagElement;
34
+ tag: TagInstance;
35
35
  audioInstance: HTMLAudioElement;
36
36
  } | {
37
37
  target: 'TagModel';
38
- tag: TagElement<'Model', 'Model'> | TagElement<'MediaModel', 'Model'>;
38
+ tag: TagInstance<'Model', 'Model'> | TagInstance<'MediaModel', 'Model'>;
39
39
  })) => void;
40
40
  playStateChange: (params: {
41
41
  event: Event;
42
42
  state: 'playing' | 'paused';
43
- tag: TagElement;
43
+ tag: TagInstance;
44
44
  mediaInstance: HTMLMediaElement;
45
45
  }) => void;
46
46
  exposure: (params: {
@@ -82,8 +82,8 @@ export interface TagCacheInterface {
82
82
  reason?: string;
83
83
  };
84
84
  }
85
- export type TagElement<C extends TagContentType = TagContentType, S extends StickType = StickType> = Tag<C, S> & Partial<{
86
- pointTagStyle: {
85
+ export type TagInstance<C extends TagContentType = TagContentType, S extends StickType = StickType> = Tag<C, S> & Partial<{
86
+ screenPosition: {
87
87
  leftPercent: number;
88
88
  topPercent: number;
89
89
  } | null;
@@ -113,7 +113,7 @@ export type TagElement<C extends TagContentType = TagContentType, S extends Stic
113
113
  unfolded: boolean;
114
114
  };
115
115
  hooks: Subscribe<TagEvents>;
116
- mergedConfig: TagConfig<C, S>;
116
+ mergedConfig: TagConfig<C>;
117
117
  unfold: () => void;
118
118
  fold: () => void;
119
119
  enable: () => void;
@@ -123,9 +123,5 @@ export type TagElement<C extends TagContentType = TagContentType, S extends Stic
123
123
  export type MediaStore = Writable<{
124
124
  currentMediaElement: HTMLMediaElement | null;
125
125
  }>;
126
- export type PointTagElement<C extends TagContentType = TagContentType> = TagElement<C, '3DPoint' | '2DPoint'>;
127
- export type PlaneTagElement<C extends TagContentType = TagContentType> = TagElement<C, 'Plane'>;
128
- export type Point2DElement<C extends TagContentType = TagContentType> = TagElement<C, '2DPoint'>;
129
- export type Point3DElement<C extends TagContentType = TagContentType> = TagElement<C, '3DPoint'>;
130
- export type ModelElement<C extends TagContentType = TagContentType> = TagElement<C, 'Model'>;
126
+ export type PointTagInstance<C extends TagContentType = TagContentType> = TagInstance<C, '3DPoint' | '2DPoint'>;
131
127
  export {};
@@ -3,4 +3,5 @@ export * from './tag/Tag';
3
3
  export * from './tag/Utils';
4
4
  export * from './tag/TagData';
5
5
  export * from './tag/TagConfig';
6
- export type { PartialDeep } from 'type-fest';
6
+ export * from '../Archive/deprecated';
7
+ export type { ContentTypeMap, TagContentType } from './tag/TagData';
@@ -1,10 +1,8 @@
1
1
  import type { State as FiveState } from '@realsee/five';
2
2
  import type { TagConfig } from './TagConfig';
3
- import { type ContentTypeMap, ContentType, type TagContentType } from './TagData';
3
+ import type { ContentTypeMap, TagContentType } from './TagData';
4
4
  import type { Position, TagId, StickType, TagStyle, ElementRenderer, PickTagContentTypeInContentTypeConfigKey, ContentTypeConfigKey } from './Utils';
5
- import { type DeprecatedTagProperty } from '../../Archive/deprecated';
6
- export type { ContentTypeMap, TagContentType };
7
- export { ContentType };
5
+ import type { DeprecatedTagProperty } from '../../Archive/deprecated';
8
6
  export interface Tags {
9
7
  version?: string;
10
8
  /** tag配置 > 按type配置 > 全局配置 */
@@ -15,13 +13,13 @@ export interface Tags {
15
13
  [key in ContentTypeConfigKey]?: PickTagContentTypeInContentTypeConfigKey<key> extends TagContentType ? TagConfig<PickTagContentTypeInContentTypeConfigKey<key>> : unknown;
16
14
  };
17
15
  /** 标签列表配置 */
18
- tagList: Tag<any, any>[];
16
+ tagList: Tag[];
19
17
  }
20
18
  export type Tag<C extends TagContentType = TagContentType, S extends StickType = StickType> = DeprecatedTagProperty & {
21
19
  /** 开启/禁用 */
22
20
  enabled?: boolean;
23
21
  /** 唯一标识 */
24
- id: TagId;
22
+ id?: TagId;
25
23
  /** @type {StickType} 附着方式 */
26
24
  stickType: S;
27
25
  /** @type {TagContentType} 内容类型,根据内容类型展示对应UI */
@@ -35,9 +33,9 @@ export type Tag<C extends TagContentType = TagContentType, S extends StickType =
35
33
  /** 标签 wrapper 的 classname */
36
34
  className?: string;
37
35
  /** 标签数据 */
38
- data: C extends TagContentType ? ContentTypeMap[C] : ContentTypeMap[keyof ContentTypeMap];
36
+ data?: C extends TagContentType ? ContentTypeMap[C] : ContentTypeMap[keyof ContentTypeMap];
39
37
  /** 「展开/收起」 「可见/不可见」 的策略配置 */
40
- config?: TagConfig<C, S>;
38
+ config?: TagConfig<C>;
41
39
  /** 打标签时的 five state */
42
40
  fiveState?: FiveState;
43
41
  /** 样式 */
@@ -1,10 +1,20 @@
1
1
  import type { Create3DDomContainerParamsType } from '../../../CSS3DRenderPlugin/Controller';
2
2
  import type { Five, Mode } from '@realsee/five';
3
3
  import type { ContentTypeMap, TagContentType } from './TagData';
4
- import type { Tag } from './Tag';
5
- import type { MinMax, StickType } from './Utils';
4
+ import type { MinMax } from './Utils';
6
5
  import type { PartialDeep } from 'type-fest';
7
- export interface TagConfig<C extends TagContentType = TagContentType, S extends StickType = StickType> {
6
+ import type { TagInstance } from '../controller';
7
+ type PartialObjectDeep<ObjectType extends object> = {
8
+ [KeyType in keyof ObjectType]?: PartialDeep<ObjectType[KeyType]>;
9
+ };
10
+ type ConfigFunction<C extends TagContentType = TagContentType> = (five: Five, tagState: {
11
+ tag: TagInstance<C>;
12
+ /** 标签点或中心点的到摄像机的距离 */
13
+ distance: number;
14
+ /** 3D标签中 「标签所在平面或垂直于标签法线的平面」 与 「摄像机到标签点或中心点的向量」 的夹角 */
15
+ angleRange?: number;
16
+ }) => boolean;
17
+ export interface TagConfig<C extends TagContentType = TagContentType> {
8
18
  /** 显示/隐藏配置 */
9
19
  visibleConfig?: {
10
20
  /**
@@ -61,13 +71,7 @@ export interface TagConfig<C extends TagContentType = TagContentType, S extends
61
71
  * @default undefined
62
72
  */
63
73
  angleRange?: MinMax;
64
- } | ((five: Five, tagState: {
65
- tag: Tag<C, S>;
66
- /** 标签点或中心点的到摄像机的距离 */
67
- distance: number;
68
- /** 3D标签中 「标签所在平面或垂直于标签法线的平面」 与 「摄像机到标签点或中心点的向量」 的夹角 */
69
- angleRange?: number;
70
- }) => boolean);
74
+ } | ConfigFunction<C>;
71
75
  /** 展开/收起配置 */
72
76
  unfoldedConfig?: {
73
77
  /** 保持展开/收起,设置后unfoldedConfig下所有其他配置都不生效 */
@@ -108,13 +112,7 @@ export interface TagConfig<C extends TagContentType = TagContentType, S extends
108
112
  /** 展开的最大距离, 默认为无限制 */
109
113
  distance?: MinMax;
110
114
  };
111
- } | ((five: Five, tagState: {
112
- tag: Tag<C, S>;
113
- /** 标签点或中心点的到摄像机的距离 */
114
- distance: number;
115
- /** 3D标签中 「标签所在平面或垂直于标签法线的平面」 与 「摄像机到标签点或中心点的向量」 的夹角 */
116
- angleRange?: number;
117
- }) => boolean);
115
+ } | ConfigFunction<C>;
118
116
  /** 初始状态 */
119
117
  initialState?: {
120
118
  /** 显示/隐藏 */
@@ -122,7 +120,7 @@ export interface TagConfig<C extends TagContentType = TagContentType, S extends
122
120
  /** 展开/收起 */
123
121
  unfolded?: boolean;
124
122
  };
125
- initialData?: PartialDeep<ContentTypeMap[C]>;
123
+ initialData?: PartialObjectDeep<ContentTypeMap[C]>;
126
124
  tag3DConfig?: Create3DDomContainerParamsType['config'];
127
125
  modelConfig?: {
128
126
  autoLookAtEnabled?: boolean;
@@ -131,3 +129,4 @@ export interface TagConfig<C extends TagContentType = TagContentType, S extends
131
129
  renderType?: 'Mesh' | 'Dom';
132
130
  clickable?: false;
133
131
  }
132
+ export {};
@@ -1,4 +1,4 @@
1
- import { type DeprecatedMediaPlaneProperty } from '../../Archive/deprecated';
1
+ import type { DeprecatedMediaPlaneProperty } from '../../Archive/deprecated';
2
2
  import type { Position, TagIconUrl } from './Utils';
3
3
  export type MediaData = {
4
4
  type: 'Image';
@@ -10,6 +10,7 @@ export type MediaData = {
10
10
  };
11
11
  export type ObjectFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
12
12
  type Object = Record<string | number | symbol, any>;
13
+ /** @deprecated Use {@link TagContentType} instead */
13
14
  export declare enum ContentType {
14
15
  /** 音频标签 */
15
16
  Audio = "Audio",
@@ -1,13 +1,17 @@
1
1
  import type { GLTFObject } from '@realsee/five/gltf-loader';
2
2
  import type { Group } from 'three';
3
- import type { Tag } from './Tag';
4
3
  import type { TagContentType } from './TagData';
5
4
  import type { ImagePlane } from '../../utils/model/mediaPlane';
5
+ import type { TagInstance } from '../controller';
6
+ import type { PartialDeep } from 'type-fest';
6
7
  export type TagId = string | number;
7
8
  export type ArrayPosition = number[];
8
9
  export type Position = ArrayPosition;
9
10
  export type PanoIndex = number;
10
11
  export type WorkCode = string;
12
+ export type PartialObjectDeep<ObjectType extends object> = {
13
+ [KeyType in keyof ObjectType]?: PartialDeep<ObjectType[KeyType]>;
14
+ };
11
15
  export interface MinMax {
12
16
  min?: number;
13
17
  max?: number;
@@ -62,21 +66,21 @@ export interface ImagePlaneGroup extends Group {
62
66
  * @description S: 18; M: 20; L: 24; XL: 28
63
67
  */
64
68
  export type TagIconSize = 'S' | 'M' | 'L' | 'XL' | number;
65
- export type AudioAppearance = Tag<'Audio'>['data']['appearance'];
69
+ export type AudioAppearance = TagInstance<'Audio'>['data']['appearance'];
66
70
  export type AudioTagTypeConfigKey = `${StickType | 'Any'}-Audio-${AudioAppearance}`;
67
71
  export type ContentTypeConfigKey = `${StickType | 'Any'}-${TagContentType | 'Any'}` | TagContentType | AudioTagTypeConfigKey;
68
72
  /**
69
- * @description: 从 ContentTypeConfigKey 中提取 ContentTypeConfigKey 对应的 ContentType 是啥,没找到就是 never
73
+ * @description: 从 ContentTypeConfigKey 中提取 ContentTypeConfigKey 对应的 TagContentType 是啥,没找到就是 never
70
74
  */
71
75
  export type PickTagContentTypeInContentTypeConfigKey<T extends ContentTypeConfigKey> = T extends `${any}-Audio-${any}` ? 'Audio' : T extends `${any}-${infer C}` ? C : T extends TagContentType ? T : never;
72
76
  export type ContentTypeConfigKeySplit = [StickType | 'Any', TagContentType | 'Any'] | [TagContentType] | [StickType | 'Any', 'Audio', AudioAppearance];
73
- export type PointTag<C extends TagContentType = TagContentType> = Tag<C, '2DPoint' | '3DPoint'>;
77
+ export type PointTag<C extends TagContentType = TagContentType> = TagInstance<C, '2DPoint' | '3DPoint'>;
74
78
  /** 二维标签 */
75
- export type Point2DTag<C extends TagContentType = TagContentType> = Tag<C, '2DPoint'>;
79
+ export type Point2DTag<C extends TagContentType = TagContentType> = TagInstance<C, '2DPoint'>;
76
80
  /** 三维标签 */
77
- export type Point3DTag<C extends TagContentType = TagContentType> = Tag<C, '3DPoint'>;
81
+ export type Point3DTag<C extends TagContentType = TagContentType> = TagInstance<C, '3DPoint'>;
78
82
  /** 三维贴片 */
79
- export type PlaneTag<C extends TagContentType = TagContentType> = Tag<C, 'Plane'>;
83
+ export type PlaneTag<C extends TagContentType = TagContentType> = TagInstance<C, 'Plane'>;
80
84
  /** @deprecated 'Tag2D' replaced by pointType: 'Point2DTag' */
81
85
  export type Tag2D<C extends TagContentType = TagContentType> = Point2DTag<C>;
82
86
  /** @deprecated 'Tag3D' replaced by pointType: 'Point3DTag' */
@@ -1,8 +1,8 @@
1
1
  import * as THREE from 'three';
2
2
  import { Vector3 } from 'three';
3
- import { type ObjectFit } from '../../typings';
4
- import DomEvents from '../../../shared-utils/threex/domevents';
5
- import { type Overwrite } from '../../../typings/utils.type';
3
+ import type { ObjectFit } from '../../typings';
4
+ import type DomEvents from '../../../shared-utils/threex/domevents';
5
+ import type { Overwrite } from '../../../typings/utils.type';
6
6
  type Src = string;
7
7
  type VideoTexture = Overwrite<THREE.VideoTexture, {
8
8
  image: HTMLVideoElement;
@@ -50,7 +50,7 @@ declare class VideoPlane extends MediaPlane {
50
50
  play(muted?: boolean): Promise<void>;
51
51
  pause(): void;
52
52
  initialDomEvents(domEvents: DomEvents): void;
53
- initialRenderHooks(func: (render: () => void) => () => any): void;
53
+ initialRenderHooks(func: (render: () => void) => () => void): void;
54
54
  private showPlayUI;
55
55
  private showPauseUI;
56
56
  private render;
@@ -1,4 +1,4 @@
1
- export declare function resizeObserver(func: () => any, element?: HTMLElement): {
1
+ export declare function resizeObserver(func: () => void, element?: HTMLElement): {
2
2
  observe: () => void;
3
3
  unobserve: () => void;
4
4
  };
@@ -1,11 +1,11 @@
1
- import type { PlaneTagElement, Tag, TagElement } from '../../typings';
2
- export declare function isPointTag(tag: Tag<any, any>): boolean;
3
- export declare function isPlaneTag(tag: Tag<any, any>): tag is PlaneTagElement;
4
- export declare function isPoint2DTag(tag: Tag<any, any>): boolean;
5
- export declare function isPoint3DTag(tag: Tag<any, any>): boolean;
6
- export declare function is2DTag(tag: Tag<any, any>): boolean;
7
- export declare function is3DTag(tag: Tag<any, any>): tag is Tag<any, '3DPoint'> | Tag<any, 'Plane'>;
8
- export declare function isMediaModelTag(tag: Tag<any, any>): tag is Tag<'MediaModel', 'Model'>;
9
- export declare function isModelTag(tag: Tag<any, any>): tag is Tag<'Model', 'Model'>;
10
- export declare function isStickModelTag(tag: Tag<any, any>): tag is TagElement<'Model', 'Model'> | TagElement<'MediaModel', 'Model'>;
11
- export declare function isMediaPlaneTag(tag: Tag<any, any>): tag is Tag<'MediaModel', 'Model'>;
1
+ import type { TagContentType, TagInstance } from '../../typings';
2
+ export declare function isPointTag(tag: TagInstance): boolean;
3
+ export declare function isPlaneTag<T extends TagContentType>(tag: TagInstance<T>): tag is TagInstance<T, 'Plane'>;
4
+ export declare function isPoint2DTag(tag: TagInstance): boolean;
5
+ export declare function isPoint3DTag<T extends TagContentType>(tag: TagInstance<T>): tag is TagInstance<T, '3DPoint'>;
6
+ export declare function is2DTag(tag: TagInstance): boolean;
7
+ export declare function is3DTag<T extends TagContentType>(tag: TagInstance): tag is TagInstance<T, '3DPoint'> | TagInstance<T, 'Plane'>;
8
+ export declare function isMediaModelTag(tag: TagInstance): tag is TagInstance<'MediaModel', 'Model'>;
9
+ export declare function isModelTag(tag: TagInstance): tag is TagInstance<'Model', 'Model'>;
10
+ export declare function isStickModelTag(tag: TagInstance): tag is TagInstance<'Model', 'Model'> | TagInstance<'MediaModel', 'Model'>;
11
+ export declare function isMediaPlaneTag(tag: TagInstance): tag is TagInstance<'MediaModel', 'Model'>;
@@ -1,5 +1,5 @@
1
1
  import { Vector3 } from 'three';
2
2
  import { type AnyPosition } from '.';
3
- import type { Tag } from '../typings';
3
+ import type { TagInstance } from '../typings';
4
4
  export declare function tagPosition(position: AnyPosition | [AnyPosition, AnyPosition, AnyPosition, AnyPosition]): Vector3;
5
- export declare function getTagPosition(tag: Tag): Vector3;
5
+ export declare function getTagPosition(tag: TagInstance): Vector3;