@realsee/dnalogel 2.0.0-alpha.9 → 2.0.0-beta.36

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 (485) hide show
  1. package/README.md +78 -28
  2. package/components/index.js +1450 -0
  3. package/dist/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  4. package/dist/CSS3DRenderPlugin/index.d.ts +3 -48
  5. package/dist/CSS3DRenderPlugin/index.js +27 -26
  6. package/dist/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  7. package/dist/CameraMovementPlugin/index.d.ts +4 -6
  8. package/dist/CameraMovementPlugin/index.js +12 -12
  9. package/dist/CameraMovementPlugin/typing.d.ts +1 -1
  10. package/dist/ItemLabelPlugin/Plugin.d.ts +4 -0
  11. package/dist/ItemLabelPlugin/events.type.d.ts +9 -0
  12. package/dist/ItemLabelPlugin/index.d.ts +9 -0
  13. package/dist/ItemLabelPlugin/index.js +941 -0
  14. package/dist/ItemLabelPlugin/typings.d.ts +59 -0
  15. package/dist/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
  16. package/dist/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
  17. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +6 -0
  18. package/dist/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  19. package/dist/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  20. package/dist/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  21. package/dist/ModelChassisCompassPlugin/index.d.ts +3 -18
  22. package/dist/ModelChassisCompassPlugin/index.js +8 -5
  23. package/dist/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  24. package/dist/ModelEntryDoorGuidePlugin/index.d.ts +3 -25
  25. package/dist/ModelEntryDoorGuidePlugin/index.js +20 -20
  26. package/dist/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  27. package/dist/ModelItemLabelPlugin/events.type.d.ts +9 -0
  28. package/dist/ModelItemLabelPlugin/index.d.ts +9 -0
  29. package/dist/ModelItemLabelPlugin/index.js +674 -0
  30. package/dist/ModelItemLabelPlugin/typings.d.ts +56 -0
  31. package/dist/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  32. package/dist/ModelRoomLabelPlugin/index.js +153 -73
  33. package/dist/ModelRoomLabelPlugin/utils/parseData.d.ts +1 -1
  34. package/dist/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  35. package/dist/ModelTVVideoPlugin/index.d.ts +5 -0
  36. package/dist/ModelTVVideoPlugin/index.js +301 -0
  37. package/dist/ModelTVVideoPlugin/typings.d.ts +25 -0
  38. package/dist/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  39. package/dist/ModelViewPlugin/Plugin.d.ts +17 -0
  40. package/dist/ModelViewPlugin/index.d.ts +3 -16
  41. package/dist/PanoCompassPlugin/Plugin.d.ts +47 -0
  42. package/dist/PanoCompassPlugin/index.d.ts +4 -47
  43. package/dist/PanoCompassPlugin/index.js +242 -129
  44. package/dist/PanoCursorRaycasterPlugin/index.d.ts +1 -1
  45. package/dist/PanoCursorRaycasterPlugin/index.js +5 -3
  46. package/dist/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -9
  47. package/dist/PanoMeasurePlugin/Controller/EditController.d.ts +1 -1
  48. package/dist/PanoMeasurePlugin/Controller/MixedController.d.ts +44 -0
  49. package/dist/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +2 -2
  50. package/dist/PanoMeasurePlugin/Controller/WatchController.d.ts +2 -1
  51. package/dist/PanoMeasurePlugin/Controller/index.d.ts +18 -9
  52. package/dist/PanoMeasurePlugin/Model/index.d.ts +2 -2
  53. package/dist/PanoMeasurePlugin/Model/line.d.ts +5 -5
  54. package/dist/PanoMeasurePlugin/Model/point.d.ts +2 -2
  55. package/dist/PanoMeasurePlugin/Model/polyline.d.ts +3 -3
  56. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +1 -1
  57. package/dist/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +1 -1
  58. package/dist/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +5 -2
  59. package/dist/PanoMeasurePlugin/Modules/FiveHelper.d.ts +1 -1
  60. package/dist/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
  61. package/dist/PanoMeasurePlugin/Modules/Magnifier.d.ts +50 -15
  62. package/dist/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +1 -1
  63. package/dist/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.d.ts +12 -0
  64. package/dist/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +2 -1
  65. package/dist/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -1
  66. package/dist/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  67. package/dist/PanoMeasurePlugin/Modules/UIController/style.d.ts +2 -0
  68. package/dist/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  69. package/dist/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +42 -0
  70. package/dist/PanoMeasurePlugin/index.d.ts +9 -6
  71. package/dist/PanoMeasurePlugin/index.js +2649 -3442
  72. package/dist/PanoMeasurePlugin/typings/data.d.ts +4 -0
  73. package/dist/PanoMeasurePlugin/typings/event.type.d.ts +14 -5
  74. package/dist/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
  75. package/dist/PanoMeasurePlugin/utils/clearGroup.d.ts +1 -1
  76. package/dist/PanoMeasurePlugin/utils/constants.d.ts +1 -1
  77. package/dist/PanoMeasurePlugin/utils/distanceDom.d.ts +3 -3
  78. package/dist/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +1 -1
  79. package/dist/PanoMeasurePlugin/utils/findClosestPoint.d.ts +3 -3
  80. package/dist/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +2 -2
  81. package/dist/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +1 -1
  82. package/dist/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +1 -1
  83. package/dist/PanoMeasurePlugin/utils/line.d.ts +1 -1
  84. package/dist/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -2
  85. package/dist/PanoRulerPlugin/Plugin.d.ts +31 -0
  86. package/dist/PanoRulerPlugin/index.d.ts +4 -30
  87. package/dist/PanoRulerPlugin/index.js +12 -12
  88. package/dist/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  89. package/dist/PanoSpatialTagPlugin/index.d.ts +5 -0
  90. package/dist/PanoSpatialTagPlugin/index.js +1307 -0
  91. package/dist/PanoSpatialTagPlugin/store.d.ts +1 -0
  92. package/dist/PanoSpatialTagPlugin/style.d.ts +1 -0
  93. package/dist/PanoSpatialTagPlugin/typings.d.ts +40 -0
  94. package/dist/base/BasePlugin.d.ts +100 -0
  95. package/dist/base/BasePluginWithData.d.ts +34 -0
  96. package/dist/components/PaintBrush/Controller.d.ts +43 -0
  97. package/dist/components/PaintBrush/Subscribe.d.ts +76 -0
  98. package/dist/components/PaintBrush/index.d.ts +27 -0
  99. package/dist/components/PaintBrush/style.d.ts +2 -0
  100. package/dist/components/PaintBrush/tween.d.ts +62 -0
  101. package/dist/components/PaintBrush/typings.d.ts +58 -0
  102. package/dist/components/PaintBrush/utils.d.ts +26 -0
  103. package/dist/components/index.d.ts +2 -0
  104. package/dist/floorplan/{ModelFloorplanPlugin/Assets → Assets}/compass.d.ts +0 -0
  105. package/dist/floorplan/ModelFloorplanPlugin/Controller.d.ts +70 -77
  106. package/dist/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  107. package/dist/floorplan/ModelFloorplanPlugin/index.js +2319 -1620
  108. package/dist/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  109. package/dist/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +24 -16
  110. package/dist/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  111. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +601 -266
  112. package/dist/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  113. package/dist/floorplan/TopviewFloorplanPlugin/Controller.d.ts +53 -47
  114. package/dist/floorplan/TopviewFloorplanPlugin/index.d.ts +6 -4
  115. package/dist/floorplan/TopviewFloorplanPlugin/index.js +2198 -1428
  116. package/dist/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  117. package/dist/floorplan/index.d.ts +6 -0
  118. package/dist/floorplan/utils/constant.d.ts +22 -0
  119. package/dist/floorplan/utils/correctFiveState.d.ts +15 -0
  120. package/dist/floorplan/utils/formatPosition.d.ts +1 -1
  121. package/dist/index.d.ts +15 -24
  122. package/dist/index.es.js +10694 -7145
  123. package/dist/index.js +10432 -6869
  124. package/dist/index.umd.js +10435 -6875
  125. package/dist/shared-utils/five/changeMode.d.ts +4 -1
  126. package/dist/shared-utils/getPxmm.d.ts +8 -0
  127. package/dist/shared-utils/index.d.ts +1 -0
  128. package/dist/shared-utils/math/Interval.d.ts +13 -0
  129. package/dist/shared-utils/math/Rectangle.d.ts +27 -0
  130. package/dist/shared-utils/math/index.d.ts +2 -0
  131. package/dist/shared-utils/three/getExtraModelLoader.d.ts +1 -1
  132. package/dist/shared-utils/three/getNormal.d.ts +1 -1
  133. package/dist/shared-utils/three/getTextureLoader.d.ts +1 -1
  134. package/dist/shared-utils/three/loadFbxObj.d.ts +1 -1
  135. package/dist/shared-utils/tinyEJSrender.d.ts +5 -0
  136. package/dist/shared-utils/uuid.d.ts +1 -0
  137. package/dist/shared-utils/vectorTocoordinates.d.ts +1 -1
  138. package/docs/assets/search.js +1 -1
  139. package/docs/classes/Magnifier.html +9 -0
  140. package/docs/classes/ModelRoomLabelController.html +5 -8
  141. package/docs/enums/CameraMovementEffect.html +3 -0
  142. package/docs/enums/DIRECTION.html +1 -0
  143. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -0
  144. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  145. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -0
  146. package/docs/enums/Rotation.html +3 -0
  147. package/docs/index.html +78 -33
  148. package/docs/interfaces/CSS3DRenderPluginExportType.html +4 -0
  149. package/docs/interfaces/CameraMovementPluginExportType.html +17 -0
  150. package/docs/interfaces/FloorplanBounding.html +10 -0
  151. package/docs/interfaces/FloorplanData.html +3 -0
  152. package/docs/interfaces/FloorplanEntrance.html +15 -0
  153. package/docs/interfaces/FloorplanExtraObject.html +7 -0
  154. package/docs/interfaces/FloorplanExtraObject3D.html +3 -0
  155. package/docs/interfaces/FloorplanFloorData.html +3 -0
  156. package/docs/interfaces/FloorplanImagePosition.html +3 -0
  157. package/docs/interfaces/FloorplanObserver.html +5 -0
  158. package/docs/interfaces/FloorplanOutlineItem.html +3 -0
  159. package/docs/interfaces/FloorplanPosition.html +3 -0
  160. package/docs/interfaces/FloorplanRoomItem.html +17 -0
  161. package/docs/interfaces/FloorplanRoomLabelItem.html +7 -0
  162. package/docs/interfaces/FloorplanServerBounding.html +10 -0
  163. package/docs/interfaces/FloorplanServerComputedData.html +1 -0
  164. package/docs/interfaces/FloorplanServerData.html +3 -0
  165. package/docs/interfaces/FloorplanServerEntrance.html +15 -0
  166. package/docs/interfaces/FloorplanServerFloorData.html +3 -0
  167. package/docs/interfaces/FloorplanServerImagePosition.html +3 -0
  168. package/docs/interfaces/FloorplanServerObserver.html +5 -0
  169. package/docs/interfaces/FloorplanServerOutlineItem.html +3 -0
  170. package/docs/interfaces/FloorplanServerPosition.html +3 -0
  171. package/docs/interfaces/FloorplanServerRoomItem.html +20 -0
  172. package/docs/interfaces/FloorplanServerRoomLabelItem.html +7 -0
  173. package/docs/interfaces/ItemLabelPluginData.html +1 -0
  174. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -0
  175. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -0
  176. package/docs/interfaces/LineJson.html +1 -1
  177. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  178. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  179. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  180. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  181. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  182. package/docs/interfaces/ModelItemLabelPluginData.html +1 -0
  183. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -0
  184. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -0
  185. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  186. package/docs/interfaces/ModelTVVideoPluginData.html +1 -0
  187. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -0
  188. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -0
  189. package/docs/interfaces/ModelViewPluginExportType.html +1 -0
  190. package/docs/interfaces/OpenParameter.html +3 -0
  191. package/docs/interfaces/PanoCompassPluginData.html +1 -1
  192. package/docs/interfaces/PanoCompassPluginParameterType.html +1 -1
  193. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +6 -6
  194. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -0
  195. package/docs/interfaces/PanoMeasureParameterType.html +1 -0
  196. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  197. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  198. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  199. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -0
  200. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -0
  201. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -0
  202. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -0
  203. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -0
  204. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -0
  205. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -0
  206. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -0
  207. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -0
  208. package/docs/interfaces/Point.html +1 -0
  209. package/docs/interfaces/PointJson.html +1 -1
  210. package/docs/interfaces/Room.html +1 -0
  211. package/docs/interfaces/RoomInfo.html +1 -0
  212. package/docs/interfaces/RoomLabel.html +7 -7
  213. package/docs/interfaces/RoomRules.html +1 -0
  214. package/docs/interfaces/Rooms.html +1 -0
  215. package/docs/modules.html +26 -18
  216. package/libs/CSS3DRenderPlugin/Plugin.d.ts +49 -0
  217. package/libs/CSS3DRenderPlugin/Plugin.js +182 -0
  218. package/libs/CSS3DRenderPlugin/index.d.ts +3 -48
  219. package/libs/CSS3DRenderPlugin/index.js +2 -180
  220. package/libs/CameraMovementPlugin/CameraMovementPlugin.d.ts +7 -0
  221. package/libs/CameraMovementPlugin/CameraMovementPlugin.js +159 -0
  222. package/libs/CameraMovementPlugin/index.d.ts +4 -6
  223. package/libs/CameraMovementPlugin/index.js +3 -158
  224. package/libs/CameraMovementPlugin/typing.d.ts +1 -1
  225. package/libs/ItemLabelPlugin/ItemLabelComponent.js +577 -0
  226. package/libs/ItemLabelPlugin/ItemLabelItem.js +227 -0
  227. package/libs/ItemLabelPlugin/Plugin.d.ts +4 -0
  228. package/libs/ItemLabelPlugin/Plugin.js +120 -0
  229. package/libs/ItemLabelPlugin/events.type.d.ts +9 -0
  230. package/libs/ItemLabelPlugin/events.type.js +1 -0
  231. package/libs/ItemLabelPlugin/index.d.ts +9 -0
  232. package/libs/ItemLabelPlugin/index.js +8 -0
  233. package/libs/ItemLabelPlugin/typings.d.ts +59 -0
  234. package/libs/ItemLabelPlugin/typings.js +7 -0
  235. package/libs/ItemLabelPlugin/utils/getLabelTransform.d.ts +1 -0
  236. package/libs/ItemLabelPlugin/utils/getLabelTransform.js +3 -0
  237. package/libs/ItemLabelPlugin/utils/getStrokeLength.d.ts +5 -0
  238. package/libs/ItemLabelPlugin/utils/getStrokeLength.js +16 -0
  239. package/libs/ItemLabelPlugin/utils/isImpacted.d.ts +6 -0
  240. package/libs/ItemLabelPlugin/utils/isImpacted.js +13 -0
  241. package/libs/ItemLabelPlugin/utils/parseData.d.ts +3 -0
  242. package/libs/ItemLabelPlugin/utils/parseData.js +4 -0
  243. package/libs/ItemLabelPlugin/utils/transform2RenderData.d.ts +3 -0
  244. package/libs/ItemLabelPlugin/utils/transform2RenderData.js +4 -0
  245. package/libs/ModelChassisCompassPlugin/Plugin.d.ts +19 -0
  246. package/libs/ModelChassisCompassPlugin/Plugin.js +77 -0
  247. package/libs/ModelChassisCompassPlugin/index.d.ts +3 -18
  248. package/libs/ModelChassisCompassPlugin/index.js +2 -74
  249. package/libs/ModelEntryDoorGuidePlugin/Plugin.d.ts +26 -0
  250. package/libs/ModelEntryDoorGuidePlugin/Plugin.js +140 -0
  251. package/libs/ModelEntryDoorGuidePlugin/index.d.ts +3 -25
  252. package/libs/ModelEntryDoorGuidePlugin/index.js +2 -136
  253. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +409 -0
  254. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +133 -0
  255. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.d.ts +4 -0
  256. package/libs/ModelItemLabelPlugin/ModelItemLabelPlugin.js +120 -0
  257. package/libs/ModelItemLabelPlugin/events.type.d.ts +9 -0
  258. package/libs/ModelItemLabelPlugin/events.type.js +1 -0
  259. package/libs/ModelItemLabelPlugin/index.d.ts +9 -0
  260. package/libs/ModelItemLabelPlugin/index.js +8 -0
  261. package/libs/ModelItemLabelPlugin/typings.d.ts +56 -0
  262. package/libs/ModelItemLabelPlugin/typings.js +7 -0
  263. package/libs/ModelItemLabelPlugin/utils/parseData.d.ts +3 -0
  264. package/libs/ModelItemLabelPlugin/utils/parseData.js +4 -0
  265. package/libs/ModelRoomLabelPlugin/Controller.js +65 -23
  266. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +83 -45
  267. package/libs/ModelRoomLabelPlugin/utils/parseData.d.ts +1 -1
  268. package/libs/ModelSimulationPlugin/index.d.ts +33 -0
  269. package/libs/ModelSimulationPlugin/index.js +166 -0
  270. package/libs/ModelSimulationPlugin/shaders/fragment.d.ts +2 -0
  271. package/libs/ModelSimulationPlugin/shaders/fragment.js +96 -0
  272. package/libs/ModelSimulationPlugin/shaders/vertex.d.ts +2 -0
  273. package/libs/ModelSimulationPlugin/shaders/vertex.js +23 -0
  274. package/libs/ModelTVVideoPlugin/Plugin.d.ts +4 -0
  275. package/libs/ModelTVVideoPlugin/Plugin.js +254 -0
  276. package/libs/ModelTVVideoPlugin/index.d.ts +5 -0
  277. package/libs/ModelTVVideoPlugin/index.js +4 -0
  278. package/libs/ModelTVVideoPlugin/typings.d.ts +25 -0
  279. package/libs/ModelTVVideoPlugin/typings.js +8 -0
  280. package/libs/ModelTVVideoPlugin/utils/parseData.d.ts +2 -0
  281. package/libs/ModelTVVideoPlugin/utils/parseData.js +13 -0
  282. package/libs/ModelViewPlugin/Plugin.d.ts +17 -0
  283. package/libs/ModelViewPlugin/Plugin.js +160 -0
  284. package/libs/ModelViewPlugin/index.d.ts +3 -16
  285. package/libs/ModelViewPlugin/index.js +2 -159
  286. package/libs/PanoCompassPlugin/Plugin.d.ts +47 -0
  287. package/libs/PanoCompassPlugin/Plugin.js +249 -0
  288. package/libs/PanoCompassPlugin/index.d.ts +4 -47
  289. package/libs/PanoCompassPlugin/index.js +3 -167
  290. package/libs/PanoCursorRaycasterPlugin/index.d.ts +1 -1
  291. package/libs/PanoCursorRaycasterPlugin/index.js +5 -3
  292. package/libs/PanoMeasurePlugin/Controller/BaseController.d.ts +12 -9
  293. package/libs/PanoMeasurePlugin/Controller/BaseController.js +77 -14
  294. package/libs/PanoMeasurePlugin/Controller/EditController.d.ts +1 -1
  295. package/libs/PanoMeasurePlugin/Controller/EditController.js +268 -155
  296. package/libs/PanoMeasurePlugin/Controller/MixedController.d.ts +44 -0
  297. package/libs/PanoMeasurePlugin/Controller/MixedController.js +337 -0
  298. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.d.ts +2 -2
  299. package/libs/PanoMeasurePlugin/Controller/ShortcutKeyController.js +40 -20
  300. package/libs/PanoMeasurePlugin/Controller/WatchController.d.ts +2 -1
  301. package/libs/PanoMeasurePlugin/Controller/WatchController.js +246 -153
  302. package/libs/PanoMeasurePlugin/Controller/index.d.ts +18 -9
  303. package/libs/PanoMeasurePlugin/Controller/index.js +182 -54
  304. package/libs/PanoMeasurePlugin/Model/index.d.ts +2 -2
  305. package/libs/PanoMeasurePlugin/Model/index.js +30 -5
  306. package/libs/PanoMeasurePlugin/Model/line.d.ts +5 -5
  307. package/libs/PanoMeasurePlugin/Model/line.js +61 -11
  308. package/libs/PanoMeasurePlugin/Model/point.d.ts +2 -2
  309. package/libs/PanoMeasurePlugin/Model/point.js +24 -4
  310. package/libs/PanoMeasurePlugin/Model/polyline.d.ts +3 -3
  311. package/libs/PanoMeasurePlugin/Model/polyline.js +20 -3
  312. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.d.ts +1 -1
  313. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete.svg.js +11 -14
  314. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.d.ts +1 -1
  315. package/libs/PanoMeasurePlugin/Modules/DeleteDom/_Assets/delete_bg.png.js +1 -1
  316. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.d.ts +5 -2
  317. package/libs/PanoMeasurePlugin/Modules/DeleteDom/index.js +107 -25
  318. package/libs/PanoMeasurePlugin/Modules/FiveHelper.d.ts +1 -1
  319. package/libs/PanoMeasurePlugin/Modules/FiveHelper.js +23 -8
  320. package/libs/PanoMeasurePlugin/Modules/GuideController.d.ts +1 -1
  321. package/libs/PanoMeasurePlugin/Modules/GuideController.js +61 -26
  322. package/libs/PanoMeasurePlugin/Modules/Magnifier.d.ts +50 -15
  323. package/libs/PanoMeasurePlugin/Modules/Magnifier.js +234 -59
  324. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.d.ts +1 -1
  325. package/libs/PanoMeasurePlugin/Modules/UIController/MainBtnController.js +84 -38
  326. package/libs/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.d.ts +12 -0
  327. package/libs/PanoMeasurePlugin/Modules/UIController/NewMainBtnController.js +98 -0
  328. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.d.ts +2 -1
  329. package/libs/PanoMeasurePlugin/Modules/UIController/Revoke/index.js +52 -17
  330. package/libs/PanoMeasurePlugin/Modules/UIController/index.d.ts +5 -1
  331. package/libs/PanoMeasurePlugin/Modules/UIController/index.js +84 -34
  332. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.d.ts +2 -0
  333. package/libs/PanoMeasurePlugin/Modules/UIController/mobileHTML.js +80 -0
  334. package/libs/PanoMeasurePlugin/Modules/UIController/style.d.ts +2 -0
  335. package/libs/PanoMeasurePlugin/Modules/UIController/style.js +11 -1
  336. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.d.ts +4 -0
  337. package/libs/PanoMeasurePlugin/Modules/rangePiece/html.js +64 -0
  338. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.d.ts +42 -0
  339. package/libs/PanoMeasurePlugin/Modules/rangePiece/index.js +265 -0
  340. package/libs/PanoMeasurePlugin/index.d.ts +9 -6
  341. package/libs/PanoMeasurePlugin/index.js +3 -1
  342. package/libs/PanoMeasurePlugin/typings/data.d.ts +4 -0
  343. package/libs/PanoMeasurePlugin/typings/event.type.d.ts +14 -5
  344. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.d.ts +10 -0
  345. package/libs/PanoMeasurePlugin/utils/calculateThreeMouse.js +15 -0
  346. package/libs/PanoMeasurePlugin/utils/clearGroup.d.ts +1 -1
  347. package/libs/PanoMeasurePlugin/utils/constants.d.ts +1 -1
  348. package/libs/PanoMeasurePlugin/utils/constants.js +7 -7
  349. package/libs/PanoMeasurePlugin/utils/distanceDom.d.ts +3 -3
  350. package/libs/PanoMeasurePlugin/utils/distanceDom.js +22 -16
  351. package/libs/PanoMeasurePlugin/utils/findAssociatedLines.d.ts +1 -1
  352. package/libs/PanoMeasurePlugin/utils/findClosestPoint.d.ts +3 -3
  353. package/libs/PanoMeasurePlugin/utils/getIntersectionFromEvent.d.ts +2 -2
  354. package/libs/PanoMeasurePlugin/utils/getPointFromHammerEvent.d.ts +1 -1
  355. package/libs/PanoMeasurePlugin/utils/isNDCPointInScreen.d.ts +1 -1
  356. package/libs/PanoMeasurePlugin/utils/line.d.ts +1 -1
  357. package/libs/PanoMeasurePlugin/utils/line.js +8 -7
  358. package/libs/PanoMeasurePlugin/utils/mouseGroup.d.ts +2 -2
  359. package/libs/PanoMeasurePlugin/utils/mouseGroup.js +5 -5
  360. package/libs/PanoRulerPlugin/Plugin.d.ts +31 -0
  361. package/libs/PanoRulerPlugin/Plugin.js +403 -0
  362. package/libs/PanoRulerPlugin/index.d.ts +4 -30
  363. package/libs/PanoRulerPlugin/index.js +2 -397
  364. package/libs/PanoSpatialTagPlugin/Components/origins.js +168 -0
  365. package/libs/PanoSpatialTagPlugin/Components/tag.js +302 -0
  366. package/libs/PanoSpatialTagPlugin/Plugin.d.ts +35 -0
  367. package/libs/PanoSpatialTagPlugin/Plugin.js +426 -0
  368. package/libs/PanoSpatialTagPlugin/index.d.ts +5 -0
  369. package/libs/PanoSpatialTagPlugin/index.js +5 -0
  370. package/libs/PanoSpatialTagPlugin/store.d.ts +1 -0
  371. package/libs/PanoSpatialTagPlugin/store.js +2 -0
  372. package/libs/PanoSpatialTagPlugin/style.d.ts +1 -0
  373. package/libs/PanoSpatialTagPlugin/style.js +8 -0
  374. package/libs/PanoSpatialTagPlugin/typings.d.ts +40 -0
  375. package/libs/PanoSpatialTagPlugin/typings.js +1 -0
  376. package/libs/base/BasePlugin.d.ts +100 -0
  377. package/libs/base/BasePlugin.js +31 -0
  378. package/libs/base/BasePluginWithData.d.ts +34 -0
  379. package/libs/base/BasePluginWithData.js +4 -0
  380. package/libs/components/PaintBrush/Controller.d.ts +43 -0
  381. package/libs/components/PaintBrush/Controller.js +575 -0
  382. package/libs/components/PaintBrush/Subscribe.d.ts +76 -0
  383. package/libs/components/PaintBrush/Subscribe.js +121 -0
  384. package/libs/components/PaintBrush/index.d.ts +27 -0
  385. package/libs/components/PaintBrush/index.js +57 -0
  386. package/libs/components/PaintBrush/style.d.ts +2 -0
  387. package/libs/components/PaintBrush/style.js +102 -0
  388. package/libs/components/PaintBrush/tween.d.ts +62 -0
  389. package/libs/components/PaintBrush/tween.js +15 -0
  390. package/libs/components/PaintBrush/typings.d.ts +58 -0
  391. package/libs/components/PaintBrush/typings.js +6 -0
  392. package/libs/components/PaintBrush/utils.d.ts +26 -0
  393. package/libs/components/PaintBrush/utils.js +51 -0
  394. package/libs/components/index.d.ts +2 -0
  395. package/libs/components/index.js +3 -0
  396. package/libs/floorplan/Assets/compass.d.ts +1 -0
  397. package/libs/floorplan/Assets/compass.js +1 -0
  398. package/libs/floorplan/Components/BaseImage.js +10 -5
  399. package/libs/floorplan/Components/Camera.js +120 -0
  400. package/libs/floorplan/Components/Compass.js +120 -0
  401. package/libs/floorplan/Components/CurrentFloor.js +469 -0
  402. package/libs/floorplan/Components/Main.js +470 -0
  403. package/libs/floorplan/Components/RoomHighlight/Room.js +45 -8
  404. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +30 -103
  405. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +322 -0
  406. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +309 -0
  407. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +30 -27
  408. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -0
  409. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +11 -9
  410. package/libs/floorplan/Components/RuleLabels/RuleItem.js +284 -0
  411. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +269 -0
  412. package/libs/floorplan/ModelFloorplanPlugin/Components/Camera.js +1 -1
  413. package/libs/floorplan/ModelFloorplanPlugin/Components/Compass.js +1 -1
  414. package/libs/floorplan/ModelFloorplanPlugin/Components/CurrentFloor/CurrentFloor.js +1 -1
  415. package/libs/floorplan/ModelFloorplanPlugin/Components/Main.js +1 -1
  416. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabel.js +1 -1
  417. package/libs/floorplan/ModelFloorplanPlugin/Components/RoomLabels/RoomLabels.js +1 -1
  418. package/libs/floorplan/ModelFloorplanPlugin/Components/RuleLabels/RuleItem.js +1 -1
  419. package/libs/floorplan/ModelFloorplanPlugin/Controller.d.ts +70 -77
  420. package/libs/floorplan/ModelFloorplanPlugin/Controller.js +661 -325
  421. package/libs/floorplan/ModelFloorplanPlugin/index.d.ts +5 -7
  422. package/libs/floorplan/ModelFloorplanPlugin/index.js +2 -2
  423. package/libs/floorplan/ModelFloorplanPlugin/typing.d.ts +107 -0
  424. package/libs/floorplan/ModelFloorplanPlugin/typing.js +1 -0
  425. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +49 -33
  426. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +3 -1
  427. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +114 -53
  428. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.d.ts +24 -16
  429. package/libs/floorplan/PanoFloorplanRadarPlugin/Controller.js +194 -42
  430. package/libs/floorplan/PanoFloorplanRadarPlugin/index.d.ts +5 -6
  431. package/libs/floorplan/PanoFloorplanRadarPlugin/index.js +2 -2
  432. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.d.ts +52 -0
  433. package/libs/floorplan/PanoFloorplanRadarPlugin/typing.js +1 -0
  434. package/libs/floorplan/TopviewFloorplanPlugin/Controller.d.ts +53 -47
  435. package/libs/floorplan/TopviewFloorplanPlugin/Controller.js +450 -154
  436. package/libs/floorplan/TopviewFloorplanPlugin/index.d.ts +6 -4
  437. package/libs/floorplan/TopviewFloorplanPlugin/index.js +2 -2
  438. package/libs/floorplan/TopviewFloorplanPlugin/style.js +1 -1
  439. package/libs/floorplan/TopviewFloorplanPlugin/typing.d.ts +86 -0
  440. package/libs/floorplan/TopviewFloorplanPlugin/typing.js +1 -0
  441. package/libs/floorplan/index.d.ts +6 -0
  442. package/libs/floorplan/index.js +7 -0
  443. package/libs/floorplan/utils/constant.d.ts +22 -0
  444. package/libs/floorplan/utils/constant.js +23 -0
  445. package/libs/floorplan/utils/correctFiveState.d.ts +15 -0
  446. package/libs/floorplan/utils/correctFiveState.js +46 -0
  447. package/libs/floorplan/utils/formatPosition.d.ts +1 -1
  448. package/libs/floorplan/utils/formatPosition.js +3 -3
  449. package/libs/index.d.ts +15 -24
  450. package/libs/index.js +25 -14
  451. package/libs/shared-utils/Subscribe.js +8 -1
  452. package/libs/shared-utils/animationFrame/BetterTween.js +47 -18
  453. package/libs/shared-utils/createCanvasTextTexture.js +6 -5
  454. package/libs/shared-utils/five/changeMode.d.ts +4 -1
  455. package/libs/shared-utils/five/changeMode.js +34 -13
  456. package/libs/shared-utils/getPxmm.d.ts +8 -0
  457. package/libs/shared-utils/getPxmm.js +25 -20
  458. package/libs/shared-utils/index.d.ts +1 -0
  459. package/libs/shared-utils/index.js +1 -0
  460. package/libs/shared-utils/math/Interval.d.ts +13 -0
  461. package/libs/shared-utils/math/Interval.js +40 -0
  462. package/libs/shared-utils/math/Rectangle.d.ts +27 -0
  463. package/libs/shared-utils/math/Rectangle.js +50 -0
  464. package/libs/shared-utils/math/evenNumber.js +1 -1
  465. package/libs/shared-utils/math/index.d.ts +2 -0
  466. package/libs/shared-utils/math/index.js +2 -0
  467. package/libs/shared-utils/three/getExtraModelLoader.d.ts +1 -1
  468. package/libs/shared-utils/three/getNormal.d.ts +1 -1
  469. package/libs/shared-utils/three/getTextureLoader.d.ts +1 -1
  470. package/libs/shared-utils/three/loadFbxObj.d.ts +1 -1
  471. package/libs/shared-utils/three/transfromToMeshBasicMaterial.js +2 -1
  472. package/libs/shared-utils/tinyEJSrender.d.ts +5 -0
  473. package/libs/shared-utils/tinyEJSrender.js +210 -0
  474. package/libs/shared-utils/uuid.d.ts +1 -0
  475. package/libs/shared-utils/uuid.js +1 -0
  476. package/libs/shared-utils/vectorTocoordinates.d.ts +1 -1
  477. package/package.json +13 -6
  478. package/CHANGELOG.md +0 -30
  479. package/dist/shared-utils/five/useFivePlugin.d.ts +0 -1
  480. package/dist/shared-utils/useDebounce.d.ts +0 -8
  481. package/dist/shared-utils/useThrottle.d.ts +0 -8
  482. package/docs/enums/ModelFloorplanErrorType.html +0 -1
  483. package/docs/interfaces/ModelFloorplanParameterType.html +0 -1
  484. package/docs/interfaces/ModelFloorplanViewEvent.html +0 -5
  485. package/docs/interfaces/TopviewFloorplanPluginParameterType.html +0 -1
@@ -0,0 +1,49 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import type { Vector3Position } from '../typings/math.type';
3
+ import { Vector3 } from 'three';
4
+ import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
5
+ export declare type CSS3DRenderPluginParameterType = undefined;
6
+ export interface CSS3DRenderPluginExportType {
7
+ /**
8
+ * @description: 根据传入的四个点位创建一个3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
9
+ * @param {Five} five
10
+ * @param {Vector3[] | Vector3Position[]} points: 矩形四个点坐标
11
+ * @param {number} config.ratio: 1px对应多少米,默认为 0.002,即1px对应2mm
12
+ * @param {number} config.dpr: dpr, 默认为1
13
+ * @param {HTMLElement} config.container: HTMLElement
14
+ * @param {number} config.autoRender: 默认为true,如果需要手动render则传false
15
+ * @param {'front' | 'behind'} config.mode: 两种模式
16
+ * @param {HTMLElement} config.behindFiveContainer: 如果config.mode为'behind',需要传入容器,并确保此容器位five下方,且中间没有其他dom元素遮挡
17
+ * @return {{ container: HTMLElement; dispose: () => void }}: container: dom容器, dispose: 清理函数
18
+ */
19
+ create3DDomContainer: (points: Vector3[] | Vector3Position[], config?: {
20
+ ratio?: number;
21
+ dpr?: number;
22
+ autoRender?: boolean;
23
+ container?: HTMLElement;
24
+ [key: string]: any;
25
+ } & ({
26
+ mode?: 'front';
27
+ } | {
28
+ mode: 'behind';
29
+ behindFiveContainer: HTMLElement;
30
+ })) => {
31
+ container: HTMLElement;
32
+ dispose: () => void;
33
+ css3DObject: CSS3DObject;
34
+ render?: () => void;
35
+ } | void;
36
+ /**
37
+ * @description: 销毁所有的渲染内容
38
+ * @return {void}
39
+ */
40
+ disposeAll: () => void;
41
+ }
42
+ /**
43
+ * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
44
+ * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
45
+ *
46
+ * @returns
47
+ */
48
+ export declare const CSS3DRenderPlugin: FivePlugin<CSS3DRenderPluginParameterType, CSS3DRenderPluginExportType>;
49
+ export default CSS3DRenderPlugin;
@@ -0,0 +1,182 @@
1
+ import * as THREE from 'three';
2
+ import { Scene, Vector3 } from 'three';
3
+ import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
+ import evenNumber from '../shared-utils/math/evenNumber';
5
+ import centerPoint from '../shared-utils/three/centerPoint';
6
+ import transformPositionToVector3 from '../shared-utils/three/transformPositionToVector3';
7
+ import createResizeObserver from './utils/createResizeObserver';
8
+ /**
9
+ * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
10
+ * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
11
+ *
12
+ * @returns
13
+ */
14
+ export const CSS3DRenderPlugin = (five) => {
15
+ const state = { disposeCallbacks: [] };
16
+ const create3DDomContainer = (...params) => {
17
+ var _a, _b, _c;
18
+ const points = params[0].map((point) => (point instanceof Vector3 ? point : transformPositionToVector3(point)));
19
+ const config = params[1];
20
+ if ((points === null || points === void 0 ? void 0 : points.length) < 4)
21
+ return console.error('points must be equal or greater than than 4');
22
+ if (!((_a = five === null || five === void 0 ? void 0 : five.model) === null || _a === void 0 ? void 0 : _a.loaded))
23
+ return console.error('five.model.loaded is: ', (_b = five === null || five === void 0 ? void 0 : five.model) === null || _b === void 0 ? void 0 : _b.loaded);
24
+ const fiveElement = five.getElement();
25
+ if (!fiveElement)
26
+ return console.error('five.getElement() is ' + fiveElement);
27
+ const disposers = [];
28
+ const ratio = (config === null || config === void 0 ? void 0 : config.ratio) || 0.00216;
29
+ if (ratio <= 0.00215)
30
+ console.warn('if you need click css3DElement on safari, ratio must be greater than 0.00215');
31
+ const dpr = (config === null || config === void 0 ? void 0 : config.dpr) || 1;
32
+ const mode = (config === null || config === void 0 ? void 0 : config.mode) || 'front';
33
+ const autoRender = (_c = config === null || config === void 0 ? void 0 : config.autoRender) !== null && _c !== void 0 ? _c : true;
34
+ const behindFiveContainer = (config === null || config === void 0 ? void 0 : config.behindFiveContainer) || fiveElement.parentElement || document.body;
35
+ const container = (config === null || config === void 0 ? void 0 : config.container) || document.createElement('div');
36
+ container.classList.add('__Dnalogel-plugin--CSS3DRenderPlugin');
37
+ // 获取css3DObject, 如果mode为behind的话,一起获取mesh
38
+ const { css3DObject, mesh } = createObject(points, { ratio, dpr, container, mode });
39
+ // ======= INIT START =======
40
+ let resizeObserver;
41
+ const frontModeUnInited = mode === 'front' && !state.frontMode;
42
+ const behindModeUnInited = mode === 'behind' && !state.behindMode;
43
+ const inited = !(frontModeUnInited || behindModeUnInited);
44
+ if (behindModeUnInited) {
45
+ state.behindMode = { scene: new Scene(), css3DRenderer: new CSS3DRenderer() };
46
+ }
47
+ if (frontModeUnInited) {
48
+ state.frontMode = { scene: new Scene(), css3DRenderer: new CSS3DRenderer() };
49
+ }
50
+ const stateMode = mode === 'behind' ? state.behindMode : state.frontMode;
51
+ const { scene, css3DRenderer } = stateMode;
52
+ const render = (() => {
53
+ if (!inited) {
54
+ const css3DRendererSetSize = () => {
55
+ // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
56
+ // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
57
+ const rendererWidth = evenNumber(fiveElement.clientWidth, { smaller: true });
58
+ const rendererHeight = evenNumber(fiveElement.clientHeight, { smaller: true });
59
+ css3DRenderer.setSize(rendererWidth, rendererHeight);
60
+ };
61
+ css3DRendererSetSize();
62
+ resizeObserver = createResizeObserver(css3DRendererSetSize, fiveElement);
63
+ css3DRenderer.domElement.style.position = 'absolute';
64
+ css3DRenderer.domElement.style.top = '0';
65
+ css3DRenderer.domElement.style.userSelect = 'none';
66
+ css3DRenderer.domElement.style.pointerEvents = 'none';
67
+ const renderEveryFrame = () => {
68
+ const requestAnimationFrameId = requestAnimationFrame(renderEveryFrame);
69
+ stateMode.requestAnimationFrameId = requestAnimationFrameId;
70
+ css3DRenderer.render(scene, five.camera);
71
+ };
72
+ return () => {
73
+ var _a;
74
+ scene.add(css3DObject);
75
+ (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);
76
+ renderEveryFrame();
77
+ if (mode === 'behind' && mesh) {
78
+ five.scene.add(mesh);
79
+ disposers.push(() => mesh && five.scene.remove(mesh));
80
+ }
81
+ };
82
+ }
83
+ else {
84
+ return () => {
85
+ scene.add(css3DObject);
86
+ };
87
+ }
88
+ })();
89
+ if (frontModeUnInited) {
90
+ const wrapper = fiveElement.parentElement || document.body;
91
+ wrapper.appendChild(css3DRenderer.domElement);
92
+ }
93
+ if (behindModeUnInited) {
94
+ const wrapper = behindFiveContainer;
95
+ wrapper.appendChild(css3DRenderer.domElement);
96
+ }
97
+ // ======= INIT END =======
98
+ const dispose = () => {
99
+ var _a;
100
+ disposers.forEach((d) => d === null || d === void 0 ? void 0 : d());
101
+ scene.remove(css3DObject);
102
+ if (scene.children.length === 0) {
103
+ if (typeof stateMode.requestAnimationFrameId === 'number') {
104
+ cancelAnimationFrame(stateMode.requestAnimationFrameId);
105
+ }
106
+ css3DRenderer.domElement.remove();
107
+ if (mode === 'front')
108
+ state.frontMode = undefined;
109
+ if (mode === 'behind')
110
+ state.behindMode = undefined;
111
+ if (!state.behindMode && !state.frontMode) {
112
+ (_a = resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve) === null || _a === void 0 ? void 0 : _a.call(resizeObserver);
113
+ }
114
+ }
115
+ return true;
116
+ };
117
+ const idx = state.disposeCallbacks.findIndex((item) => item === dispose);
118
+ if (idx !== -1) {
119
+ state.disposeCallbacks.splice(idx, 1);
120
+ }
121
+ else {
122
+ state.disposeCallbacks.push(dispose);
123
+ }
124
+ if (autoRender)
125
+ render();
126
+ return { container, dispose, css3DObject, render: autoRender ? undefined : render };
127
+ };
128
+ const createObject = (points, config) => {
129
+ const { ratio, dpr, container: element, mode } = config;
130
+ const planeWidth = points[0].distanceTo(points[1]);
131
+ const planeHeight = points[1].distanceTo(points[2]);
132
+ const domWidthPx = evenNumber((planeWidth / ratio) * dpr);
133
+ const domHeightPx = evenNumber((planeHeight / ratio) * dpr);
134
+ const css3DObject = new CSS3DObject(element);
135
+ css3DObject.scale.set(ratio, ratio, ratio);
136
+ element.style.width = domWidthPx + 'px';
137
+ element.style.height = domHeightPx + 'px';
138
+ element.style.pointerEvents = 'none';
139
+ const centerPosition = centerPoint(points[0], points[2]);
140
+ const vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
141
+ const vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
142
+ // 旋转
143
+ const rotateXAngle = new Vector3(0, 1, 0).angleTo(new Vector3(0, vector12.y, vector12.z));
144
+ const rotateYAngle = new Vector3(1, 0, 0).angleTo(new Vector3(vector01.x, 0, vector01.z));
145
+ const rotateZAngle = vector01.angleTo(new Vector3(vector01.x, 0, vector01.z));
146
+ /**
147
+ * [0,1,0] => [0,0,1] 为rotate Worldx正方向
148
+ * [0,0,1] => [0,1,0] 为rotate Worldy正方向
149
+ * [0,1,1] => [-1,0,0] 为rotate Worldz正方向
150
+ */
151
+ const rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
152
+ const rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
153
+ const rotateZ = ((vector01.x > 0 && vector01.y < 0) || (vector01.x < 0 && vector01.y > 0) ? -1 : 1) * rotateZAngle;
154
+ css3DObject.rotateOnWorldAxis(new Vector3(1, 0, 0), rotateX); // x
155
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 1, 0), rotateY); // y
156
+ css3DObject.rotateOnWorldAxis(new Vector3(0, 0, 1), rotateZ); // z
157
+ css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
158
+ let mesh;
159
+ if (mode === 'behind') {
160
+ const material = new THREE.MeshBasicMaterial({
161
+ opacity: 0,
162
+ transparent: false,
163
+ side: THREE.DoubleSide,
164
+ });
165
+ const geometry = new THREE.PlaneGeometry(domWidthPx, domHeightPx);
166
+ mesh = new THREE.Mesh(geometry, material);
167
+ mesh.name = 'CSS3DRenderPlugin-mesh';
168
+ mesh.position.copy(css3DObject.position);
169
+ mesh.rotation.copy(css3DObject.rotation);
170
+ mesh.scale.copy(css3DObject.scale);
171
+ }
172
+ return { css3DObject, mesh };
173
+ };
174
+ return {
175
+ create3DDomContainer,
176
+ disposeAll: () => {
177
+ state.disposeCallbacks.forEach((d) => d === null || d === void 0 ? void 0 : d());
178
+ state.disposeCallbacks = [];
179
+ },
180
+ };
181
+ };
182
+ export default CSS3DRenderPlugin;
@@ -1,49 +1,4 @@
1
- import { FivePlugin } from '@realsee/five';
2
- import { Vector3 } from 'three';
3
- import { CSS3DObject } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
- import { Vector3Position } from '../typings/math.type';
5
- export declare type CSS3DRenderPluginParameterType = undefined;
6
- export interface CSS3DRenderPluginExportType {
7
- /**
8
- * @description: 根据传入的四个点位创建一个3d dom容器,可以通过ReactDom.render()的方式将react组件放到容器中
9
- * @param {Five} five
10
- * @param {Vector3[] | Vector3Position[]} points: 矩形四个点坐标
11
- * @param {number} config.ratio: 1px对应多少米,默认为 0.002,即1px对应2mm
12
- * @param {number} config.dpr: dpr, 默认为1
13
- * @param {HTMLElement} config.container: HTMLElement
14
- * @param {number} config.autoRender: 默认为true,如果需要手动render则传false
15
- * @param {'front' | 'behind'} config.mode: 两种模式
16
- * @param {HTMLElement} config.behindFiveContainer: 如果config.mode为'behind',需要传入容器,并确保此容器位five下方,且中间没有其他dom元素遮挡
17
- * @return {{ container: HTMLElement; dispose: () => void }}: container: dom容器, dispose: 清理函数
18
- */
19
- create3DDomContainer: (points: Vector3[] | Vector3Position[], config?: {
20
- ratio?: number;
21
- dpr?: number;
22
- autoRender?: boolean;
23
- container?: HTMLElement;
24
- [key: string]: any;
25
- } & ({
26
- mode?: 'front';
27
- } | {
28
- mode: 'behind';
29
- behindFiveContainer: HTMLElement;
30
- })) => {
31
- container: HTMLElement;
32
- dispose: () => void;
33
- css3DObject: CSS3DObject;
34
- render?: () => void;
35
- } | void;
36
- /**
37
- * @description: 销毁所有的渲染内容
38
- * @return {void}
39
- */
40
- disposeAll: () => void;
41
- }
42
- /**
43
- * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
44
- * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
45
- *
46
- * @returns
47
- */
48
- export declare const CSS3DRenderPlugin: FivePlugin<CSS3DRenderPluginParameterType, CSS3DRenderPluginExportType>;
1
+ import CSS3DRenderPlugin from './Plugin';
2
+ export { CSS3DRenderPlugin };
49
3
  export default CSS3DRenderPlugin;
4
+ export type { CSS3DRenderPluginExportType } from './Plugin';
@@ -1,181 +1,3 @@
1
- import * as THREE from 'three';
2
- import { Scene, Vector3 } from 'three';
3
- import { CSS3DObject, CSS3DRenderer } from 'three/examples/jsm/renderers/CSS3DRenderer';
4
- import evenNumber from '../shared-utils/math/evenNumber';
5
- import centerPoint from '../shared-utils/three/centerPoint';
6
- import transformPositionToVector3 from '../shared-utils/three/transformPositionToVector3';
7
- import createResizeObserver from './utils/createResizeObserver';
8
- /**
9
- * **CSS3DRenderPlugin** 提供矩形区域(三维空间四个坐标点),你可以在此矩形区域中渲染 DOM 内容。
10
- * 实现原理参考[CSS3DRenderer](https://threejs.org/docs/index.html?q=CSS3D#examples/en/renderers/CSS3DRenderer)。
11
- *
12
- * @returns
13
- */
14
- export const CSS3DRenderPlugin = (five) => {
15
- const state = { disposeCallbacks: [] };
16
- const create3DDomContainer = (...params) => {
17
- const points = params[0].map((point) => (point instanceof Vector3 ? point : transformPositionToVector3(point)));
18
- const config = params[1];
19
- if (points?.length < 4)
20
- return console.error('points must be equal or greater than than 4');
21
- if (!five?.model?.loaded)
22
- return console.error('five.model.loaded is: ', five?.model?.loaded);
23
- const fiveElement = five.getElement();
24
- if (!fiveElement)
25
- return console.error('five.getElement() is ' + fiveElement);
26
- const disposers = [];
27
- const ratio = config?.ratio || 0.00216;
28
- if (ratio <= 0.00215)
29
- console.warn('if you need click css3DElement on safari, ratio must be greater than 0.00215');
30
- const dpr = config?.dpr || 1;
31
- const mode = config?.mode || 'front';
32
- const autoRender = config?.autoRender ?? true;
33
- const behindFiveContainer = config?.behindFiveContainer || fiveElement.parentElement || document.body;
34
- const container = config?.container || document.createElement('div');
35
- container.classList.add('__Dnalogel-plugin--CSS3DRenderPlugin');
36
- // 获取css3DObject, 如果mode为behind的话,一起获取mesh
37
- const { css3DObject, mesh } = createObject(points, { ratio, dpr, container, mode });
38
- // ======= INIT START =======
39
- let resizeObserver;
40
- const frontModeUnInited = mode === 'front' && !state.frontMode;
41
- const behindModeUnInited = mode === 'behind' && !state.behindMode;
42
- const inited = !(frontModeUnInited || behindModeUnInited);
43
- let stopRenderFlag = false;
44
- let requestAnimationFrameId = null;
45
- if (behindModeUnInited) {
46
- state.behindMode = { scene: new Scene(), css3DRenderer: new CSS3DRenderer() };
47
- }
48
- if (frontModeUnInited) {
49
- state.frontMode = { scene: new Scene(), css3DRenderer: new CSS3DRenderer() };
50
- }
51
- const { scene, css3DRenderer } = mode === 'behind' ? state.behindMode : state.frontMode;
52
- const render = (() => {
53
- if (!inited) {
54
- const css3DRendererSetSize = () => {
55
- // 这里evenNumber策略是遇到奇数会加1,不知道为啥会触发滚动条显示,导致fiveElement变小,fiveElement变小又触发了这里的resize,宽高变小,滚动条消失,然后又触发resize。。。无限循环
56
- // 为了规避上面这种情况,evenNumber设置了一个参数,遇到奇数可选择减一
57
- const rendererWidth = evenNumber(fiveElement.clientWidth, { smaller: true });
58
- const rendererHeight = evenNumber(fiveElement.clientHeight, { smaller: true });
59
- css3DRenderer.setSize(rendererWidth, rendererHeight);
60
- };
61
- css3DRendererSetSize();
62
- resizeObserver = createResizeObserver(css3DRendererSetSize, fiveElement);
63
- css3DRenderer.domElement.style.position = 'absolute';
64
- css3DRenderer.domElement.style.top = '0';
65
- css3DRenderer.domElement.style.userSelect = 'none';
66
- css3DRenderer.domElement.style.pointerEvents = 'none';
67
- const renderEveryFrame = () => {
68
- if (stopRenderFlag)
69
- return;
70
- requestAnimationFrameId = requestAnimationFrame(renderEveryFrame);
71
- css3DRenderer.render(scene, five.camera);
72
- };
73
- return () => {
74
- scene.add(css3DObject);
75
- resizeObserver?.observe?.();
76
- renderEveryFrame();
77
- if (mode === 'behind' && mesh) {
78
- five.scene.add(mesh);
79
- disposers.push(() => mesh && five.scene.remove(mesh));
80
- }
81
- };
82
- }
83
- else {
84
- return () => {
85
- scene.add(css3DObject);
86
- };
87
- }
88
- })();
89
- if (frontModeUnInited) {
90
- const wrapper = fiveElement.parentElement || document.body;
91
- wrapper.appendChild(css3DRenderer.domElement);
92
- }
93
- if (behindModeUnInited) {
94
- const wrapper = behindFiveContainer;
95
- wrapper.appendChild(css3DRenderer.domElement);
96
- }
97
- // ======= INIT END =======
98
- const dispose = () => {
99
- stopRenderFlag = true;
100
- disposers.forEach((d) => d?.());
101
- scene.remove(css3DObject);
102
- if (typeof requestAnimationFrameId === 'number')
103
- cancelAnimationFrame(requestAnimationFrameId);
104
- if (scene.children.length === 0) {
105
- css3DRenderer.domElement.remove();
106
- if (mode === 'front')
107
- state.frontMode = undefined;
108
- if (mode === 'behind')
109
- state.behindMode = undefined;
110
- if (!state.behindMode && !state.frontMode) {
111
- resizeObserver?.unobserve?.();
112
- }
113
- }
114
- return true;
115
- };
116
- const idx = state.disposeCallbacks.findIndex((item) => item === dispose);
117
- if (idx !== -1) {
118
- state.disposeCallbacks.splice(idx, 1);
119
- }
120
- else {
121
- state.disposeCallbacks.push(dispose);
122
- }
123
- if (autoRender)
124
- render();
125
- return { container, dispose, css3DObject, render: autoRender ? undefined : render };
126
- };
127
- const createObject = (points, config) => {
128
- const { ratio, dpr, container: element, mode } = config;
129
- const planeWidth = points[0].distanceTo(points[1]);
130
- const planeHeight = points[1].distanceTo(points[2]);
131
- const domWidthPx = evenNumber((planeWidth / ratio) * dpr);
132
- const domHeightPx = evenNumber((planeHeight / ratio) * dpr);
133
- const css3DObject = new CSS3DObject(element);
134
- css3DObject.scale.set(ratio, ratio, ratio);
135
- element.style.width = domWidthPx + 'px';
136
- element.style.height = domHeightPx + 'px';
137
- element.style.pointerEvents = 'none';
138
- const centerPosition = centerPoint(points[0], points[2]);
139
- const vector01 = points[1].clone().sub(points[0]); // 点0 -> 点1 的向量
140
- const vector12 = points[2].clone().sub(points[1]); // 点1 -> 点2 的向量
141
- // 旋转
142
- const rotateXAngle = new Vector3(0, 1, 0).angleTo(new Vector3(0, vector12.y, vector12.z));
143
- const rotateYAngle = new Vector3(1, 0, 0).angleTo(new Vector3(vector01.x, 0, vector01.z));
144
- const rotateZAngle = vector01.angleTo(new Vector3(vector01.x, 0, vector01.z));
145
- /**
146
- * [0,1,0] => [0,0,1] 为rolate Worldx正方向
147
- * [0,0,1] => [0,1,0] 为rolate Worldy正方向
148
- * [0,1,1] => [-1,0,0] 为rolate Worldz正方向
149
- */
150
- const rotateX = (vector12.z > 0 ? -1 : 1) * rotateXAngle;
151
- const rotateY = (vector01.z < 0 ? 1 : -1) * rotateYAngle;
152
- const rotateZ = ((vector01.x > 0 && vector01.y < 0) || (vector01.x < 0 && vector01.y > 0) ? -1 : 1) * rotateZAngle;
153
- css3DObject.rotateOnWorldAxis(new Vector3(1, 0, 0), rotateX); // x
154
- css3DObject.rotateOnWorldAxis(new Vector3(0, 1, 0), rotateY); // y
155
- css3DObject.rotateOnWorldAxis(new Vector3(0, 0, 1), rotateZ); // z
156
- css3DObject.position.set(centerPosition.x, centerPosition.y, centerPosition.z);
157
- let mesh;
158
- if (mode === 'behind') {
159
- const material = new THREE.MeshBasicMaterial({
160
- opacity: 0,
161
- transparent: false,
162
- side: THREE.DoubleSide,
163
- });
164
- const geometry = new THREE.PlaneGeometry(domWidthPx, domHeightPx);
165
- mesh = new THREE.Mesh(geometry, material);
166
- mesh.name = 'CSS3DRenderPlugin-mesh';
167
- mesh.position.copy(css3DObject.position);
168
- mesh.rotation.copy(css3DObject.rotation);
169
- mesh.scale.copy(css3DObject.scale);
170
- }
171
- return { css3DObject, mesh };
172
- };
173
- return {
174
- create3DDomContainer,
175
- disposeAll: () => {
176
- state.disposeCallbacks.forEach((d) => d?.());
177
- state.disposeCallbacks = [];
178
- },
179
- };
180
- };
1
+ import CSS3DRenderPlugin from './Plugin';
2
+ export { CSS3DRenderPlugin };
181
3
  export default CSS3DRenderPlugin;
@@ -0,0 +1,7 @@
1
+ import type { FivePlugin } from '@realsee/five';
2
+ import { CameraMovementPluginExportType, CameraMovementPluginParameterType } from './typing';
3
+ /**
4
+ * **运镜插件** 模拟类似于电影运镜效果。
5
+ */
6
+ export declare const CameraMovementPlugin: FivePlugin<CameraMovementPluginParameterType, CameraMovementPluginExportType>;
7
+ export default CameraMovementPlugin;
@@ -0,0 +1,159 @@
1
+ import { Five } from '@realsee/five';
2
+ import * as TWEEN from '@tweenjs/tween.js';
3
+ import { tweenProgress } from '../shared-utils/animationFrame/tween';
4
+ import { Rotation, } from './typing';
5
+ import { formatLongitude, formatLatitude } from '../shared-utils/animationFrame/formatRad';
6
+ import { progressNumber } from '../shared-utils/animationFrame/calculateProgress';
7
+ const getLongitudeParams = (from, to, rotation) => {
8
+ const PI = Math.PI;
9
+ const PI_2 = PI * 2;
10
+ from = formatLongitude(from);
11
+ to = formatLongitude(to);
12
+ // 逆时针旋转,初始值必须是较大的值
13
+ if (rotation === Rotation.Anticlockwise && from < to)
14
+ from += PI_2;
15
+ // 顺时针旋转,结束值必须是较大值
16
+ if (rotation === Rotation.Clockwise && to < from)
17
+ to += PI_2;
18
+ // Loop 旋转,找锐角旋转
19
+ // 如果 to 比 from 大 180°,逆时针转
20
+ // 如果 from 比 to 大 180°,顺时针转
21
+ if (rotation === Rotation.Loop && to - from > PI)
22
+ return getLongitudeParams(from, to, Rotation.Anticlockwise);
23
+ if (rotation === Rotation.Loop && from - to > PI)
24
+ return getLongitudeParams(from, to, Rotation.Clockwise);
25
+ return { from, to };
26
+ };
27
+ /**
28
+ * **运镜插件** 模拟类似于电影运镜效果。
29
+ */
30
+ export const CameraMovementPlugin = (five) => {
31
+ const state = {};
32
+ const move = async (args, duration, opts = { preload: true }) => {
33
+ if (state.interruptCallback) {
34
+ state.interruptCallback(false);
35
+ }
36
+ if (opts.asyncStartCallback) {
37
+ await opts.asyncStartCallback();
38
+ }
39
+ if (args.mode && args.mode !== five.currentMode) {
40
+ await five.changeMode(args.mode);
41
+ }
42
+ if (opts.preload && args.panoIndex !== undefined && args.panoIndex !== five.panoIndex) {
43
+ await five.preloadPano(args.panoIndex);
44
+ }
45
+ if (opts.asyncEndCallback) {
46
+ await opts.asyncEndCallback();
47
+ }
48
+ if (args.panoIndex === undefined &&
49
+ args.fov === undefined &&
50
+ args.latitude === undefined &&
51
+ args.longitude === undefined) {
52
+ return true;
53
+ }
54
+ return await new Promise((resolve, reject) => {
55
+ const panoIndex = args.panoIndex !== undefined ? args.panoIndex : five.panoIndex;
56
+ if (panoIndex !== undefined) {
57
+ five.moveToPano(panoIndex, Object.assign({
58
+ duration,
59
+ moveEndCallback: () => resolve(true),
60
+ moveCancelCallback: () => reject(false), // 移动开始
61
+ }, args));
62
+ }
63
+ else {
64
+ reject(false);
65
+ }
66
+ });
67
+ };
68
+ const getAnimeParams = (args) => {
69
+ const currentFiveState = five.state;
70
+ // latitude
71
+ const fromLatitude = formatLatitude(currentFiveState.latitude);
72
+ const toLatitude = formatLatitude(args.latitude);
73
+ // longitude
74
+ const { from: fromLongitude, to: toLongitude } = getLongitudeParams(currentFiveState.longitude, args.longitude, args.rotation || Rotation.Loop);
75
+ // fov
76
+ const fromFov = currentFiveState.fov;
77
+ const toFov = args.fov;
78
+ return {
79
+ from: { latitude: fromLatitude, longitude: fromLongitude, fov: fromFov },
80
+ to: { latitude: toLatitude, longitude: toLongitude, fov: toFov },
81
+ };
82
+ };
83
+ const rotate = async (args, duration, opts = {}) => {
84
+ if (state.interruptCallback) {
85
+ state.interruptCallback(false);
86
+ }
87
+ if (opts.asyncStartCallback) {
88
+ await opts.asyncStartCallback();
89
+ }
90
+ if (five.currentMode !== Five.Mode.Panorama) {
91
+ await five.changeMode(Five.Mode.Panorama);
92
+ }
93
+ if (args.panoIndex !== undefined && args.panoIndex !== five.panoIndex) {
94
+ if (opts.preload)
95
+ await five.preloadPano(args.panoIndex);
96
+ await new Promise((resolve, reject) => {
97
+ if (!args.panoIndex) {
98
+ resolve(true);
99
+ return;
100
+ }
101
+ five.moveToPano(args.panoIndex, {
102
+ moveEndCallback: () => resolve(true),
103
+ moveCancelCallback: () => reject(false), // 移动开始
104
+ });
105
+ });
106
+ }
107
+ if (opts.asyncEndCallback) {
108
+ await opts.asyncEndCallback();
109
+ }
110
+ const { from, to } = getAnimeParams(args);
111
+ return await new Promise((resolve) => {
112
+ const onUpdate = ({ progress }) => {
113
+ const state = {};
114
+ state.longitude = progressNumber(from.longitude, to.longitude, progress);
115
+ state.latitude = progressNumber(from.latitude, to.latitude, progress);
116
+ state.fov = progressNumber(from.fov, to.fov, progress);
117
+ five.setState(state, true);
118
+ };
119
+ const onComplete = () => {
120
+ resolve(true);
121
+ };
122
+ const onDestroy = () => {
123
+ resolve(false);
124
+ };
125
+ const animeDuration = args.rotateSpeed
126
+ ? Math.ceil((Math.abs(to.longitude - from.longitude) / args.rotateSpeed) * 1000)
127
+ : duration;
128
+ const tween = tweenProgress(animeDuration, TWEEN.Easing.Linear.None)
129
+ .onUpdate(onUpdate)
130
+ .onComplete(onComplete)
131
+ .onDestroy(onDestroy);
132
+ if (args.rotation === Rotation.Loop) {
133
+ tween.repeat(Infinity).yoyo(true);
134
+ }
135
+ /**
136
+ * 中断回调:可能会被其他动画中断。
137
+ */
138
+ state.interruptCallback = (flag = true) => {
139
+ tween.destroy();
140
+ state.interruptCallback = undefined;
141
+ if (state.timeoutId) {
142
+ clearTimeout(state.timeoutId);
143
+ state.timeoutId = undefined;
144
+ }
145
+ resolve(flag);
146
+ };
147
+ state.timeoutId = setTimeout(() => {
148
+ // 总时间到了之后强制结束,同时也是 Loop 模式的结束方式
149
+ if (state.interruptCallback)
150
+ state.interruptCallback(true);
151
+ }, duration);
152
+ });
153
+ };
154
+ return {
155
+ move,
156
+ rotate,
157
+ };
158
+ };
159
+ export default CameraMovementPlugin;
@@ -1,7 +1,5 @@
1
- import type { FivePlugin } from '@realsee/five';
2
- import { CameraMovementPluginExportType, CameraMovementPluginParameterType } from './typing';
3
- /**
4
- * **运镜插件** 模拟类似于电影运镜效果。
5
- */
6
- export declare const CameraMovementPlugin: FivePlugin<CameraMovementPluginParameterType, CameraMovementPluginExportType>;
1
+ import CameraMovementPlugin from "./CameraMovementPlugin";
2
+ export { CameraMovementPlugin };
7
3
  export default CameraMovementPlugin;
4
+ export type { MoveArgs, MoveOpts, RotateArgs, RotateOpts, CameraMovementPluginExportType } from './typing';
5
+ export { CameraMovementEffect, Rotation } from './typing';