@realsee/dnalogel 2.6.4 → 2.6.7-dev.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 (372) hide show
  1. package/dist/CSS3DRenderPlugin/Controller.d.ts +1 -1
  2. package/dist/Object3DHelperPlugin/Controller.d.ts +25 -10
  3. package/dist/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
  4. package/dist/Object3DHelperPlugin/typings.d.ts +14 -0
  5. package/dist/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
  6. package/dist/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
  7. package/dist/PanoTagPlugin/controller/index.d.ts +32 -6
  8. package/dist/PanoTagPlugin/typings/controller.d.ts +17 -2
  9. package/dist/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
  10. package/dist/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
  11. package/dist/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
  12. package/dist/PanoTagPlugin/utils/tag/index.d.ts +2 -0
  13. package/dist/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
  14. package/dist/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
  15. package/dist/index.cjs.js +43 -43
  16. package/dist/index.js +5078 -4667
  17. package/dist/index.umd.js +32 -32
  18. package/dist/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
  19. package/dist/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
  20. package/dist/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
  21. package/dist/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
  22. package/dist/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
  23. package/dist/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
  24. package/dist/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
  25. package/dist/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
  26. package/dist/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
  27. package/{libs/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → dist/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
  28. package/dist/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
  29. package/dist/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
  30. package/dist/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
  31. package/dist/shared-utils/Object3DHelper/index.d.ts +4 -27
  32. package/dist/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
  33. package/dist/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
  34. package/dist/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
  35. package/dist/shared-utils/three/GLTFLoader.d.ts +2 -0
  36. package/docs/assets/search.js +1 -1
  37. package/docs/classes/CSS3DRender.html +31 -31
  38. package/docs/classes/CruisePluginController.html +24 -24
  39. package/docs/classes/Magnifier.html +20 -20
  40. package/docs/classes/ModelRoomLabelController.html +11 -11
  41. package/docs/classes/Object3DHelperController.html +40 -33
  42. package/docs/classes/PaintBrush.html +15 -15
  43. package/docs/classes/PanoMeasurePluginLine.html +23 -23
  44. package/docs/classes/PanoMeasurePluginModel.html +22 -22
  45. package/docs/classes/PanoMeasurePluginPoint.html +14 -14
  46. package/docs/classes/PanoMeasurePluginPolyline.html +26 -26
  47. package/docs/classes/PanoTagPluginController.html +205 -77
  48. package/docs/classes/Util.BetterTween.html +8 -8
  49. package/docs/classes/Util.FivePointSelector.html +12 -12
  50. package/docs/classes/Util.Interval.html +12 -12
  51. package/docs/classes/Util.Magnifier.html +17 -17
  52. package/docs/classes/Util.PointDomHelper.html +11 -11
  53. package/docs/classes/Util.PointHelper.html +11 -11
  54. package/docs/classes/Util.Rectangle.html +13 -13
  55. package/docs/enums/CameraMovementEffect.html +7 -7
  56. package/docs/enums/ContentType.html +34 -16
  57. package/docs/enums/DIRECTION.html +9 -9
  58. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +9 -9
  59. package/docs/enums/DimensionType.html +7 -7
  60. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +8 -8
  61. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +9 -9
  62. package/docs/enums/PaintBrushTypeEnum.html +8 -8
  63. package/docs/enums/PointType.html +7 -7
  64. package/docs/enums/Rotation.html +8 -8
  65. package/docs/functions/CSS3DRenderPlugin.html +10 -5
  66. package/docs/functions/CameraMovementPlugin.html +10 -5
  67. package/docs/functions/CruisePlugin.html +10 -5
  68. package/docs/functions/GuideLinePlugin.html +10 -5
  69. package/docs/functions/ItemLabelPlugin.html +10 -5
  70. package/docs/functions/MapviewFloorplanPlugin.html +10 -5
  71. package/docs/functions/ModelChassisCompassPlugin.html +10 -5
  72. package/docs/functions/ModelEntryDoorGuidePlugin.html +10 -5
  73. package/docs/functions/ModelFloorplanPlugin.html +10 -5
  74. package/docs/functions/ModelItemLabelPlugin.html +10 -5
  75. package/docs/functions/ModelRoomLabelPlugin.html +10 -5
  76. package/docs/functions/ModelTVVideoPlugin.html +10 -5
  77. package/docs/functions/ModelViewPlugin.html +10 -5
  78. package/docs/functions/Object3DHelperPlugin.html +10 -5
  79. package/docs/functions/PanoCompassPlugin.html +10 -5
  80. package/docs/functions/PanoCursorRaycasterPlugin.html +10 -5
  81. package/docs/functions/PanoDoorLabelPlugin.html +10 -5
  82. package/docs/functions/PanoFloorplanRadarPlugin.html +10 -5
  83. package/docs/functions/PanoMeasurePlugin.html +10 -5
  84. package/docs/functions/PanoRulerPlugin.html +10 -5
  85. package/docs/functions/PanoRulerProPlugin.html +10 -5
  86. package/docs/functions/PanoSpatialTagPlugin.html +10 -5
  87. package/docs/functions/PanoTagPlugin.html +15 -10
  88. package/docs/functions/TopviewFloorplanPlugin.html +10 -5
  89. package/docs/functions/Util.getCoordsFromClient.html +5 -5
  90. package/docs/functions/Util.getCoordsFromElement.html +5 -5
  91. package/docs/functions/Util.getFrameTime.html +5 -5
  92. package/docs/functions/Util.getIntersectFromRelativePosition.html +5 -5
  93. package/docs/functions/Util.getRaycasterFromFivePointer.html +5 -5
  94. package/docs/functions/Util.isNil.html +5 -5
  95. package/docs/functions/Util.nextFrame.html +5 -5
  96. package/docs/functions/Util.notNil.html +5 -5
  97. package/docs/functions/Util.requestAnimationFrameInterval.html +5 -5
  98. package/docs/functions/Util.tweenProgress.html +5 -5
  99. package/docs/functions/pluginFlag.html +10 -5
  100. package/docs/index.html +9 -4
  101. package/docs/interfaces/AddTagConfig.html +6 -6
  102. package/docs/interfaces/CSS3DRenderPluginEventMap.html +11 -11
  103. package/docs/interfaces/CSS3DRenderPluginState.html +8 -8
  104. package/docs/interfaces/CameraMovementPluginExportType.html +7 -7
  105. package/docs/interfaces/EventMap.html +19 -19
  106. package/docs/interfaces/FloorplanBounding.html +8 -8
  107. package/docs/interfaces/FloorplanData.html +10 -10
  108. package/docs/interfaces/FloorplanEntrance.html +11 -11
  109. package/docs/interfaces/FloorplanExtraObject.html +10 -10
  110. package/docs/interfaces/FloorplanExtraObject3D.html +8 -8
  111. package/docs/interfaces/FloorplanFloorData.html +9 -9
  112. package/docs/interfaces/FloorplanImagePosition.html +7 -7
  113. package/docs/interfaces/FloorplanObserver.html +9 -9
  114. package/docs/interfaces/FloorplanOutlineItem.html +9 -9
  115. package/docs/interfaces/FloorplanPosition.html +7 -7
  116. package/docs/interfaces/FloorplanRoomItem.html +13 -13
  117. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -7
  118. package/docs/interfaces/FloorplanServerBounding.html +8 -8
  119. package/docs/interfaces/FloorplanServerComputedData.html +10 -10
  120. package/docs/interfaces/FloorplanServerData.html +7 -7
  121. package/docs/interfaces/FloorplanServerDoorItem.html +10 -10
  122. package/docs/interfaces/FloorplanServerDoorPosition.html +8 -8
  123. package/docs/interfaces/FloorplanServerEntrance.html +11 -11
  124. package/docs/interfaces/FloorplanServerFloorData.html +9 -9
  125. package/docs/interfaces/FloorplanServerImagePosition.html +7 -7
  126. package/docs/interfaces/FloorplanServerObserver.html +9 -9
  127. package/docs/interfaces/FloorplanServerOutlineItem.html +9 -9
  128. package/docs/interfaces/FloorplanServerPosition.html +7 -7
  129. package/docs/interfaces/FloorplanServerRoomItem.html +14 -14
  130. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -7
  131. package/docs/interfaces/HelperOffset.html +78 -0
  132. package/docs/interfaces/ItemLabelPluginData.html +6 -6
  133. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +11 -11
  134. package/docs/interfaces/ItemLabelPluginParametersType.html +9 -9
  135. package/docs/interfaces/MinMax.html +7 -7
  136. package/docs/interfaces/ModelChassisCompassPluginData.html +7 -7
  137. package/docs/interfaces/ModelChassisCompassPluginExportType.html +8 -8
  138. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +7 -7
  139. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +8 -8
  140. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +8 -8
  141. package/docs/interfaces/ModelItemLabelPluginData.html +6 -6
  142. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +11 -11
  143. package/docs/interfaces/ModelItemLabelPluginParametersType.html +7 -7
  144. package/docs/interfaces/ModelRoomLabelPluginData.html +6 -6
  145. package/docs/interfaces/ModelTVVideoPluginData.html +9 -9
  146. package/docs/interfaces/ModelTVVideoPluginExportType.html +8 -8
  147. package/docs/interfaces/ModelTVVideoPluginParameterType.html +6 -6
  148. package/docs/interfaces/ModelViewPluginExportType.html +11 -11
  149. package/docs/interfaces/Object3DHelperState.html +8 -8
  150. package/docs/interfaces/ObjectHelperControllers.html +85 -0
  151. package/docs/interfaces/PaintBrushAction.html +12 -12
  152. package/docs/interfaces/PaintBrushConfigs.html +12 -12
  153. package/docs/interfaces/PaintBrushState.html +10 -10
  154. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +10 -10
  155. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +10 -5
  156. package/docs/interfaces/PanoMeasureParameterType.html +12 -12
  157. package/docs/interfaces/PanoMeasurePluginLineJson.html +8 -8
  158. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +7 -7
  159. package/docs/interfaces/PanoMeasurePluginPointJson.html +7 -7
  160. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +8 -8
  161. package/docs/interfaces/PanoRulerPluginExportType.html +10 -10
  162. package/docs/interfaces/PanoRulerPluginOptions.html +7 -7
  163. package/docs/interfaces/PanoRulerPluginParameterType.html +8 -8
  164. package/docs/interfaces/PanoRulerProPluginExportType.html +9 -9
  165. package/docs/interfaces/PanoRulerProPluginOptions.html +7 -7
  166. package/docs/interfaces/PanoRulerProPluginParameterType.html +7 -7
  167. package/docs/interfaces/PanoRulerProPluginState.html +8 -8
  168. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +10 -5
  169. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +10 -5
  170. package/docs/interfaces/PanoSpatialTagPluginData.html +11 -11
  171. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +10 -10
  172. package/docs/interfaces/PanoSpatialTagPluginExportType.html +13 -13
  173. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +10 -10
  174. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +13 -13
  175. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +11 -11
  176. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +10 -10
  177. package/docs/interfaces/Point.html +8 -8
  178. package/docs/interfaces/Room.html +9 -9
  179. package/docs/interfaces/RoomInfo.html +7 -7
  180. package/docs/interfaces/RoomLabel.html +14 -14
  181. package/docs/interfaces/RoomRules.html +10 -5
  182. package/docs/interfaces/Rooms.html +10 -5
  183. package/docs/interfaces/Scissor.html +9 -9
  184. package/docs/interfaces/State.html +8 -8
  185. package/docs/interfaces/TagCache.html +25 -16
  186. package/docs/interfaces/TagConfig.html +10 -10
  187. package/docs/interfaces/TagIconUrl.html +9 -9
  188. package/docs/interfaces/Tags.html +11 -11
  189. package/docs/interfaces/TemporaryState.html +6 -6
  190. package/docs/interfaces/Util.MagnifierParameter.html +11 -11
  191. package/docs/interfaces/Util.MouseGroupParameter.html +8 -8
  192. package/docs/modules/Util.html +5 -5
  193. package/docs/modules.html +14 -4
  194. package/docs/types/ArrayPosition.html +10 -5
  195. package/docs/types/AudioAppearance.html +10 -5
  196. package/docs/types/AudioTagTypeConfigKey.html +10 -5
  197. package/docs/types/CSS3DRenderExportType.html +10 -5
  198. package/docs/types/CSS3DRenderPluginExportType.html +10 -5
  199. package/docs/types/CSS3DRenderPluginParameterType.html +10 -5
  200. package/docs/types/ClassFunctionParameters.html +268 -0
  201. package/docs/types/Color.html +10 -5
  202. package/docs/types/ContentTypeConfigKey.html +10 -5
  203. package/docs/types/ContentTypeConfigKeySplit.html +10 -5
  204. package/docs/types/ContentTypeMap.html +10 -5
  205. package/docs/types/Create3DDomContainerReturnType.html +10 -5
  206. package/docs/types/Create3DElementReturnType.html +10 -5
  207. package/docs/types/CruisePluginExportType.html +10 -5
  208. package/docs/types/Direction-1.html +10 -5
  209. package/docs/types/Direction4.html +10 -5
  210. package/docs/types/FloorplanRuleLabels.html +10 -5
  211. package/docs/types/FloorplanServerRuleLabels.html +10 -5
  212. package/docs/types/GuideLinePluginExportType.html +10 -5
  213. package/docs/types/HelperEventMap.html +174 -21
  214. package/docs/types/LoadTagConfig.html +10 -5
  215. package/docs/types/MapviewFloorplanPluginParameterType.html +10 -5
  216. package/docs/types/MapviewFloorplanPluginReturnType.html +10 -5
  217. package/docs/types/MediaData.html +10 -5
  218. package/docs/types/MediaStore.html +10 -5
  219. package/docs/types/ModelElement.html +266 -0
  220. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +10 -5
  221. package/docs/types/ModelFloorplanPluginParameterType.html +10 -5
  222. package/docs/types/ModelFloorplanPluginReturnType.html +10 -5
  223. package/docs/types/ModelRoomLabelPluginParameters.html +10 -5
  224. package/docs/types/ModelRoomLabelPluginReturnType.html +10 -5
  225. package/docs/types/MoveArgs.html +10 -5
  226. package/docs/types/MoveOpts.html +10 -5
  227. package/docs/types/Object3DHelperEventMap.html +10 -5
  228. package/docs/types/ObjectFit.html +10 -5
  229. package/docs/types/PaintBrushEventMap.html +10 -5
  230. package/docs/types/PanoCompassPluginData.html +10 -5
  231. package/docs/types/PanoCompassPluginExportType.html +10 -5
  232. package/docs/types/PanoCompassPluginParameterType.html +10 -5
  233. package/docs/types/PanoFloorplanRadarPluginParameterType.html +10 -5
  234. package/docs/types/PanoFloorplanRadarPluginReturnType.html +10 -5
  235. package/docs/types/PanoIndex.html +10 -5
  236. package/docs/types/PanoMeasurePluginEvent.html +10 -5
  237. package/docs/types/PanoMeasureReturnType.html +10 -5
  238. package/docs/types/PanoSpatialTagPluginId.html +10 -5
  239. package/docs/types/PanoTagPluginExportInterface.html +10 -5
  240. package/docs/types/PanoTagPluginParamsInterface.html +10 -5
  241. package/docs/types/PlaneTag.html +10 -5
  242. package/docs/types/PlaneTagElement.html +10 -5
  243. package/docs/types/Point2DElement.html +10 -5
  244. package/docs/types/Point2DTag.html +10 -5
  245. package/docs/types/Point3DElement.html +10 -5
  246. package/docs/types/Point3DTag.html +10 -5
  247. package/docs/types/PointTag.html +10 -5
  248. package/docs/types/PointTagElement.html +10 -5
  249. package/docs/types/Position.html +10 -5
  250. package/docs/types/RotateArgs.html +10 -5
  251. package/docs/types/RotateOpts.html +10 -5
  252. package/docs/types/RuleLabelsKey.html +10 -5
  253. package/docs/types/RuleLabelsValue.html +10 -5
  254. package/docs/types/StickType.html +11 -6
  255. package/docs/types/Tag.html +11 -6
  256. package/docs/types/Tag2D.html +10 -5
  257. package/docs/types/Tag3D.html +10 -5
  258. package/docs/types/TagContentType.html +11 -6
  259. package/docs/types/TagDimensionType.html +10 -5
  260. package/docs/types/TagElement.html +11 -6
  261. package/docs/types/TagEvents.html +10 -5
  262. package/docs/types/TagGLTFObject.html +261 -0
  263. package/docs/types/TagHooks.html +10 -5
  264. package/docs/types/TagIconSize.html +10 -5
  265. package/docs/types/TagId.html +10 -5
  266. package/docs/types/TagPointType.html +10 -5
  267. package/docs/types/TopviewFloorplanPluginParameterType.html +10 -5
  268. package/docs/types/TopviewFloorplanPluginReturnType.html +10 -5
  269. package/docs/types/WorkCode.html +10 -5
  270. package/docs/variables/FLOOR_TYPE_MAP.html +10 -5
  271. package/docs/variables/PLUGIN.html +10 -5
  272. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +10 -5
  273. package/docs/variables/ROOM_TYPE_MAP.html +10 -5
  274. package/docs/variables/VERSION.html +10 -5
  275. package/docs/variables/itemLabelPluginServerParams.html +10 -5
  276. package/docs/variables/modelItemLabelPluginServerParams.html +10 -5
  277. package/docs/variables/modelRoomLabelPluginServerParams.html +10 -5
  278. package/libs/CSS3DRenderPlugin/CSS3DRender.js +43 -43
  279. package/libs/CSS3DRenderPlugin/Controller.d.ts +1 -1
  280. package/libs/CSS3DRenderPlugin/utils/generateBehindFiveElement.js +16 -15
  281. package/libs/Object3DHelperPlugin/Controller.d.ts +25 -10
  282. package/libs/Object3DHelperPlugin/Controller.js +117 -97
  283. package/libs/Object3DHelperPlugin/FiveControllerWrapper.d.ts +6 -8
  284. package/libs/Object3DHelperPlugin/FiveControllerWrapper.js +29 -22
  285. package/libs/Object3DHelperPlugin/index.js +16 -11
  286. package/libs/Object3DHelperPlugin/typings.d.ts +14 -0
  287. package/libs/PanoTagPlugin/Components/Common/Media.js +3 -2
  288. package/libs/PanoTagPlugin/Components/Common/MediaItem.js +1 -1
  289. package/libs/PanoTagPlugin/Components/Common/Text/FlyMText.js +3 -2
  290. package/libs/PanoTagPlugin/Components/Common/Text/FlyText.js +3 -2
  291. package/libs/PanoTagPlugin/Components/Common/Text/MText.js +68 -68
  292. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioPlaneTag.js +3 -2
  293. package/libs/PanoTagPlugin/Components/Tag/AudioTag/AudioTag.js +3 -2
  294. package/libs/PanoTagPlugin/Components/Tag/AudioTag/index.js +12 -11
  295. package/libs/PanoTagPlugin/Components/Tag/CustomTag.js +33 -33
  296. package/libs/PanoTagPlugin/Components/Tag/ImageTextTag.js +3 -2
  297. package/libs/PanoTagPlugin/Components/Tag/LinkTag.js +46 -46
  298. package/libs/PanoTagPlugin/Components/Tag/MediaPlane.js +12 -11
  299. package/libs/PanoTagPlugin/Components/Tag/TextTag/TextTag.js +26 -25
  300. package/libs/PanoTagPlugin/Components/Tag/TextTag/index.js +29 -28
  301. package/libs/PanoTagPlugin/Components/Tag/index.js +126 -119
  302. package/libs/PanoTagPlugin/Components/TagContainer.js +4 -2
  303. package/libs/PanoTagPlugin/Components/TagItem.js +67 -65
  304. package/libs/PanoTagPlugin/controller/TagCacheController.d.ts +1 -0
  305. package/libs/PanoTagPlugin/controller/TagCacheController.js +14 -12
  306. package/libs/PanoTagPlugin/controller/TagComputer.d.ts +22 -6
  307. package/libs/PanoTagPlugin/controller/TagComputer.js +242 -176
  308. package/libs/PanoTagPlugin/controller/index.d.ts +32 -6
  309. package/libs/PanoTagPlugin/controller/index.js +176 -91
  310. package/libs/PanoTagPlugin/index.js +15 -12
  311. package/libs/PanoTagPlugin/tag.config.js +9 -0
  312. package/libs/PanoTagPlugin/typings/controller.d.ts +17 -2
  313. package/libs/PanoTagPlugin/typings/controller.js +1 -1
  314. package/libs/PanoTagPlugin/typings/index.js +6 -5
  315. package/libs/PanoTagPlugin/typings/tag/Tag.d.ts +5 -2
  316. package/libs/PanoTagPlugin/typings/tag/TagData.d.ts +19 -3
  317. package/libs/PanoTagPlugin/typings/tag/TagData.js +1 -1
  318. package/libs/PanoTagPlugin/typings/tag/Utils.d.ts +1 -1
  319. package/libs/PanoTagPlugin/utils/addDebugPoints.js +5 -4
  320. package/libs/PanoTagPlugin/utils/color.js +5 -5
  321. package/libs/PanoTagPlugin/utils/index.js +37 -34
  322. package/libs/PanoTagPlugin/utils/planeNormal.js +3 -2
  323. package/libs/PanoTagPlugin/utils/tag/index.d.ts +2 -0
  324. package/libs/PanoTagPlugin/utils/tag/index.js +11 -0
  325. package/libs/PanoTagPlugin/utils/tag/tagCheck.d.ts +2 -1
  326. package/libs/PanoTagPlugin/utils/tag/tagCheck.js +6 -2
  327. package/libs/PanoTagPlugin/utils/tagPosition.d.ts +3 -1
  328. package/libs/PanoTagPlugin/utils/tagPosition.js +20 -8
  329. package/libs/index.js +111 -104
  330. package/libs/shared-utils/Object3DHelper/Base/BaseController.d.ts +41 -15
  331. package/libs/shared-utils/Object3DHelper/Base/BaseController.js +112 -90
  332. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.d.ts +27 -20
  333. package/libs/shared-utils/Object3DHelper/Base/BaseHelper.js +55 -22
  334. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.d.ts +7 -0
  335. package/libs/shared-utils/Object3DHelper/Controller/BoundingBoxController.js +14 -0
  336. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.d.ts +1 -0
  337. package/libs/shared-utils/Object3DHelper/Controller/CSS3DScaleController.js +14 -10
  338. package/libs/shared-utils/Object3DHelper/Controller/MoveController.d.ts +24 -0
  339. package/libs/shared-utils/Object3DHelper/Controller/MoveController.js +80 -37
  340. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.d.ts +6 -1
  341. package/libs/shared-utils/Object3DHelper/Controller/RectangleScaleController.js +44 -41
  342. package/libs/shared-utils/Object3DHelper/Controller/RotateController.d.ts +14 -0
  343. package/libs/shared-utils/Object3DHelper/Controller/RotateController.js +95 -67
  344. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.d.ts +12 -0
  345. package/libs/shared-utils/Object3DHelper/Controller/ScaleController.js +21 -0
  346. package/libs/shared-utils/Object3DHelper/Helper/{OutlineHelper.d.ts → BoundingBoxHelper.d.ts} +3 -2
  347. package/libs/shared-utils/Object3DHelper/Helper/BoundingBoxHelper.js +87 -0
  348. package/{dist/shared-utils/Object3DHelper/Helper/RectangleScaleHelper.d.ts → libs/shared-utils/Object3DHelper/Helper/CSS3DScaleHelper.d.ts} +3 -8
  349. package/libs/shared-utils/Object3DHelper/Helper/{RectangleScaleHelper.js → CSS3DScaleHelper.js} +5 -7
  350. package/libs/shared-utils/Object3DHelper/Helper/MoveHelper.js +7 -9
  351. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.d.ts +14 -11
  352. package/libs/shared-utils/Object3DHelper/Helper/RotateHelper.js +72 -66
  353. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.d.ts +5 -0
  354. package/libs/shared-utils/Object3DHelper/Helper/ScaleHelper.js +9 -0
  355. package/libs/shared-utils/Object3DHelper/Helper/index.d.ts +2 -2
  356. package/libs/shared-utils/Object3DHelper/Helper/index.js +0 -2
  357. package/libs/shared-utils/Object3DHelper/index.d.ts +4 -27
  358. package/libs/shared-utils/Object3DHelper/index.js +48 -96
  359. package/libs/shared-utils/Object3DHelper/typings/Hooks.d.ts +22 -12
  360. package/libs/shared-utils/Object3DHelper/typings/index.d.ts +22 -0
  361. package/libs/shared-utils/Object3DHelper/typings/index.js +2 -1
  362. package/libs/shared-utils/Object3DHelper/utils/boundingBox.d.ts +2 -0
  363. package/libs/shared-utils/Object3DHelper/utils/boundingBox.js +24 -0
  364. package/libs/shared-utils/Object3DHelper/utils/threex/domevents/index.js +2 -2
  365. package/libs/shared-utils/three/GLTFLoader.d.ts +2 -0
  366. package/libs/shared-utils/three/GLTFLoader.js +16 -0
  367. package/libs/typings/math.type.js +1 -0
  368. package/package.json +4 -4
  369. package/dist/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
  370. package/libs/shared-utils/Object3DHelper/Helper/OutlineHelper.js +0 -2
  371. package/libs/shared-utils/Object3DHelper/utils/getPoint.d.ts +0 -3
  372. package/libs/shared-utils/Object3DHelper/utils/getPoint.js +0 -1
@@ -1,7 +1,8 @@
1
- import type { Tag, PartialDeep, TagId, Tags, State, AddTagConfig, LoadTagConfig } from '../typings';
1
+ import type { Tag, PartialDeep, TagId, Tags, TagElement, State, AddTagConfig, LoadTagConfig } from '../typings';
2
2
  import type { TagContentType } from '..';
3
3
  import type { ArrayPosition } from '../typings';
4
4
  import { Five } from '@realsee/five';
5
+ import { Object3D } from 'three';
5
6
  import { TagComputer } from './TagComputer';
6
7
  export declare const pluginFlag: (name: string) => string;
7
8
  declare class PanoTagPluginController extends TagComputer {
@@ -23,8 +24,12 @@ declare class PanoTagPluginController extends TagComputer {
23
24
  /** 临时状态 */
24
25
  private temporaryState;
25
26
  private mediaStore;
27
+ private group;
28
+ private gltfObjectGroup;
26
29
  private isIOSWX;
27
30
  private store;
31
+ /** 维护一个可用模型表,用于快速删除不应该在场景中的模型 */
32
+ private enabledModelTagSet;
28
33
  constructor(five: Five, params?: {
29
34
  debug?: boolean;
30
35
  config?: {
@@ -35,11 +40,11 @@ declare class PanoTagPluginController extends TagComputer {
35
40
  /**
36
41
  * @description: 加载数据
37
42
  */
38
- load(data: Tags, config?: LoadTagConfig): Promise<boolean>;
43
+ load(data: Tags, config?: LoadTagConfig): Promise<void>;
39
44
  /**
40
45
  * @description: 添加标签
41
46
  */
42
- addTag(tag: Tag | Tag[], config?: AddTagConfig): Promise<boolean>;
47
+ addTag(tag: Tag<any, any> | Tag<any, any>[], config?: AddTagConfig): Promise<void>;
43
48
  /**
44
49
  * @description: 改变配置
45
50
  */
@@ -89,15 +94,21 @@ declare class PanoTagPluginController extends TagComputer {
89
94
  /**
90
95
  * @description: 改变tag任意属性
91
96
  */
92
- changeTagById<C extends TagContentType = any>(id: TagId, tag: PartialDeep<{
93
- [P in keyof Pick<Tag<C>, 'enabled' | 'style' | 'stickType' | 'contentType' | 'data' | 'normal' | 'config'>]: Tag[P];
94
- }>, deepMerge?: boolean): void;
97
+ changeTagById<C extends TagContentType = any>(id: TagId, tag: PartialDeep<Tag<C>>, deepMerge?: boolean): void;
95
98
  /**
96
99
  * @description: 销毁tag
97
100
  */
98
101
  destroyTagById(id: TagId | TagId[]): void;
99
102
  /** 暂停当前标签内进行的所有多媒体 */
100
103
  pauseCurrentMedia(): void;
104
+ /** 更改 tag 模型 */
105
+ changeTagModel: (tag: TagElement<any, 'Model'>, data: PartialDeep<Tag<'MediaModel'>['data']>) => Promise<void>;
106
+ /** 更新标签中多媒体面片的位置
107
+ * @param tag 标签
108
+ * @param model 模型
109
+ * @param scale css3DObject 原始缩放比例
110
+ */
111
+ updateTagCss3DObjectMatrix<S extends 'Model' | 'Plane' = 'Model'>(tag: TagElement<any, S>, model: Object3D): void;
101
112
  /**
102
113
  * @description: 设置 visible 和 unfolded
103
114
  */
@@ -118,6 +129,7 @@ declare class PanoTagPluginController extends TagComputer {
118
129
  * @description: 切换模式处理函数
119
130
  */
120
131
  private handleFiveModeChange;
132
+ private handleFiveInitAnimationEnded;
121
133
  private handleFiveWantsMoveToPano;
122
134
  /**
123
135
  * @description: 走点/切换模型后显示
@@ -136,6 +148,8 @@ declare class PanoTagPluginController extends TagComputer {
136
148
  private handleFiveCameraUpdateDebounce;
137
149
  private handleFiveCameraUpdate;
138
150
  private handleFivePanoArrived;
151
+ /** 楼层切换时,需要更新标签可见性 */
152
+ private handleFiveModelShownFloorChange;
139
153
  private setUnfoldedByCamera;
140
154
  /**
141
155
  * @description: 渲染单个点的标签
@@ -145,11 +159,23 @@ declare class PanoTagPluginController extends TagComputer {
145
159
  * @description: 渲染3D贴片
146
160
  */
147
161
  private updateRenderPlaneTag;
162
+ /** 更新所有模型标签
163
+ *
164
+ * 1. 移除不应该在场景中的模型
165
+ * 2. 更新模型的可见性
166
+ *
167
+ * FIXME: 有性能问题,但是之前的逻辑都是这么写,暂时先这样吧
168
+ */
169
+ private updateRenderModelTag;
148
170
  private disposeAllCSS3DContainer;
149
171
  /**
150
172
  * @description: 检查并销毁不用的3D贴片
151
173
  */
152
174
  private checkPanelTag;
175
+ /** 添加模型标签 */
176
+ private addMediaModelTag;
177
+ /** 加载外部模型 */
178
+ private loadModel;
153
179
  }
154
180
  export default PanoTagPluginController;
155
181
  export { PanoTagPluginController };
@@ -1,17 +1,17 @@
1
- var P = Object.defineProperty, w = Object.defineProperties;
2
- var E = Object.getOwnPropertyDescriptors;
3
- var T = Object.getOwnPropertySymbols;
4
- var R = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
5
- var u = (h, a, e) => a in h ? P(h, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[a] = e, p = (h, a) => {
1
+ var x = Object.defineProperty, G = Object.defineProperties;
2
+ var V = Object.getOwnPropertyDescriptors;
3
+ var E = Object.getOwnPropertySymbols;
4
+ var N = Object.prototype.hasOwnProperty, W = Object.prototype.propertyIsEnumerable;
5
+ var D = (h, a, e) => a in h ? x(h, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : h[a] = e, p = (h, a) => {
6
6
  for (var e in a || (a = {}))
7
- R.call(a, e) && u(h, e, a[e]);
8
- if (T)
9
- for (var e of T(a))
10
- k.call(a, e) && u(h, e, a[e]);
7
+ N.call(a, e) && D(h, e, a[e]);
8
+ if (E)
9
+ for (var e of E(a))
10
+ W.call(a, e) && D(h, e, a[e]);
11
11
  return h;
12
- }, f = (h, a) => w(h, E(a));
13
- var d = (h, a, e) => (u(h, typeof a != "symbol" ? a + "" : a, e), e);
14
- var m = (h, a, e) => new Promise((t, i) => {
12
+ }, f = (h, a) => G(h, V(a));
13
+ var d = (h, a, e) => (D(h, typeof a != "symbol" ? a + "" : a, e), e);
14
+ var c = (h, a, e) => new Promise((t, i) => {
15
15
  var s = (r) => {
16
16
  try {
17
17
  n(e.next(r));
@@ -27,24 +27,30 @@ var m = (h, a, e) => new Promise((t, i) => {
27
27
  }, n = (r) => r.done ? t(r.value) : Promise.resolve(r.value).then(s, o);
28
28
  n((e = e.apply(h, a)).next());
29
29
  });
30
- import { Subscribe as F } from "@realsee/five";
31
- import { Quaternion as U } from "three";
32
- import c from "object-assign-deep";
33
- import { writable as L } from "../../vendor/svelte/store/index.js";
34
- import O from "../Components/TagContainer.js";
35
- import I from "../Components/Tag/index.js";
36
- import { arrayPositionToVector3 as g } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
37
- import { addDebugPoints as B } from "../utils/addDebugPoints.js";
38
- import { planeNormal as M } from "../utils/planeNormal.js";
39
- import { waitFiveModelLoaded as N } from "../utils/actionAfterFiveModelLoad.js";
40
- import { normalPositionToPositions as V } from "../utils/normalPositionToPositions.js";
41
- import { debounce as C } from "../utils/debounce.js";
42
- import { throttle as z } from "../utils/throttle.js";
43
- import { resizeObserver as D } from "../utils/resizeObserver.js";
44
- import { TagComputer as W } from "./TagComputer.js";
45
- import { CSS3DRenderPlugin as _ } from "../../CSS3DRenderPlugin/index.js";
46
- import $ from "../utils/tag/format.js";
47
- import { generateBlankAudio as A, AudioNamespace as S } from "../../shared-utils/audio.js";
30
+ import { Subscribe as z } from "@realsee/five";
31
+ import { Group as R, Vector3 as T, Matrix4 as C, Quaternion as _ } from "three";
32
+ import m from "object-assign-deep";
33
+ import { writable as $ } from "../../vendor/svelte/store/index.js";
34
+ import q from "../Components/TagContainer.js";
35
+ import H from "../Components/Tag/index.js";
36
+ import { arrayPositionToVector3 as v } from "../../CSS3DRenderPlugin/utils/positionToVector3.js";
37
+ import { addDebugPoints as Q } from "../utils/addDebugPoints.js";
38
+ import { planeNormal as O } from "../utils/planeNormal.js";
39
+ import "@realsee/five/gltf-loader";
40
+ import { isMediaModelTag as u } from "../utils/tag/tagCheck.js";
41
+ import { waitFiveModelLoaded as X } from "../utils/actionAfterFiveModelLoad.js";
42
+ import { normalPositionToPositions as J } from "../utils/normalPositionToPositions.js";
43
+ import { debounce as k } from "../utils/debounce.js";
44
+ import { throttle as K } from "../utils/throttle.js";
45
+ import { resizeObserver as I } from "../utils/resizeObserver.js";
46
+ import { TagComputer as Y } from "./TagComputer.js";
47
+ import { CSS3DRenderPlugin as Z } from "../../CSS3DRenderPlugin/index.js";
48
+ import ee from "../utils/tag/format.js";
49
+ import { generateBlankAudio as L, AudioNamespace as U } from "../../shared-utils/audio.js";
50
+ import { loadGLTF as te } from "../../shared-utils/three/GLTFLoader.js";
51
+ import "../../CSS3DRenderPlugin/CSS3DRender.js";
52
+ import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
53
+ import { getMediaModelPlanPositions as ie } from "../utils/tag/index.js";
48
54
  import "../../vendor/svelte/internal/index.js";
49
55
  import "../Components/TagItem.js";
50
56
  import "../utils/noTypecheck.js";
@@ -88,7 +94,8 @@ import "../Components/Common/MediaItem.js";
88
94
  import "../Components/Tag/MarketingTag.js";
89
95
  import "hammerjs";
90
96
  import "@tweenjs/tween.js";
91
- import "../../CSS3DRenderPlugin/CSS3DRender.js";
97
+ import "../../shared-utils/animationFrame/BetterTween.js";
98
+ import "../../shared-utils/animationFrame/index.js";
92
99
  import "../../CSS3DRenderPlugin/utils/three/CSS3DRenderer.js";
93
100
  import "three/examples/jsm/renderers/CSS3DRenderer";
94
101
  import "../../CSS3DRenderPlugin/utils/getAllCSS3DObject.js";
@@ -100,9 +107,6 @@ import "../../CSS3DRenderPlugin/utils/centerPoint.js";
100
107
  import "../../CSS3DRenderPlugin/utils/three/OpacityMesh.js";
101
108
  import "../../CSS3DRenderPlugin/utils/three/CSS3DScene.js";
102
109
  import "../../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
103
- import "../../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
104
- import "../../shared-utils/animationFrame/BetterTween.js";
105
- import "../../shared-utils/animationFrame/index.js";
106
110
  import "../Components/Tag/AudioTag/index.js";
107
111
  import "../Components/Tag/AudioTag/AudioTag.js";
108
112
  import "../Components/Common/Audio.js";
@@ -114,27 +118,28 @@ import "../Components/Tag/MediaPlane.js";
114
118
  import "../Components/Tag/LinkTag.js";
115
119
  import "../Components/Tag/CustomTag.js";
116
120
  import "../tag.config.js";
117
- import "../utils/tag/tagCheck.js";
118
121
  import "../utils/tagPosition.js";
119
122
  import "../utils/checkRange.js";
120
123
  import "./TagCacheController.js";
121
124
  import "../../base/BasePlugin.js";
122
125
  import "../../CSS3DRenderPlugin/Controller.js";
123
126
  import "../../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
124
- const y = "2.0.8", v = `DnalogelPlugin-PanoTagPlugin@${y}`, G = !1, Lt = (h) => `${v}--${h}`;
125
- class Ot extends W {
127
+ const j = "2.0.10", S = `DnalogelPlugin-PanoTagPlugin@${j}`, se = !1, Qt = (h) => `${S}--${h}`;
128
+ class Xt extends Y {
126
129
  constructor(e, t) {
127
130
  super(e);
128
- d(this, "version", y);
131
+ d(this, "version", j);
129
132
  d(this, "state", { enabled: !0, visible: !0 });
130
133
  d(this, "params");
131
134
  d(this, "debug");
132
135
  d(this, "css3DRenderPlugin");
133
136
  d(this, "TagContainerSvelte");
134
137
  d(this, "temporaryState", { visible: !0 });
135
- d(this, "mediaStore", L({
138
+ d(this, "mediaStore", $({
136
139
  currentMediaElement: null
137
140
  }));
141
+ d(this, "group", new R());
142
+ d(this, "gltfObjectGroup", new R());
138
143
  d(this, "isIOSWX", navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1 && navigator.userAgent.toLowerCase().indexOf("iphone") !== -1);
139
144
  d(this, "store", {
140
145
  disposers: [],
@@ -142,54 +147,84 @@ class Ot extends W {
142
147
  resizeObserverDisposerAdding: !1,
143
148
  css3DRenderDisposer: /* @__PURE__ */ new Map()
144
149
  });
150
+ d(this, "enabledModelTagSet", /* @__PURE__ */ new Set());
151
+ d(this, "changeTagModel", (e, t) => c(this, null, function* () {
152
+ e.data = m({}, e.data, t), yield this.loadModel(e), this.updateRenderAllTags();
153
+ }));
145
154
  d(this, "disposedErrorLog", () => {
146
- console.error(`${v} is disposed`);
155
+ console.error(`${S} is disposed`);
147
156
  });
148
- this.params = p({ debug: !1, config: this.config }, t), this.debug = this.params.debug, this.config = this.params.config, A(1, { namespace: S.GetAudioDuration }), A(1, { namespace: S.PlayAudio }), Object.assign(window, { [`__PANOTAGPLUGIN_DEBUG_${Date.now()}__`]: this }), Object.assign(window, { __PANOTAGPLUGIN_DEBUG__: this });
157
+ d(this, "handleFiveInitAnimationEnded", () => {
158
+ this.five.getCurrentState().mode === "Panorama" && this.tags.forEach((e) => {
159
+ e.temporaryState = f(p({}, e.temporaryState), { visible: !0 });
160
+ });
161
+ });
162
+ d(this, "handleFiveModelShownFloorChange", () => {
163
+ this.tags.forEach((e) => {
164
+ !u(e) || (e.state.visible = this.checkFloorIndex(e));
165
+ }), this.updateRenderAllTags();
166
+ });
167
+ d(this, "loadModel", (e) => c(this, null, function* () {
168
+ var r;
169
+ const t = e.data.modelUrl;
170
+ if (console.log("\u{1F436} ==> url:", t), !t)
171
+ return;
172
+ const i = te(t).then((l) => Object.assign(l.scene, { customID: e.id, isTagModel: !0 }));
173
+ e.model = { promise: i };
174
+ const s = yield i;
175
+ if (((r = e.model) == null ? void 0 : r.promise) !== i || (e.model.object = s, !this.tags.includes(e)))
176
+ return;
177
+ s.visible = e.state.visible, new C().fromArray(e.matrix).decompose(s.position, s.quaternion, s.scale), this.checkFloorIndex(e) || (s.visible = !1);
178
+ const n = this.gltfObjectGroup.children.find((l) => l.customID === e.id);
179
+ return n && this.gltfObjectGroup.remove(n), this.gltfObjectGroup.add(s), this.updateTagCss3DObjectMatrix(e, s), s;
180
+ }));
181
+ this.group.name = "PanoTagPluginModelGroup", this.gltfObjectGroup.name = "PanoTagPluginGLTFObjectGroup", this.group.add(this.gltfObjectGroup), this.params = p({ debug: !1, config: this.config }, t), this.debug = this.params.debug, this.config = this.params.config, L(1, { namespace: U.GetAudioDuration }), L(1, { namespace: U.PlayAudio }), Object.assign(window, { [`__PANOTAGPLUGIN_DEBUG_${Date.now()}__`]: this }), Object.assign(window, { __PANOTAGPLUGIN_DEBUG__: this }), this.state.enabled && this.five.scene.add(this.group);
149
182
  }
150
183
  load(e, t) {
151
- return m(this, null, function* () {
152
- var i, s;
153
- if (this.clearTags(), console.log(v, " load:", { data: e }), this.config = c({}, this.config, {
154
- globalConfig: (i = e.globalConfig) != null ? i : {},
155
- contentTypeConfig: (s = e.contentTypeConfig) != null ? s : {}
156
- }), this.debug)
184
+ return c(this, null, function* () {
185
+ var s, o;
186
+ this.clearTags(), console.log(S, " load:", { data: e }), this.config = m({}, this.config, {
187
+ globalConfig: (s = e.globalConfig) != null ? s : {},
188
+ contentTypeConfig: (o = e.contentTypeConfig) != null ? o : {}
189
+ });
190
+ const i = yield this.addTag(e.tagList, t);
191
+ if (this.debug)
157
192
  try {
158
- B(this.five, this.tags);
159
- } catch (o) {
160
- console.error(o);
193
+ Q(this.five, this.tags);
194
+ } catch (n) {
195
+ console.error(n);
161
196
  }
162
- return this.addTag(e.tagList, t);
197
+ return i;
163
198
  });
164
199
  }
165
200
  addTag(e, t) {
166
- return m(this, null, function* () {
201
+ return c(this, null, function* () {
167
202
  const s = (Array.isArray(e) ? e : [e]).map((o) => {
168
- const n = this.getTagConfig(o);
169
- return f(p({}, o), {
170
- state: p({ visible: void 0, unfolded: G }, n.initialState),
171
- hooks: new F(),
203
+ const n = this.getTagConfig(o), r = f(p({}, o), {
204
+ state: p({ visible: void 0, unfolded: se }, n.initialState),
205
+ hooks: new z(),
172
206
  clickable: n.clickable,
173
207
  mergedConfig: n
174
208
  });
209
+ return u(o) && (r.temporaryState = { visible: !1 }), r;
175
210
  }).filter((o) => o.position);
176
- return s.forEach($), this.tags.push(...s), N(this.five).then(() => {
211
+ return s.forEach(ee), this.tags.push(...s), X(this.five).then(() => {
177
212
  var o, n, r;
178
- return this.store.eventListenerDisposer && ((n = (o = this.store).eventListenerDisposer) == null || n.call(o)), this.state.enabled && (this.store.eventListenerDisposer = this.addEventListener()), this.addResizeListener(), this.checkPanelTag(), this.setVisibleAndUnfolded({ withAnimation: (r = t == null ? void 0 : t.withAnimation) != null ? r : !0 }).then(() => this.updateRenderAllTags()), this.updateRenderAllTags(), !0;
213
+ return this.store.eventListenerDisposer && ((n = (o = this.store).eventListenerDisposer) == null || n.call(o)), this.state.enabled && (this.store.eventListenerDisposer = this.addEventListener()), this.addResizeListener(), this.checkPanelTag(), this.setVisibleAndUnfolded({ withAnimation: (r = t == null ? void 0 : t.withAnimation) != null ? r : !0 }).then(() => this.updateRenderAllTags()), this.updateRenderAllTags(), console.log("\u{1F436} ==> waitFiveModelLoaded:"), this.addMediaModelTag(s);
179
214
  });
180
215
  });
181
216
  }
182
217
  changeConfig(e, t = !0) {
183
- t ? this.config = c({}, this.config, e) : this.config = e, this.updateTagConfig({ force: !0 }), this.updateRenderAllTags();
218
+ t ? this.config = m({}, this.config, e) : this.config = e, this.updateTagConfig({ force: !0 }), this.updateRenderAllTags();
184
219
  }
185
220
  changeGlobalConfig(e, t = !0) {
186
- t ? this.config.globalConfig = c({}, this.config.globalConfig, e) : this.config.globalConfig = e, this.updateTagConfig({ force: !0 }), this.updateRenderAllTags();
221
+ t ? this.config.globalConfig = m({}, this.config.globalConfig, e) : this.config.globalConfig = e, this.updateTagConfig({ force: !0 }), this.updateRenderAllTags();
187
222
  }
188
223
  clearTags() {
189
224
  this.tags = [], this.clearCache(), this.disposeAllCSS3DContainer(), this.updateRenderAllTags();
190
225
  }
191
226
  show(e) {
192
- return m(this, null, function* () {
227
+ return c(this, null, function* () {
193
228
  const { userAction: t = !0, withAnimation: i = !1 } = e != null ? e : {};
194
229
  if (this.store.disposed)
195
230
  return this.disposedErrorLog();
@@ -197,7 +232,7 @@ class Ot extends W {
197
232
  });
198
233
  }
199
234
  hide(e) {
200
- return m(this, null, function* () {
235
+ return c(this, null, function* () {
201
236
  const { userAction: t = !0, withAnimation: i = !1 } = e != null ? e : {};
202
237
  if (this.store.disposed)
203
238
  return this.disposedErrorLog();
@@ -208,20 +243,20 @@ class Ot extends W {
208
243
  const { userAction: t = !0 } = e != null ? e : {};
209
244
  if (this.store.disposed)
210
245
  return this.disposedErrorLog();
211
- this.setState({ enabled: !0 }, { userAction: t }), this.hooks.emit("enable", { userAction: t });
246
+ this.five.scene.children.includes(this.group) || this.five.scene.add(this.group), this.setState({ enabled: !0 }, { userAction: t }), this.hooks.emit("enable", { userAction: t }), this.five.needsRender = !0;
212
247
  }
213
248
  disable(e) {
214
249
  const { userAction: t = !0 } = e != null ? e : {};
215
250
  if (this.store.disposed)
216
251
  return this.disposedErrorLog();
217
- this.setState({ enabled: !1 }, { userAction: t }), this.hooks.emit("disable", { userAction: t });
252
+ this.setState({ enabled: !1 }, { userAction: t }), this.five.scene.remove(this.group), this.hooks.emit("disable", { userAction: t }), this.five.needsRender = !0;
218
253
  }
219
254
  dispose() {
220
255
  var e, t, i, s, o, n;
221
256
  this.pauseCurrentMedia(), this.disposeAllCSS3DContainer(), (e = this.TagContainerSvelte) == null || e.$destroy(), this.filter3DTag().forEach((r) => {
222
257
  var l;
223
258
  return (l = r.tag3DContentSvelte) == null ? void 0 : l.svelteApp.$destroy();
224
- }), this.tags = [], (t = this.store.disposers) == null || t.forEach((r) => r == null ? void 0 : r()), this.store.disposers = [], this.store.disposed = !0, (s = (i = this.store).eventListenerDisposer) == null || s.call(i), this.store.eventListenerDisposer = void 0, (n = (o = this.store).resizeObserverDisposer) == null || n.call(o), this.store.resizeObserverDisposer = void 0, this.store.resizeObserverDisposerAdding = !1, this.clearCache(), this.hooks.emit("dispose");
259
+ }), this.tags = [], (t = this.store.disposers) == null || t.forEach((r) => r == null ? void 0 : r()), this.store.disposers = [], this.store.disposed = !0, (s = (i = this.store).eventListenerDisposer) == null || s.call(i), this.store.eventListenerDisposer = void 0, (n = (o = this.store).resizeObserverDisposer) == null || n.call(o), this.store.resizeObserverDisposer = void 0, this.store.resizeObserverDisposerAdding = !1, this.five.scene.remove(this.group), this.group.remove(...this.group.children), this.gltfObjectGroup.remove(...this.gltfObjectGroup.children), this.clearCache(), this.five.needsRender = !0, this.hooks.emit("dispose");
225
260
  }
226
261
  setState(e, t) {
227
262
  if (this.store.disposed)
@@ -240,18 +275,18 @@ class Ot extends W {
240
275
  }
241
276
  changeTagNormalById(e, t) {
242
277
  const i = this.getTagById(e);
243
- !i || !i.tag3DContentSvelte || (i.tag3DContentSvelte.currentNormal = g(t), this.updateRenderPlaneTag());
278
+ !i || !i.tag3DContentSvelte || (i.tag3DContentSvelte.currentNormal = v(t), this.updateRenderPlaneTag());
244
279
  }
245
280
  changeDataById(e, t, i = !0) {
246
281
  const s = this.getTagById(e);
247
- !s || (i ? s.data = c({}, s.data, t) : s.data = p(p({}, s.data), t), this.checkPanelTag(), this.updateRenderAllTags());
282
+ !s || (i ? s.data = m({}, s.data, t) : s.data = p(p({}, s.data), t), this.checkPanelTag(), this.updateRenderAllTags());
248
283
  }
249
284
  changeStickTypeById(e, t, i = !0) {
250
285
  this.changeTagById(e, t, i);
251
286
  }
252
287
  changeTagById(e, t, i = !0) {
253
288
  const s = this.getTagById(e);
254
- !t || (i ? c(s, t) : Object.assign(s, t), (s == null ? void 0 : s.tag3DContentSvelte) && (t == null ? void 0 : t.normal) && (s.tag3DContentSvelte.currentNormal = g(t.normal)), this.updateRenderAllTags(), this.checkPanelTag());
289
+ !t || (i ? m(s, t) : Object.assign(s, t), (s == null ? void 0 : s.tag3DContentSvelte) && (t == null ? void 0 : t.normal) && (s.tag3DContentSvelte.currentNormal = v(t.normal)), this.updateRenderAllTags(), this.checkPanelTag());
255
290
  }
256
291
  destroyTagById(e) {
257
292
  (Array.isArray(e) ? e : [e]).forEach((i) => {
@@ -262,8 +297,20 @@ class Ot extends W {
262
297
  pauseCurrentMedia() {
263
298
  this.mediaStore.set({ currentMediaElement: null });
264
299
  }
300
+ updateTagCss3DObjectMatrix(e, t) {
301
+ var P, M, w, F;
302
+ const i = (w = (M = (P = e.mergedConfig) == null ? void 0 : P.tag3DConfig) == null ? void 0 : M.ratio) != null ? w : 216e-5, s = (F = e.tag3DContentSvelte) == null ? void 0 : F.domContainer.css3DObject;
303
+ if (!s)
304
+ return;
305
+ const o = u(e) ? e.data.mediaPosition : e.position;
306
+ t.updateWorldMatrix(!1, !1);
307
+ const n = t.matrixWorld, r = new T().fromArray(o[0]), l = new T().fromArray(o[2]), g = new T().lerpVectors(r, l, 0.5).add(new T(0, 0, 5e-4)), A = new C().setPosition(g), B = new C().makeScale(i, i, i), y = new C().multiply(n).multiply(A).multiply(B);
308
+ y.decompose(s.position, s.quaternion, s.scale);
309
+ const b = s.opacityMesh;
310
+ !b || y.decompose(b.position, b.quaternion, b.scale);
311
+ }
265
312
  setVisibleAndUnfolded() {
266
- return m(this, arguments, function* ({ withAnimation: e } = { withAnimation: !1 }) {
313
+ return c(this, arguments, function* ({ withAnimation: e } = { withAnimation: !1 }) {
267
314
  if (!!this.isPanorama)
268
315
  return this.setVisibleByPanoIndex(), e ? new Promise((t, i) => {
269
316
  setTimeout(() => {
@@ -289,9 +336,9 @@ class Ot extends W {
289
336
  });
290
337
  }
291
338
  addEventListener() {
292
- const { five: e, hooks: t } = this, i = this.handleFiveWantsMoveToPano.bind(this), s = this.handleFiveModeChange.bind(this), o = this.handleFiveCameraUpdate.bind(this), n = this.handleFiveCameraUpdateDebounce(), r = this.handleFivePanoArrived.bind(this), l = this.loadVideoFirstFrame.bind(this), b = this.clickhandler.bind(this);
293
- return this.five.currentMode && (this.isPanorama ? (this.handleFivePanoArrived(), this.temporaryShow({ withAnimation: !0 })) : this.temporaryHide()), e.on("wantsMoveToPano", i), e.on("modeChange", s), e.on("cameraUpdate", o), e.on("cameraUpdate", n), e.on("panoArrived", r), e.on("panoArrived", l), t.on("click", b), () => {
294
- e.off("wantsMoveToPano", i), e.off("modeChange", s), e.off("cameraUpdate", o), e.off("cameraUpdate", n), e.off("panoArrived", r), e.off("panoArrived", l), t.off("click", b), this.store.eventListenerDisposer = void 0;
339
+ const { five: e, hooks: t } = this, i = this.handleFiveWantsMoveToPano.bind(this), s = this.handleFiveModeChange.bind(this), o = this.handleFiveCameraUpdate.bind(this), n = this.handleFiveCameraUpdateDebounce(), r = this.handleFivePanoArrived.bind(this), l = this.loadVideoFirstFrame.bind(this), g = this.clickhandler.bind(this), A = this.five.currentMode;
340
+ return this.handleFiveModeChange(A), this.handleFivePanoArrived(), e.on("wantsMoveToPano", i), e.on("modeChange", s), e.on("initAnimationEnded", this.handleFiveInitAnimationEnded), e.on("modelShownFloorChange", this.handleFiveModelShownFloorChange), e.on("cameraUpdate", o), e.on("cameraUpdate", n), e.on("panoArrived", r), e.on("panoArrived", l), t.on("click", g), () => {
341
+ e.off("wantsMoveToPano", i), e.off("modeChange", s), e.off("initAnimationEnded", this.handleFiveInitAnimationEnded), e.off("modelShownFloorChange", this.handleFiveModelShownFloorChange), e.off("cameraUpdate", o), e.off("cameraUpdate", n), e.off("panoArrived", r), e.off("panoArrived", l), t.off("click", g), this.store.eventListenerDisposer = void 0;
295
342
  };
296
343
  }
297
344
  loadVideoFirstFrame() {
@@ -312,13 +359,13 @@ class Ot extends W {
312
359
  !this.state.enabled || (this.show(), this.updateRenderAllTags());
313
360
  }, i = () => {
314
361
  !this.state.enabled || this.hide();
315
- }, { observe: s, unobserve: o } = D(
316
- z(() => {
362
+ }, { observe: s, unobserve: o } = I(
363
+ K(() => {
317
364
  !this.store.resizeObserverDisposer || i();
318
365
  }, 500),
319
366
  e
320
- ), { observe: n, unobserve: r } = D(
321
- C(() => t(), 400),
367
+ ), { observe: n, unobserve: r } = I(
368
+ k(() => t(), 400),
322
369
  e
323
370
  );
324
371
  return s(), n(), () => {
@@ -326,7 +373,13 @@ class Ot extends W {
326
373
  };
327
374
  }
328
375
  handleFiveModeChange(e) {
329
- e === "Panorama" ? this.five.once("panoArrived", () => this.temporaryShow({ withAnimation: !0 })) : this.temporaryHide();
376
+ this.tags.forEach((t) => {
377
+ if (u(t)) {
378
+ e !== "Panorama" && (t.mediaVisible = this.checkFloorIndex(t)), this.changeTagMode(t, e === "Panorama" ? "front" : "behind"), this.updateRenderAllTags();
379
+ return;
380
+ }
381
+ e !== "Panorama" && (t.temporaryState = f(p({}, t.temporaryState), { visible: !1 }));
382
+ }), this.updateRenderAllTags();
330
383
  }
331
384
  handleFiveWantsMoveToPano() {
332
385
  this.tags.forEach((e) => {
@@ -351,7 +404,7 @@ class Ot extends W {
351
404
  }), this.updateRenderAllTags());
352
405
  }
353
406
  updateRenderAllTags() {
354
- this.updateRenderPointTag(), this.updateRenderPlaneTag();
407
+ this.enabledModelTagSet.clear(), this.tags.forEach((e) => e.stickType === "Model" && this.enabledModelTagSet.add(e.id)), this.updateRenderPointTag(), this.updateRenderPlaneTag(), this.updateRenderModelTag();
355
408
  }
356
409
  updateTagContainerVisible() {
357
410
  var e;
@@ -369,7 +422,7 @@ class Ot extends W {
369
422
  });
370
423
  }
371
424
  handleFiveCameraUpdateDebounce() {
372
- return C(() => {
425
+ return k(() => {
373
426
  this.setUnfoldedByCamera(), this.updateRenderAllTags();
374
427
  }, 100);
375
428
  }
@@ -377,8 +430,8 @@ class Ot extends W {
377
430
  this.updateRenderPointTag();
378
431
  }
379
432
  handleFivePanoArrived() {
380
- return m(this, null, function* () {
381
- yield this.setVisibleAndUnfolded(), this.tags.forEach((e) => {
433
+ return c(this, null, function* () {
434
+ yield this.setVisibleAndUnfolded(), this.setModelMedialVisibleByPanoIndex(), this.tags.forEach((e) => {
382
435
  e.temporaryState = f(p({}, e.temporaryState), { visible: !0 });
383
436
  }), this.store.visibleWithAnimation = !0, this.updateTagContainerVisible();
384
437
  });
@@ -402,14 +455,14 @@ class Ot extends W {
402
455
  const i = (t = this.five.getElement()) == null ? void 0 : t.parentElement;
403
456
  if (!i)
404
457
  return console.error("updateRenderPlaneTag: tag2DContainer not found");
405
- this.TagContainerSvelte = new O({
458
+ this.TagContainerSvelte = new q({
406
459
  target: i,
407
460
  props: { hooks: this.hooks, tags: e, state: this.state, temporaryState: this.temporaryState, mediaStore: this.mediaStore }
408
461
  });
409
462
  }
410
463
  }
411
464
  updateRenderPlaneTag() {
412
- this.sort([...this.filterPlaneTag(), ...this.filter3DPointTag()]).forEach((t) => {
465
+ this.sort([...this.filterPlaneTag(), ...this.filter3DPointTag(), ...this.filterModelTag()]).forEach((t) => {
413
466
  var i;
414
467
  if (t.tag3DContentSvelte) {
415
468
  const { svelteApp: s, domContainer: o, initialNormal: n, currentNormal: r } = t.tag3DContentSvelte;
@@ -419,24 +472,41 @@ class Ot extends W {
419
472
  state: this.state,
420
473
  temporaryState: this.temporaryState
421
474
  }), !n.equals(r)) {
422
- const l = new U().setFromUnitVectors(n, r);
475
+ const l = new _().setFromUnitVectors(n, r);
423
476
  o.css3DObject.setRotationFromQuaternion(l);
424
477
  }
425
478
  } else {
426
479
  if (((i = t.state) == null ? void 0 : i.visible) === !1)
427
480
  return;
428
- if (this.css3DRenderPlugin || (this.css3DRenderPlugin = _(this.five)), t.stickType === "3DPoint" && !t.normal)
481
+ if (this.css3DRenderPlugin || (this.css3DRenderPlugin = Z(this.five)), t.stickType === "3DPoint" && !t.normal)
429
482
  return console.error("updateRenderPlaneTag: \u4E09\u7EF4\u70B9\u6807\u7B7E\u7F3A\u5C11\u6CD5\u5411\u91CF\uFF01");
430
- const s = t.stickType === "Plane" ? t.position : V(this.five.camera.position, g(t.position), g(t.normal)), o = t.stickType === "Plane" ? M(t.position) : g(t.normal), n = this.getTagConfig(t).tag3DConfig, r = this.css3DRenderPlugin.create3DDomContainer(s, n);
483
+ const s = (() => t.stickType === "Plane" ? t.position : t.stickType === "Model" && t.contentType === "MediaModel" ? ie(t) : J(
484
+ this.five.camera.position,
485
+ v(t.position),
486
+ v(t.normal)
487
+ ))();
488
+ if (!s)
489
+ return;
490
+ const o = function() {
491
+ if (t.normal)
492
+ return v(t.normal);
493
+ if (t.stickType === "Plane")
494
+ return O(t.position);
495
+ if (t.contentType === "MediaModel")
496
+ return O(s);
497
+ }();
498
+ if (!o)
499
+ return;
500
+ const n = this.getTagConfig(t).tag3DConfig, r = this.css3DRenderPlugin.create3DDomContainer(s, n);
431
501
  if (!r)
432
502
  return;
433
503
  this.store.css3DRenderDisposer.set(t.id, r.dispose), t.tag3DContentSvelte = {
434
- svelteApp: new I({
504
+ svelteApp: new H({
435
505
  target: r.container,
436
506
  props: {
437
507
  tag: t,
438
508
  hooks: this.hooks,
439
- state: this.state,
509
+ state: t.contentType === "MediaModel" ? f(p({}, this.state), { visible: !1 }) : this.state,
440
510
  mediaStore: this.mediaStore,
441
511
  temporaryState: this.temporaryState
442
512
  }
@@ -448,6 +518,15 @@ class Ot extends W {
448
518
  }
449
519
  }), this.checkPanelTag();
450
520
  }
521
+ updateRenderModelTag() {
522
+ const e = (i) => !this.enabledModelTagSet.has(i.customID);
523
+ this.gltfObjectGroup.remove(...this.gltfObjectGroup.children.filter(e)), this.tags.filter(u).forEach((i) => {
524
+ var s;
525
+ (s = i.model) == null || s.promise.then((o) => {
526
+ o.visible = i.state.visible;
527
+ });
528
+ });
529
+ }
451
530
  disposeAllCSS3DContainer() {
452
531
  for (const [e, t] of this.store.css3DRenderDisposer)
453
532
  t == null || t();
@@ -463,9 +542,15 @@ class Ot extends W {
463
542
  (!i || i.stickType === "2DPoint") && (t == null || t(), this.store.css3DRenderDisposer.delete(e));
464
543
  }
465
544
  }
545
+ addMediaModelTag(e) {
546
+ return c(this, null, function* () {
547
+ const t = e.filter(u).map(this.loadModel);
548
+ yield Promise.all(t), this.five.getCurrentState().mode === "Panorama" && this.setModelMedialVisibleByPanoIndex(), this.updateRenderAllTags();
549
+ });
550
+ }
466
551
  }
467
552
  export {
468
- Ot as PanoTagPluginController,
469
- Ot as default,
470
- Lt as pluginFlag
553
+ Xt as PanoTagPluginController,
554
+ Xt as default,
555
+ Qt as pluginFlag
471
556
  };
@@ -1,7 +1,8 @@
1
1
  import t from "./controller/index.js";
2
- import { default as Wo, pluginFlag as Xo } from "./controller/index.js";
3
- import { ContentType as Zo } from "./typings/tag/TagData.js";
4
- import { DimensionType as $o, PointType as or } from "./typings/tag/Utils.js";
2
+ import { default as Zo, pluginFlag as _o } from "./controller/index.js";
3
+ import "@realsee/five/gltf-loader";
4
+ import { ContentType as or } from "./typings/tag/TagData.js";
5
+ import { DimensionType as tr, PointType as pr } from "./typings/tag/Utils.js";
5
6
  import "@realsee/five";
6
7
  import "three";
7
8
  import "object-assign-deep";
@@ -64,6 +65,7 @@ import "../CSS3DRenderPlugin/utils/three/CSS3DGroup.js";
64
65
  import "../CSS3DRenderPlugin/utils/generateBehindFiveElement.js";
65
66
  import "../shared-utils/animationFrame/BetterTween.js";
66
67
  import "../shared-utils/animationFrame/index.js";
68
+ import "./utils/tag/tagCheck.js";
67
69
  import "./Components/Tag/AudioTag/index.js";
68
70
  import "./Components/Tag/AudioTag/AudioTag.js";
69
71
  import "./Components/Common/Audio.js";
@@ -87,7 +89,6 @@ import "./utils/throttle.js";
87
89
  import "./utils/resizeObserver.js";
88
90
  import "./controller/TagComputer.js";
89
91
  import "./tag.config.js";
90
- import "./utils/tag/tagCheck.js";
91
92
  import "./utils/tagPosition.js";
92
93
  import "./utils/checkRange.js";
93
94
  import "./controller/TagCacheController.js";
@@ -96,13 +97,15 @@ import "../CSS3DRenderPlugin/index.js";
96
97
  import "../CSS3DRenderPlugin/Controller.js";
97
98
  import "../CSS3DRenderPlugin/utils/waitFiveModelLoaded.js";
98
99
  import "./utils/tag/format.js";
99
- const So = (o, r) => new t(o, r);
100
+ import "../shared-utils/three/GLTFLoader.js";
101
+ import "./utils/tag/index.js";
102
+ const Wo = (o, r) => new t(o, r);
100
103
  export {
101
- Zo as ContentType,
102
- $o as DimensionType,
103
- So as PanoTagPlugin,
104
- Wo as PanoTagPluginController,
105
- or as PointType,
106
- So as default,
107
- Xo as pluginFlag
104
+ or as ContentType,
105
+ tr as DimensionType,
106
+ Wo as PanoTagPlugin,
107
+ Zo as PanoTagPluginController,
108
+ pr as PointType,
109
+ Wo as default,
110
+ _o as pluginFlag
108
111
  };