@vived/app 5.0.6 → 5.0.8

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 (368) hide show
  1. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
  2. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  3. package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js +1 -0
  4. package/dist/cjs/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
  5. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js +8 -6
  6. package/dist/cjs/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  7. package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
  8. package/dist/cjs/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
  9. package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
  10. package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
  11. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  12. package/dist/cjs/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  13. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  14. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  15. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  16. package/dist/cjs/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  17. package/dist/cjs/Callouts/UC/DeleteCallout.test.js +5 -2
  18. package/dist/cjs/Callouts/UC/DeleteCallout.test.js.map +1 -1
  19. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  20. package/dist/cjs/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  21. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  22. package/dist/cjs/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  23. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  24. package/dist/cjs/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  25. package/dist/cjs/Callouts/UC/TryAddCallout.test.js +5 -4
  26. package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
  27. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js +3 -2
  28. package/dist/cjs/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  29. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js +11 -9
  30. package/dist/cjs/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  31. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  32. package/dist/cjs/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  33. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  34. package/dist/cjs/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  35. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  36. package/dist/cjs/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  37. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  38. package/dist/cjs/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  39. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  40. package/dist/cjs/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  41. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  42. package/dist/cjs/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  43. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  44. package/dist/cjs/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  45. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  46. package/dist/cjs/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  47. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  48. package/dist/cjs/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  49. package/dist/cjs/Hideable/UCs/HideUC.test.js +10 -8
  50. package/dist/cjs/Hideable/UCs/HideUC.test.js.map +1 -1
  51. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  52. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  53. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  54. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  55. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js +9 -4
  56. package/dist/cjs/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  57. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  58. package/dist/cjs/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  59. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js +9 -4
  60. package/dist/cjs/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  61. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  62. package/dist/cjs/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
  63. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
  64. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
  65. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
  66. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  67. package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
  68. package/dist/cjs/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
  69. package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
  70. package/dist/cjs/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
  71. package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
  72. package/dist/cjs/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
  73. package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
  74. package/dist/cjs/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
  75. package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
  76. package/dist/cjs/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
  77. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
  78. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  79. package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
  80. package/dist/cjs/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
  81. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
  82. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
  83. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
  84. package/dist/cjs/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
  85. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
  86. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
  87. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
  88. package/dist/cjs/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
  89. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
  90. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
  91. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
  92. package/dist/cjs/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
  93. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
  94. package/dist/cjs/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  95. package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
  96. package/dist/cjs/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
  97. package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
  98. package/dist/cjs/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
  99. package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
  100. package/dist/cjs/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
  101. package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
  102. package/dist/cjs/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
  103. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
  104. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  105. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
  106. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  107. package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
  108. package/dist/cjs/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
  109. package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
  110. package/dist/cjs/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
  111. package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js +16 -6
  112. package/dist/cjs/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
  113. package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js +14 -5
  114. package/dist/cjs/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
  115. package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
  116. package/dist/cjs/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
  117. package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
  118. package/dist/cjs/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
  119. package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
  120. package/dist/cjs/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
  121. package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
  122. package/dist/cjs/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
  123. package/dist/cjs/Question/UC/SetAnswerTextUC.test.js +9 -6
  124. package/dist/cjs/Question/UC/SetAnswerTextUC.test.js.map +1 -1
  125. package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
  126. package/dist/cjs/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
  127. package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
  128. package/dist/cjs/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
  129. package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
  130. package/dist/cjs/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
  131. package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js +2 -0
  132. package/dist/cjs/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
  133. package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
  134. package/dist/cjs/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
  135. package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
  136. package/dist/cjs/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
  137. package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
  138. package/dist/cjs/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
  139. package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js +9 -6
  140. package/dist/cjs/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
  141. package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
  142. package/dist/cjs/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
  143. package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js +3 -3
  144. package/dist/cjs/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
  145. package/dist/cjs/Selection/UC/PressAppObjectUC.test.js +3 -3
  146. package/dist/cjs/Selection/UC/PressAppObjectUC.test.js.map +1 -1
  147. package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js +3 -3
  148. package/dist/cjs/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
  149. package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
  150. package/dist/cjs/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
  151. package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
  152. package/dist/cjs/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
  153. package/dist/cjs/Stick/UCs/StickUC.test.js +9 -7
  154. package/dist/cjs/Stick/UCs/StickUC.test.js.map +1 -1
  155. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
  156. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  157. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
  158. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  159. package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js +21 -11
  160. package/dist/cjs/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
  161. package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
  162. package/dist/cjs/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
  163. package/dist/cjs/Transform3D/UC/PanTransformUC.test.js +13 -11
  164. package/dist/cjs/Transform3D/UC/PanTransformUC.test.js.map +1 -1
  165. package/dist/cjs/Transform3D/UC/PinchTransform.test.js +7 -5
  166. package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
  167. package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
  168. package/dist/cjs/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
  169. package/dist/cjs/Transform3D/UC/ScaleTransform.test.js +22 -18
  170. package/dist/cjs/Transform3D/UC/ScaleTransform.test.js.map +1 -1
  171. package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
  172. package/dist/cjs/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
  173. package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
  174. package/dist/cjs/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
  175. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +25 -24
  176. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  177. package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js +10 -8
  178. package/dist/cjs/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
  179. package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js +4 -4
  180. package/dist/cjs/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
  181. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +3 -1
  182. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  183. package/dist/esm/Babylon/UC/SceneRayPickUC.test.js +1 -0
  184. package/dist/esm/Babylon/UC/SceneRayPickUC.test.js.map +1 -1
  185. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js +9 -7
  186. package/dist/esm/BaseApp/UC/EditSlideTextUC.test.js.map +1 -1
  187. package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js +10 -6
  188. package/dist/esm/BaseApp/UC/UndoRedoEditSlideText.test.js.map +1 -1
  189. package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js +8 -6
  190. package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
  191. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js +7 -4
  192. package/dist/esm/Callouts/UC/CreateCalloutUndoRedo.test.js.map +1 -1
  193. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js +7 -4
  194. package/dist/esm/Callouts/UC/DeleteAllCalloutsUC.test.js.map +1 -1
  195. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js +13 -7
  196. package/dist/esm/Callouts/UC/DeleteAllCalloutsUndoRedo.test.js.map +1 -1
  197. package/dist/esm/Callouts/UC/DeleteCallout.test.js +5 -2
  198. package/dist/esm/Callouts/UC/DeleteCallout.test.js.map +1 -1
  199. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js +9 -7
  200. package/dist/esm/Callouts/UC/DeleteCalloutUndoRedo.test.js.map +1 -1
  201. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js +7 -5
  202. package/dist/esm/Callouts/UC/SetCalloutSizeUC.test.js.map +1 -1
  203. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js +10 -6
  204. package/dist/esm/Callouts/UC/SetCalloutSizeUndoRedo.test.js.map +1 -1
  205. package/dist/esm/Callouts/UC/TryAddCallout.test.js +5 -4
  206. package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
  207. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js +3 -2
  208. package/dist/esm/Callouts/UC/TryPanLabelUC.test.js.map +1 -1
  209. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js +11 -9
  210. package/dist/esm/Challenge/UCs/SetChallengeUC.test.js.map +1 -1
  211. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js +13 -7
  212. package/dist/esm/ChannelModel/UC/ClearAllColorOverlayUndoRedo.test.js.map +1 -1
  213. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js +7 -4
  214. package/dist/esm/ChannelModel/UC/ClearModelObjectOverlaysUC.test.js.map +1 -1
  215. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js +5 -2
  216. package/dist/esm/ChannelModel/UC/SelectChannelModelUC.test.js.map +1 -1
  217. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js +10 -8
  218. package/dist/esm/ChannelModel/UC/StickAllChannelModelObjectsUC.test.js.map +1 -1
  219. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js +9 -7
  220. package/dist/esm/ChannelModel/UC/UnhideAllAppObjectsUndoRedo.test.js.map +1 -1
  221. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js +7 -5
  222. package/dist/esm/ChannelModel/UC/UnhideAllChannelModelObjectsUC.test.js.map +1 -1
  223. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js +3 -3
  224. package/dist/esm/Dispatcher/Mocks/MockDispatchStateChange.js.map +1 -1
  225. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js +11 -9
  226. package/dist/esm/Environment/UCs/SetEnvironmentIntensityUC.test.js.map +1 -1
  227. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js +9 -7
  228. package/dist/esm/Environment/UCs/SetTexturalEnvironmentUC.test.js.map +1 -1
  229. package/dist/esm/Hideable/UCs/HideUC.test.js +10 -8
  230. package/dist/esm/Hideable/UCs/HideUC.test.js.map +1 -1
  231. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +7 -6
  232. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  233. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +12 -11
  234. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  235. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js +9 -4
  236. package/dist/esm/Label/UC/ClearCustomLabelUC.test.js.map +1 -1
  237. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js +10 -6
  238. package/dist/esm/Label/UC/ClearCustomLabelUndoRedo.test.js.map +1 -1
  239. package/dist/esm/Label/UC/SetCustomLabelUC.test.js +9 -4
  240. package/dist/esm/Label/UC/SetCustomLabelUC.test.js.map +1 -1
  241. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js +10 -6
  242. package/dist/esm/Label/UC/SetCustomLabelUndoRedo.test.js.map +1 -1
  243. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
  244. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
  245. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
  246. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  247. package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js +9 -7
  248. package/dist/esm/LabelDrop/UseCases/DeleteAllLabelDropUC.test.js.map +1 -1
  249. package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js +9 -7
  250. package/dist/esm/LabelDrop/UseCases/DeleteLabelDropUC.test.js.map +1 -1
  251. package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js +8 -6
  252. package/dist/esm/LabelDrop/UseCases/DragLabelDropUC.test.js.map +1 -1
  253. package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js +17 -17
  254. package/dist/esm/LabelDrop/UseCases/DragLabelDropWorldUC.test.js.map +1 -1
  255. package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js +20 -18
  256. package/dist/esm/LabelDrop/UseCases/EditLabelDropUC.test.js.map +1 -1
  257. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +4 -2
  258. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  259. package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js +10 -5
  260. package/dist/esm/Landmarks/UseCases/AddLandmarkUndoRedo.test.js.map +1 -1
  261. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js +5 -3
  262. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUC.test.js.map +1 -1
  263. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js +11 -6
  264. package/dist/esm/Landmarks/UseCases/DeleteAllLandmarksUndoRedo.test.js.map +1 -1
  265. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js +10 -5
  266. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUC.test.js.map +1 -1
  267. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js +10 -5
  268. package/dist/esm/Landmarks/UseCases/DeleteLandmarkUndoRedo.test.js.map +1 -1
  269. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js +7 -5
  270. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUC.test.js.map +1 -1
  271. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js +10 -6
  272. package/dist/esm/Landmarks/UseCases/SetLandmarkSizeUndoRedo.test.js.map +1 -1
  273. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js +29 -15
  274. package/dist/esm/Landmarks/UseCases/TryAddNewLandmarkUC.test.js.map +1 -1
  275. package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js +4 -3
  276. package/dist/esm/Landmarks/UseCases/TryPreviewLandmarkUC.test.js.map +1 -1
  277. package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js +10 -8
  278. package/dist/esm/ObjectPick/UseCases/AddCorrectObjectIdUC.test.js.map +1 -1
  279. package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js +10 -8
  280. package/dist/esm/ObjectPick/UseCases/ClearCorrectObjectIdsUC.test.js.map +1 -1
  281. package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js +10 -8
  282. package/dist/esm/ObjectPick/UseCases/RemoveCorrectObjectIdUC.test.js.map +1 -1
  283. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +18 -15
  284. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  285. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +3 -1
  286. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  287. package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js +9 -4
  288. package/dist/esm/OverlayColor/UC/SetOverlayColorUC.test.js.map +1 -1
  289. package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js +10 -6
  290. package/dist/esm/OverlayColor/UC/SetOverlayColorUndoRedo.test.js.map +1 -1
  291. package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js +16 -6
  292. package/dist/esm/Question/UC/AddAnswerUndoRedo.test.js.map +1 -1
  293. package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js +14 -5
  294. package/dist/esm/Question/UC/AddQuestionAnswerUC.test.js.map +1 -1
  295. package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js +17 -6
  296. package/dist/esm/Question/UC/DeleteAnswerUndoRedo.test.js.map +1 -1
  297. package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js +9 -6
  298. package/dist/esm/Question/UC/DeleteQuestionAnswerUC.test.js.map +1 -1
  299. package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js +9 -6
  300. package/dist/esm/Question/UC/SetAnswerFeedbackUC.test.js.map +1 -1
  301. package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js +10 -6
  302. package/dist/esm/Question/UC/SetAnswerFeedbackUndoRedo.test.js.map +1 -1
  303. package/dist/esm/Question/UC/SetAnswerTextUC.test.js +9 -6
  304. package/dist/esm/Question/UC/SetAnswerTextUC.test.js.map +1 -1
  305. package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js +10 -6
  306. package/dist/esm/Question/UC/SetAnswerTextUndoRedo.test.js.map +1 -1
  307. package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js +10 -6
  308. package/dist/esm/Question/UC/ToggleIsCorrectUndoRedo.test.js.map +1 -1
  309. package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js +7 -4
  310. package/dist/esm/Question/UC/ToggleQuestionAnswerIsCorrect.test.js.map +1 -1
  311. package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js +2 -0
  312. package/dist/esm/RequestHandler/UC/SetAppStateUC.test.js.map +1 -1
  313. package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js +7 -4
  314. package/dist/esm/SceneRoot/UC/BumpSceneRootScaleAboutPixelPoint.test.js.map +1 -1
  315. package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js +9 -6
  316. package/dist/esm/SceneRoot/UC/DragScaleSceneRoot.test.js.map +1 -1
  317. package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js +16 -7
  318. package/dist/esm/SceneRoot/UC/OrbitSceneRoot.test.js.map +1 -1
  319. package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js +9 -6
  320. package/dist/esm/SceneRoot/UC/PanSceneRoot.test.js.map +1 -1
  321. package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js +9 -6
  322. package/dist/esm/SceneRoot/UC/PinchSceneRoot.test.js.map +1 -1
  323. package/dist/esm/Selection/UC/HoverAppObjectUC.test.js +3 -3
  324. package/dist/esm/Selection/UC/HoverAppObjectUC.test.js.map +1 -1
  325. package/dist/esm/Selection/UC/PressAppObjectUC.test.js +3 -3
  326. package/dist/esm/Selection/UC/PressAppObjectUC.test.js.map +1 -1
  327. package/dist/esm/Selection/UC/SelectAppObjectUC.test.js +3 -3
  328. package/dist/esm/Selection/UC/SelectAppObjectUC.test.js.map +1 -1
  329. package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js +9 -7
  330. package/dist/esm/Stick/UCs/MoveTransformWithStickUC.test.js.map +1 -1
  331. package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js +13 -11
  332. package/dist/esm/Stick/UCs/PanTransformWithStickUC.test.js.map +1 -1
  333. package/dist/esm/Stick/UCs/StickUC.test.js +9 -7
  334. package/dist/esm/Stick/UCs/StickUC.test.js.map +1 -1
  335. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +7 -6
  336. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  337. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +5 -3
  338. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  339. package/dist/esm/Transform3D/UC/MoveTransformUC.test.js +21 -11
  340. package/dist/esm/Transform3D/UC/MoveTransformUC.test.js.map +1 -1
  341. package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js +10 -6
  342. package/dist/esm/Transform3D/UC/MoveTransformUndoRedo.test.js.map +1 -1
  343. package/dist/esm/Transform3D/UC/PanTransformUC.test.js +13 -11
  344. package/dist/esm/Transform3D/UC/PanTransformUC.test.js.map +1 -1
  345. package/dist/esm/Transform3D/UC/PinchTransform.test.js +7 -5
  346. package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
  347. package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js +9 -7
  348. package/dist/esm/Transform3D/UC/RayPanScaleTransform.test.js.map +1 -1
  349. package/dist/esm/Transform3D/UC/ScaleTransform.test.js +22 -18
  350. package/dist/esm/Transform3D/UC/ScaleTransform.test.js.map +1 -1
  351. package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js +11 -6
  352. package/dist/esm/Transform3D/UC/StylusMoveTransformUC.test.js.map +1 -1
  353. package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js +3 -1
  354. package/dist/esm/Transform3D/UC/TryMoveTransformUC.test.js.map +1 -1
  355. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +4 -3
  356. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  357. package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js +10 -8
  358. package/dist/esm/Transparency/UCs/MakeTransparentUC.test.js.map +1 -1
  359. package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js +4 -4
  360. package/dist/esm/UndoRedo/Mocks/MockUndoRedo.js.map +1 -1
  361. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
  362. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts.map +1 -1
  363. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts +3 -3
  364. package/dist/types/Dispatcher/Mocks/MockDispatchStateChange.d.ts.map +1 -1
  365. package/dist/types/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.d.ts.map +1 -1
  366. package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts +4 -4
  367. package/dist/types/UndoRedo/Mocks/MockUndoRedo.d.ts.map +1 -1
  368. package/package.json +1 -1
@@ -9,14 +9,18 @@ function makeTestRig() {
9
9
  const ao = appObjects.getOrCreate("ao");
10
10
  const transform = makeTransform3D(ao);
11
11
  const mockDispatch = makeMockDispatchStateChange(appObjects);
12
+ const doDispatchMock = jest.fn();
13
+ mockDispatch.doDispatch = doDispatchMock;
12
14
  const scaleUC = makeScaleTransformUC(ao);
13
- const mockPick = makeMockSceneRayPickUC(appObjects);
15
+ const mockRayPick = makeMockSceneRayPickUC(appObjects);
16
+ const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
17
+ mockRayPick.sceneRayPick = mockPick;
14
18
  const mockSceneRay = makeMockPixelToSceneRayUC(appObjects);
15
19
  mockSceneRay.pixelToSceneRay = mockPixelToRay;
16
20
  return {
17
21
  scaleUC,
18
22
  appObjects,
19
- mockDispatch,
23
+ doDispatchMock,
20
24
  mockPick,
21
25
  transform,
22
26
  };
@@ -46,7 +50,7 @@ describe("Scale Transform UC - Ray", () => {
46
50
  hit: false,
47
51
  sceneRay: ParametricLine.Forward(),
48
52
  };
49
- mockPick.sceneRayPick.mockReturnValue(pick);
53
+ mockPick.mockReturnValue(pick);
50
54
  scaleUC.initializeRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward()));
51
55
  scaleUC.updateRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 4.5), Vector3.Forward()));
52
56
  expect(transform.worldPosition).toEqual(Vector3.Zero());
@@ -59,28 +63,28 @@ describe("Scale Transform UC - Ray", () => {
59
63
  sceneRay: ParametricLine.Forward(),
60
64
  worldPickPoint: new Vector3(1, 2, 3),
61
65
  };
62
- mockPick.sceneRayPick.mockReturnValue(pick);
66
+ mockPick.mockReturnValue(pick);
63
67
  scaleUC.initializeRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward()));
64
68
  scaleUC.updateRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward()));
65
69
  expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));
66
70
  });
67
71
  it("Dispatches state change", () => {
68
- const { scaleUC, mockDispatch } = makeTestRig();
72
+ const { scaleUC, doDispatchMock } = makeTestRig();
69
73
  scaleUC.initializeRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward()));
70
74
  scaleUC.updateRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 4.5), Vector3.Forward()));
71
75
  scaleUC.finish();
72
- expect(mockDispatch.doDispatch).toHaveBeenCalled();
76
+ expect(doDispatchMock).toHaveBeenCalled();
73
77
  });
74
78
  it("Does not dispatches state change if the scale does not change", () => {
75
- const { scaleUC, mockDispatch } = makeTestRig();
79
+ const { scaleUC, doDispatchMock } = makeTestRig();
76
80
  scaleUC.initializeRay(ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward()));
77
81
  scaleUC.finish();
78
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
82
+ expect(doDispatchMock).not.toHaveBeenCalled();
79
83
  });
80
84
  it("Does not dispatches state change if it was not initialized", () => {
81
- const { scaleUC, mockDispatch } = makeTestRig();
85
+ const { scaleUC, doDispatchMock } = makeTestRig();
82
86
  scaleUC.finish();
83
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
87
+ expect(doDispatchMock).not.toHaveBeenCalled();
84
88
  });
85
89
  it("Does not scale if it is not initialized", () => {
86
90
  const { scaleUC, transform } = makeTestRig();
@@ -146,7 +150,7 @@ describe("Scale Transform UC - Pixel", () => {
146
150
  hit: false,
147
151
  sceneRay: ParametricLine.Forward(),
148
152
  };
149
- mockPick.sceneRayPick.mockReturnValue(pick);
153
+ mockPick.mockReturnValue(pick);
150
154
  scaleUC.initializePixel(Vector2.Zero());
151
155
  scaleUC.updatePixel(new Vector2(0, 10));
152
156
  expect(transform.worldPosition).toEqual(Vector3.Zero());
@@ -159,28 +163,28 @@ describe("Scale Transform UC - Pixel", () => {
159
163
  sceneRay: ParametricLine.Forward(),
160
164
  worldPickPoint: new Vector3(1, 2, 3),
161
165
  };
162
- mockPick.sceneRayPick.mockReturnValue(pick);
166
+ mockPick.mockReturnValue(pick);
163
167
  scaleUC.initializePixel(Vector2.Zero());
164
168
  scaleUC.updatePixel(new Vector2(0, 10));
165
169
  expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));
166
170
  });
167
171
  it("Dispatches state change", () => {
168
- const { scaleUC, mockDispatch } = makeTestRig();
172
+ const { scaleUC, doDispatchMock } = makeTestRig();
169
173
  scaleUC.initializePixel(Vector2.Zero());
170
174
  scaleUC.updatePixel(new Vector2(0, -5));
171
175
  scaleUC.finish();
172
- expect(mockDispatch.doDispatch).toHaveBeenCalled();
176
+ expect(doDispatchMock).toHaveBeenCalled();
173
177
  });
174
178
  it("Does not dispatches state change if the scale does not change", () => {
175
- const { scaleUC, mockDispatch } = makeTestRig();
179
+ const { scaleUC, doDispatchMock } = makeTestRig();
176
180
  scaleUC.initializePixel(Vector2.Zero());
177
181
  scaleUC.finish();
178
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
182
+ expect(doDispatchMock).not.toHaveBeenCalled();
179
183
  });
180
184
  it("Does not dispatches state change if it was not initialized", () => {
181
- const { scaleUC, mockDispatch } = makeTestRig();
185
+ const { scaleUC, doDispatchMock } = makeTestRig();
182
186
  scaleUC.finish();
183
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
187
+ expect(doDispatchMock).not.toHaveBeenCalled();
184
188
  });
185
189
  it("Does not scale if it is not initialized", () => {
186
190
  const { scaleUC, transform } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"ScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/ScaleTransform.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GAGvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,UAAU,CACU,CAAC;IACvB,YAAY,CAAC,eAAe,GAAG,cAAc,CAAC;IAE9C,OAAO;QACL,OAAO;QACP,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,cAAc,CAAC,kBAAkB,CACtC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC7B,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE;SACnC,CAAC;QACF,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE;YAClC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC;QACF,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEhD,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEhD,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAC3E,CAAC;QACF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EACtB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,CAC/C,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAE9B,OAAO,CAAC,aAAa,CACnB,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,OAAO,CAAC,SAAS,CACf,cAAc,CAAC,kBAAkB,CAC/B,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,OAAO,EAAE,CAClB,CACF,CAAC;QAEF,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE;SACnC,CAAC;QACF,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE;YAClC,cAAc,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACrC,CAAC;QACF,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE5C,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEhD,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEhD,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,EAAE,CAAC;QAEjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAChD,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAE7C,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAErC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvD,SAAS,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,CAC/C,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,uCAAuC;QAC9D,OAAO,CAAC,OAAO,EAAE,CAClB,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAE9B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n PixelToSceneRayUC,\r\n ScenePixelPick,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeScaleTransformUC } from \"./ScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n\r\n const scaleUC = makeScaleTransformUC(ao);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects);\r\n const mockSceneRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n mockSceneRay.pixelToSceneRay = mockPixelToRay;\r\n\r\n return {\r\n scaleUC,\r\n appObjects,\r\n mockDispatch,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\nfunction mockPixelToRay(pix: Vector2) {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pix.x, pix.y, -5),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Scale Transform UC - Ray\", () => {\r\n it(\"Decreases the scaleUC with forward movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with backwards movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n scaleUC.finish();\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Ray scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1),\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(-1);\r\n });\r\n});\r\n\r\ndescribe(\"Scale Transform UC - Pixel\", () => {\r\n it(\"Decreases the scaleUC with down movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with up movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 5));\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.sceneRayPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.finish();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, mockDispatch } = makeTestRig();\r\n scaleUC.finish();\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Pixel scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1), // Offset forward, closer to the camera\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(1); // Pushes it away\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"ScaleTransform.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/ScaleTransform.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, ParametricPlane, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n PixelToSceneRayUC,\r\n ScenePixelPick,\r\n} from \"../../Babylon\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeTransform3D } from \"../Entities\";\r\nimport { makeScaleTransformUC } from \"./ScaleTransform\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const transform = makeTransform3D(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const scaleUC = makeScaleTransformUC(ao);\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n const mockSceneRay = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ) as PixelToSceneRayUC;\r\n mockSceneRay.pixelToSceneRay = mockPixelToRay;\r\n\r\n return {\r\n scaleUC,\r\n appObjects,\r\n doDispatchMock,\r\n mockPick,\r\n transform,\r\n };\r\n}\r\n\r\nfunction mockPixelToRay(pix: Vector2) {\r\n return ParametricLine.FromPointDirection(\r\n new Vector3(pix.x, pix.y, -5),\r\n Vector3.Forward()\r\n );\r\n}\r\n\r\ndescribe(\"Scale Transform UC - Ray\", () => {\r\n it(\"Decreases the scaleUC with forward movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with backwards movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n scaleUC.finish();\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 4), Vector3.Forward())\r\n );\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(new Vector3(0, 0, 5), Vector3.Forward())\r\n );\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, 4.5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Ray scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1),\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializeRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -5),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n scaleUC.updateRay(\r\n ParametricLine.FromPointDirection(\r\n new Vector3(0, 0, -4),\r\n Vector3.Forward()\r\n )\r\n );\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(-1);\r\n });\r\n});\r\n\r\ndescribe(\"Scale Transform UC - Pixel\", () => {\r\n it(\"Decreases the scaleUC with down movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale.x).toBeLessThan(1);\r\n });\r\n\r\n it(\"Increases the scaleUC with up movement\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 5));\r\n\r\n expect(transform.worldScale.x).toBeGreaterThan(1);\r\n });\r\n\r\n it(\"Scales around the origin if there is no pick\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: false,\r\n sceneRay: ParametricLine.Forward(),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(Vector3.Zero());\r\n });\r\n\r\n it(\"Scales around the pick point\", () => {\r\n const { scaleUC, transform, mockPick } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pick: ScenePixelPick = {\r\n hit: true,\r\n sceneRay: ParametricLine.Forward(),\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n };\r\n mockPick.mockReturnValue(pick);\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition).toEqual(new Vector3(-1, -2, -3));\r\n });\r\n\r\n it(\"Dispatches state change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if the scale does not change\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.finish();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatches state change if it was not initialized\", () => {\r\n const { scaleUC, doDispatchMock } = makeTestRig();\r\n scaleUC.finish();\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not scale if it is not initialized\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldScale.x).toEqual(1);\r\n });\r\n\r\n it(\"Limits the minimum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.minScale = 0.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(0.5, 0.5, 0.5));\r\n });\r\n\r\n it(\"Limits the maximum scale\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.maxScale = 1.5;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 50));\r\n\r\n expect(transform.worldScale).toEqual(new Vector3(1.5, 1.5, 1.5));\r\n });\r\n\r\n it(\"Does not update if disabled\", () => {\r\n const { scaleUC, transform } = makeTestRig();\r\n\r\n scaleUC.enabled = false;\r\n transform.worldScale = Vector3.One();\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, -5));\r\n\r\n expect(transform.worldScale).toEqual(Vector3.One());\r\n });\r\n\r\n it(\"Pixel scales around the pick point on the plane if the plane is supplied\", () => {\r\n const { scaleUC, mockPick, transform } = makeTestRig();\r\n\r\n transform.worldPosition = Vector3.Zero();\r\n\r\n const pickPlane = ParametricPlane.FromPointNormal(\r\n new Vector3(0, 0, -1), // Offset forward, closer to the camera\r\n Vector3.Forward()\r\n );\r\n scaleUC.pickPlane = pickPlane;\r\n\r\n scaleUC.initializePixel(Vector2.Zero());\r\n scaleUC.updatePixel(new Vector2(0, 10));\r\n\r\n expect(transform.worldPosition.x).toBeCloseTo(0);\r\n expect(transform.worldPosition.y).toBeCloseTo(0);\r\n expect(transform.worldPosition.z).toBeCloseTo(1); // Pushes it away\r\n });\r\n});\r\n"]}
@@ -1,6 +1,6 @@
1
1
  import { makeTransform3D } from "../Entities/Transform3D";
2
2
  import { makeAppObjectRepo } from "@vived/core";
3
- import { MockDispatchStateChange } from "../../Dispatcher/Mocks/MockDispatchStateChange";
3
+ import { makeMockDispatchStateChange } from "../../Dispatcher";
4
4
  import { makeStylusEntity } from "../../Stylus/Entity/StylusEntity";
5
5
  import { MockUndoRedo } from "../../UndoRedo/Mocks/MockUndoRedo";
6
6
  import { makeStylusMoveTransformUC } from "./StylusMoveTransformUC";
@@ -11,29 +11,34 @@ function makeTestRig() {
11
11
  const ao = appObjects.getOrCreate("App Object");
12
12
  const transform = makeTransform3D(ao);
13
13
  const stylusRootMovementUC = makeStylusMoveTransformUC(ao);
14
- const mockDispatch = new MockDispatchStateChange(ao);
14
+ const mockDispatch = makeMockDispatchStateChange(appObjects);
15
+ const doDispatchMock = jest.fn();
16
+ mockDispatch.doDispatch = doDispatchMock;
15
17
  const mockUndo = new MockUndoRedo(ao);
18
+ // Override the submitAction with a jest.fn()
19
+ mockUndo.submitAction = jest.fn();
16
20
  return {
17
21
  appObjects,
18
22
  stylusRootMovementUC,
19
23
  transform,
20
24
  mockDispatch,
25
+ doDispatchMock,
21
26
  mockUndo,
22
27
  };
23
28
  }
24
29
  describe("Stylus Root Movement UC", () => {
25
30
  it("Dispatches a state change on stop if there was movement", () => {
26
- const { stylusRootMovementUC, mockDispatch } = makeTestRig();
31
+ const { stylusRootMovementUC, doDispatchMock } = makeTestRig();
27
32
  stylusRootMovementUC.initialize();
28
33
  stylusRootMovementUC.move();
29
34
  stylusRootMovementUC.stop();
30
- expect(mockDispatch.doDispatch).toHaveBeenCalled();
35
+ expect(doDispatchMock).toHaveBeenCalled();
31
36
  });
32
37
  it("Does not Dispatches a state change on stop if there was no movement", () => {
33
- const { stylusRootMovementUC, mockDispatch } = makeTestRig();
38
+ const { stylusRootMovementUC, doDispatchMock } = makeTestRig();
34
39
  stylusRootMovementUC.initialize();
35
40
  stylusRootMovementUC.stop();
36
- expect(mockDispatch.doDispatch).not.toHaveBeenCalled();
41
+ expect(doDispatchMock).not.toHaveBeenCalled();
37
42
  });
38
43
  it("Submits an undo on stop if requested", () => {
39
44
  const { stylusRootMovementUC, mockUndo } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"StylusMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/StylusMoveTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeTransform3D } from \"../Entities/Transform3D\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\r\nimport { MockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeStylusEntity } from \"../../Stylus/Entity/StylusEntity\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeStylusMoveTransformUC } from \"./StylusMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const stylusAO = appObjects.getOrCreate(\"Stylus\");\r\n const stylus = makeStylusEntity(stylusAO);\r\n\r\n const ao = appObjects.getOrCreate(\"App Object\");\r\n const transform = makeTransform3D(ao);\r\n const stylusRootMovementUC = makeStylusMoveTransformUC(ao);\r\n\r\n const mockDispatch = new MockDispatchStateChange(ao);\r\n const mockUndo = new MockUndoRedo(ao);\r\n\r\n return {\r\n appObjects,\r\n stylusRootMovementUC,\r\n transform,\r\n mockDispatch,\r\n mockUndo,\r\n };\r\n}\r\n\r\ndescribe(\"Stylus Root Movement UC\", () => {\r\n it(\"Dispatches a state change on stop if there was movement\", () => {\r\n const { stylusRootMovementUC, mockDispatch } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(mockDispatch.doDispatch).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not Dispatches a state change on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, mockDispatch } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(mockDispatch.doDispatch).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits an undo on stop if requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if not requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if request is false\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(false);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submits an undo on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"StylusMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/StylusMoveTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeTransform3D } from \"../Entities/Transform3D\";\r\nimport { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeStylusEntity } from \"../../Stylus/Entity/StylusEntity\";\r\nimport { MockUndoRedo } from \"../../UndoRedo/Mocks/MockUndoRedo\";\r\nimport { makeStylusMoveTransformUC } from \"./StylusMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const stylusAO = appObjects.getOrCreate(\"Stylus\");\r\n const stylus = makeStylusEntity(stylusAO);\r\n\r\n const ao = appObjects.getOrCreate(\"App Object\");\r\n const transform = makeTransform3D(ao);\r\n const stylusRootMovementUC = makeStylusMoveTransformUC(ao);\r\n\r\n const mockDispatch = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatch.doDispatch = doDispatchMock;\r\n\r\n const mockUndo = new MockUndoRedo(ao);\r\n // Override the submitAction with a jest.fn()\r\n mockUndo.submitAction = jest.fn();\r\n\r\n return {\r\n appObjects,\r\n stylusRootMovementUC,\r\n transform,\r\n mockDispatch,\r\n doDispatchMock,\r\n mockUndo,\r\n };\r\n}\r\n\r\ndescribe(\"Stylus Root Movement UC\", () => {\r\n it(\"Dispatches a state change on stop if there was movement\", () => {\r\n const { stylusRootMovementUC, doDispatchMock } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not Dispatches a state change on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, doDispatchMock } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Submits an undo on stop if requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if not requested\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop();\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submit an undo on stop if request is false\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.move();\r\n stylusRootMovementUC.stop(false);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not submits an undo on stop if there was no movement\", () => {\r\n const { stylusRootMovementUC, mockUndo } = makeTestRig();\r\n\r\n stylusRootMovementUC.initialize();\r\n stylusRootMovementUC.stop(true);\r\n\r\n expect(mockUndo.submitAction).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -9,7 +9,9 @@ function makeTestRig() {
9
9
  const uc = makeTryMoveTransformUC(tryDragAO);
10
10
  const appObj = appObjects.getOrCreate("appObj");
11
11
  const mockMoveUC = new MockMoveTransformUC(appObj);
12
- const mockPick = makeMockSceneRayPickUC(appObjects).sceneRayPick;
12
+ const mockRayPick = makeMockSceneRayPickUC(appObjects);
13
+ const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
14
+ mockRayPick.sceneRayPick = mockPick;
13
15
  const mockPickResult = {
14
16
  hit: true,
15
17
  appObjectID: "appObj",
@@ -1 +1 @@
1
- {"version":3,"file":"TryMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryMoveTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC, SceneRayPick } from \"../../Babylon\";\r\nimport { MockMoveTransformUC } from \"../Mocks/MockMoveTransformUC\";\r\nimport { makeTryMoveTransformUC } from \"./TryMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\r\n const uc = makeTryMoveTransformUC(tryDragAO);\r\n\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n const mockMoveUC = new MockMoveTransformUC(appObj);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects).sceneRayPick;\r\n\r\n const mockPickResult: SceneRayPick = {\r\n hit: true,\r\n appObjectID: \"appObj\",\r\n };\r\n\r\n mockPick.mockReturnValue(mockPickResult);\r\n\r\n return { appObjects, uc, mockPickResult, mockMoveUC };\r\n}\r\n\r\ndescribe(\"Default Try Move Transform UC\", () => {\r\n it(\"Returns true if the initialization is successful\", () => {\r\n const { uc } = makeTestRig();\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\r\n });\r\n\r\n it(\"Returns false if not allowed\", () => {\r\n const { uc } = makeTestRig();\r\n uc.allow = () => {\r\n return false;\r\n };\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the pick doesn't return an app id\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = undefined;\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the picked app object doesn't have a Move Transform UC\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = \"somethingElse\";\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Updates the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stop the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't stop if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Cancels the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't cancel if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop after a cancel\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop if not allowed\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.allow = () => {\r\n return false;\r\n };\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"TryMoveTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryMoveTransformUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAgB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3E,WAAW,CAAC,YAAY,GAAG,QAAQ,CAAC;IAEpC,MAAM,cAAc,GAAiB;QACnC,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,QAAQ;KACtB,CAAC;IAEF,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAEzC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxD,CAAC;AAED,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7B,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE;YACd,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7C,cAAc,CAAC,WAAW,GAAG,SAAS,CAAC;QAEvC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7C,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC;QAE7C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,MAAM,EAAE,CAAC;QAEZ,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEzC,EAAE,CAAC,KAAK,GAAG,GAAG,EAAE;YACd,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACxC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,EAAE,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport { makeMockSceneRayPickUC, SceneRayPick } from \"../../Babylon\";\r\nimport { MockMoveTransformUC } from \"../Mocks/MockMoveTransformUC\";\r\nimport { makeTryMoveTransformUC } from \"./TryMoveTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\r\n const uc = makeTryMoveTransformUC(tryDragAO);\r\n\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n const mockMoveUC = new MockMoveTransformUC(appObj);\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n const mockPickResult: SceneRayPick = {\r\n hit: true,\r\n appObjectID: \"appObj\",\r\n };\r\n\r\n mockPick.mockReturnValue(mockPickResult);\r\n\r\n return { appObjects, uc, mockPickResult, mockMoveUC };\r\n}\r\n\r\ndescribe(\"Default Try Move Transform UC\", () => {\r\n it(\"Returns true if the initialization is successful\", () => {\r\n const { uc } = makeTestRig();\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\r\n });\r\n\r\n it(\"Returns false if not allowed\", () => {\r\n const { uc } = makeTestRig();\r\n uc.allow = () => {\r\n return false;\r\n };\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the pick doesn't return an app id\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = undefined;\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the picked app object doesn't have a Move Transform UC\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = \"somethingElse\";\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Updates the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stop the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't stop if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.stop();\r\n\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Cancels the UC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't cancel if the init did not happen the mockMoveUC\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.cancel();\r\n\r\n expect(mockMoveUC.cancel).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop after a cancel\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop if not allowed\", () => {\r\n const { uc, mockMoveUC } = makeTestRig();\r\n\r\n uc.allow = () => {\r\n return false;\r\n };\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(mockMoveUC.update).not.toHaveBeenCalled();\r\n expect(mockMoveUC.finish).not.toHaveBeenCalled();\r\n });\r\n});\r\n"]}
@@ -1,5 +1,4 @@
1
- import { makeAppObjectRepo } from "@vived/core";
2
- import { ParametricLine, Vector2, Vector3 } from "@vived/core";
1
+ import { makeAppObjectRepo, ParametricLine, Vector2, Vector3 } from "@vived/core";
3
2
  import { makeMockPixelToSceneRayUC, makeMockSceneRayPickUC, } from "../../Babylon";
4
3
  import { MockPanTransformUC } from "../Mocks";
5
4
  import { makeTryPanTransformUC } from "./TryPanTransformUC";
@@ -10,12 +9,14 @@ function makeTestRig() {
10
9
  const appObj = appObjects.getOrCreate("appObj");
11
10
  const screenPeelUC = new MockPanTransformUC(appObj);
12
11
  const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);
13
- const mockPick = makeMockSceneRayPickUC(appObjects).sceneRayPick;
14
12
  const mockPickResult = {
15
13
  hit: true,
16
14
  worldPickPoint: new Vector3(1, 2, 3),
17
15
  appObjectID: "appObj",
18
16
  };
17
+ const mockRayPick = makeMockSceneRayPickUC(appObjects);
18
+ const mockPick = jest.fn().mockReturnValue(mockPickResult);
19
+ mockRayPick.sceneRayPick = mockPick;
19
20
  mockPick.mockReturnValue(mockPickResult);
20
21
  return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n SceneRayPick,\r\n} from \"../../Babylon\";\r\nimport { MockPanTransformUC } from \"../Mocks\";\r\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\r\n const uc = makeTryPanTransformUC(tryDragAO);\r\n\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n const screenPeelUC = new MockPanTransformUC(appObj);\r\n\r\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\r\n\r\n const mockPick = makeMockSceneRayPickUC(appObjects).sceneRayPick;\r\n\r\n const mockPickResult: SceneRayPick = {\r\n hit: true,\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n appObjectID: \"appObj\",\r\n };\r\n\r\n mockPick.mockReturnValue(mockPickResult);\r\n\r\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\r\n}\r\n\r\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\r\n it(\"Returns true if the initialization is successful\", () => {\r\n const { uc } = makeTestRig();\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\r\n });\r\n\r\n it(\"Returns false if the pick doesn't return an app id\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = undefined;\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = \"somethingElse\";\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Initializes the peel UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\r\n ParametricLine.Forward()\r\n );\r\n });\r\n\r\n it(\"Updates the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\r\n ParametricLine.Forward()\r\n );\r\n });\r\n\r\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stop the UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.finish).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.stop();\r\n\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Cancels the UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.cancel();\r\n\r\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop after a cancel\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop if not allowed\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.allow = () => {\r\n return false;\r\n };\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\r\n const { uc, mockPixelToRay } = makeTestRig();\r\n\r\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\r\n const ray = ParametricLine.FromTwoPoint(\r\n new Vector3(1, 2, 3),\r\n new Vector3(4, 5, 6)\r\n );\r\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\r\n\r\n uc.tryWithPixel(new Vector2(8, 9));\r\n\r\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\r\n new Vector2(8, 9)\r\n );\r\n expect(initSpy).toHaveBeenCalledWith(ray);\r\n });\r\n\r\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\r\n const { uc, mockPixelToRay } = makeTestRig();\r\n\r\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\r\n const ray = ParametricLine.FromTwoPoint(\r\n new Vector3(1, 2, 3),\r\n new Vector3(4, 5, 6)\r\n );\r\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\r\n\r\n uc.moveWithPixel(new Vector2(8, 9));\r\n\r\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\r\n new Vector2(8, 9)\r\n );\r\n expect(moveSpy).toHaveBeenCalledWith(ray);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"TryPanTransformUC.test.js","sourceRoot":"","sources":["../../../../src/Transform3D/UC/TryPanTransformUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo, ParametricLine, Vector2, Vector3 } from \"@vived/core\";\r\nimport {\r\n makeMockPixelToSceneRayUC,\r\n makeMockSceneRayPickUC,\r\n SceneRayPick,\r\n} from \"../../Babylon\";\r\nimport { MockPanTransformUC } from \"../Mocks\";\r\nimport { makeTryPanTransformUC } from \"./TryPanTransformUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const tryDragAO = appObjects.getOrCreate(\"tryDragAO\");\r\n const uc = makeTryPanTransformUC(tryDragAO);\r\n\r\n const appObj = appObjects.getOrCreate(\"appObj\");\r\n const screenPeelUC = new MockPanTransformUC(appObj);\r\n\r\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\r\n\r\n const mockPickResult: SceneRayPick = {\r\n hit: true,\r\n worldPickPoint: new Vector3(1, 2, 3),\r\n appObjectID: \"appObj\",\r\n };\r\n\r\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\r\n const mockPick = jest.fn().mockReturnValue(mockPickResult);\r\n mockRayPick.sceneRayPick = mockPick;\r\n\r\n \r\n\r\n mockPick.mockReturnValue(mockPickResult);\r\n\r\n return { appObjects, uc, mockPickResult, screenPeelUC, mockPixelToRay };\r\n}\r\n\r\ndescribe(\"Default Try Screen Drag Transform UC\", () => {\r\n it(\"Returns true if the initialization is successful\", () => {\r\n const { uc } = makeTestRig();\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(true);\r\n });\r\n\r\n it(\"Returns false if the pick doesn't return an app id\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = undefined;\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Returns false if the picked app object doesn't have a ScreenPeelTransformUC\", () => {\r\n const { mockPickResult, uc } = makeTestRig();\r\n mockPickResult.appObjectID = \"somethingElse\";\r\n\r\n expect(uc.tryWithRay(ParametricLine.Forward())).toEqual(false);\r\n });\r\n\r\n it(\"Initializes the peel UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.initializeRay).toHaveBeenCalledWith(\r\n ParametricLine.Forward()\r\n );\r\n });\r\n\r\n it(\"Updates the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.updateRay).toHaveBeenCalledWith(\r\n ParametricLine.Forward()\r\n );\r\n });\r\n\r\n it(\"Doesn't update if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Stop the UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.finish).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't stop if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.stop();\r\n\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Cancels the UC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n expect(screenPeelUC.cancelPan).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't cancel if the init did not happen the screenPeelUC\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.cancel();\r\n\r\n expect(screenPeelUC.cancelPan).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop after a cancel\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.cancel();\r\n\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Doesn't update or stop if not allowed\", () => {\r\n const { uc, screenPeelUC } = makeTestRig();\r\n\r\n uc.allow = () => {\r\n return false;\r\n };\r\n\r\n uc.tryWithRay(ParametricLine.Forward());\r\n uc.moveWithRay(ParametricLine.Forward());\r\n uc.stop();\r\n\r\n expect(screenPeelUC.updateRay).not.toHaveBeenCalled();\r\n expect(screenPeelUC.finish).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Forms the ray and initializes with it when a pixel is passed in\", () => {\r\n const { uc, mockPixelToRay } = makeTestRig();\r\n\r\n const initSpy = jest.spyOn(uc, \"tryWithRay\");\r\n const ray = ParametricLine.FromTwoPoint(\r\n new Vector3(1, 2, 3),\r\n new Vector3(4, 5, 6)\r\n );\r\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\r\n\r\n uc.tryWithPixel(new Vector2(8, 9));\r\n\r\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\r\n new Vector2(8, 9)\r\n );\r\n expect(initSpy).toHaveBeenCalledWith(ray);\r\n });\r\n\r\n it(\"Forms the ray and moves with it when a pixel is passed in\", () => {\r\n const { uc, mockPixelToRay } = makeTestRig();\r\n\r\n const moveSpy = jest.spyOn(uc, \"moveWithRay\");\r\n const ray = ParametricLine.FromTwoPoint(\r\n new Vector3(1, 2, 3),\r\n new Vector3(4, 5, 6)\r\n );\r\n mockPixelToRay.pixelToSceneRay.mockReturnValue(ray);\r\n\r\n uc.moveWithPixel(new Vector2(8, 9));\r\n\r\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\r\n new Vector2(8, 9)\r\n );\r\n expect(moveSpy).toHaveBeenCalledWith(ray);\r\n });\r\n});\r\n"]}
@@ -7,6 +7,8 @@ function makeTestRig() {
7
7
  const appObjects = makeAppObjectRepo();
8
8
  const ao = appObjects.getOrCreate("AppObj1");
9
9
  const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);
10
+ const doDispatchMock = jest.fn();
11
+ mockDispatchStateChange.doDispatch = doDispatchMock;
10
12
  const undoEntity = makeUndoRedoEntity(appObjects.getOrCreate("undoRedo"));
11
13
  const transparencyEntity = new Transparency(ao);
12
14
  const uc = makeMakeTransparentUC(ao);
@@ -15,7 +17,7 @@ function makeTestRig() {
15
17
  ao,
16
18
  transparencyEntity,
17
19
  uc,
18
- mockDispatchStateChange,
20
+ doDispatchMock,
19
21
  undoEntity,
20
22
  };
21
23
  }
@@ -33,11 +35,11 @@ describe("MakeTransparent UC", () => {
33
35
  expect(transparencyEntity.isTransparent).toEqual(true);
34
36
  });
35
37
  it("Dispatches a state change when toggled", () => {
36
- const { uc, mockDispatchStateChange } = makeTestRig();
38
+ const { uc, doDispatchMock } = makeTestRig();
37
39
  uc.toggleIsTransparent();
38
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);
40
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
39
41
  uc.toggleIsTransparent();
40
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);
42
+ expect(doDispatchMock).toHaveBeenCalledTimes(2);
41
43
  });
42
44
  it("Submits undo action when toggled", () => {
43
45
  const { uc, undoEntity } = makeTestRig();
@@ -52,10 +54,10 @@ describe("MakeTransparent UC", () => {
52
54
  expect(transparencyEntity.isTransparent).toEqual(true);
53
55
  });
54
56
  it("Dispatches a state change when transparent", () => {
55
- const { uc, mockDispatchStateChange, transparencyEntity } = makeTestRig();
57
+ const { uc, doDispatchMock, transparencyEntity } = makeTestRig();
56
58
  transparencyEntity.isTransparent = false;
57
59
  uc.makeTransparent();
58
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);
60
+ expect(doDispatchMock).toHaveBeenCalledTimes(1);
59
61
  });
60
62
  it("Submits undo action when transparent", () => {
61
63
  const { uc, undoEntity } = makeTestRig();
@@ -64,10 +66,10 @@ describe("MakeTransparent UC", () => {
64
66
  expect(undoEntity.submitAction).toHaveBeenCalled();
65
67
  });
66
68
  it("Does not dispatch a state change if already transparent", () => {
67
- const { uc, mockDispatchStateChange, transparencyEntity } = makeTestRig();
69
+ const { uc, doDispatchMock, transparencyEntity } = makeTestRig();
68
70
  transparencyEntity.isTransparent = true;
69
71
  uc.makeTransparent();
70
- expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(0);
72
+ expect(doDispatchMock).toHaveBeenCalledTimes(0);
71
73
  });
72
74
  it("Does not submit undo action when already transparent", () => {
73
75
  const { uc, undoEntity, transparencyEntity } = makeTestRig();
@@ -1 +1 @@
1
- {"version":3,"file":"MakeTransparentUC.test.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/MakeTransparentUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo\";\r\nimport { Transparency } from \"../Entities\";\r\nimport { makeMakeTransparentUC, MakeTransparentUC } from \"./MakeTransparentUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AppObj1\");\r\n\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n\r\n const undoEntity = makeUndoRedoEntity(appObjects.getOrCreate(\"undoRedo\"));\r\n\r\n const transparencyEntity = new Transparency(ao);\r\n const uc = makeMakeTransparentUC(ao);\r\n\r\n return {\r\n appObjects,\r\n ao,\r\n transparencyEntity,\r\n uc,\r\n mockDispatchStateChange,\r\n undoEntity,\r\n };\r\n}\r\n\r\ndescribe(\"MakeTransparent UC\", () => {\r\n it(\"Gets the UC\", () => {\r\n const { appObjects, uc } = makeTestRig();\r\n\r\n expect(MakeTransparentUC.get(\"AppObj1\", appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Toggles the is transparent flag\", () => {\r\n const { uc, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Dispatches a state change when toggled\", () => {\r\n const { uc, mockDispatchStateChange } = makeTestRig();\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Submits undo action when toggled\", () => {\r\n const { uc, undoEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n\r\n uc.toggleIsTransparent();\r\n expect(undoEntity.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Make transparent the object\", () => {\r\n const { uc, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Dispatches a state change when transparent\", () => {\r\n const { uc, mockDispatchStateChange, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(1);\r\n });\r\n\r\n it(\"Submits undo action when transparent\", () => {\r\n const { uc, undoEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n\r\n uc.makeTransparent();\r\n expect(undoEntity.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if already transparent\", () => {\r\n const { uc, mockDispatchStateChange, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.makeTransparent();\r\n\r\n expect(mockDispatchStateChange.doDispatch).toHaveBeenCalledTimes(0);\r\n });\r\n\r\n it(\"Does not submit undo action when already transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n transparencyEntity.isTransparent = true;\r\n\r\n uc.makeTransparent();\r\n expect(undoEntity.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets up the Undo Redo for transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n\r\n undoEntity.doUndo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n undoEntity.doRedo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Sets up the Undo Redo for an unmake transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n undoEntity.doUndo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n\r\n undoEntity.doRedo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n });\r\n});\r\n"]}
1
+ {"version":3,"file":"MakeTransparentUC.test.js","sourceRoot":"","sources":["../../../../src/Transparency/UCs/MakeTransparentUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher\";\r\nimport { makeUndoRedoEntity } from \"../../UndoRedo\";\r\nimport { Transparency } from \"../Entities\";\r\nimport { makeMakeTransparentUC, MakeTransparentUC } from \"./MakeTransparentUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const ao = appObjects.getOrCreate(\"AppObj1\");\r\n\r\n const mockDispatchStateChange = makeMockDispatchStateChange(appObjects);\r\n const doDispatchMock = jest.fn();\r\n mockDispatchStateChange.doDispatch = doDispatchMock;\r\n\r\n const undoEntity = makeUndoRedoEntity(appObjects.getOrCreate(\"undoRedo\"));\r\n\r\n const transparencyEntity = new Transparency(ao);\r\n const uc = makeMakeTransparentUC(ao);\r\n\r\n return {\r\n appObjects,\r\n ao,\r\n transparencyEntity,\r\n uc,\r\n doDispatchMock,\r\n undoEntity,\r\n };\r\n}\r\n\r\ndescribe(\"MakeTransparent UC\", () => {\r\n it(\"Gets the UC\", () => {\r\n const { appObjects, uc } = makeTestRig();\r\n\r\n expect(MakeTransparentUC.get(\"AppObj1\", appObjects)).toEqual(uc);\r\n });\r\n\r\n it(\"Toggles the is transparent flag\", () => {\r\n const { uc, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Dispatches a state change when toggled\", () => {\r\n const { uc, doDispatchMock } = makeTestRig();\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n\r\n uc.toggleIsTransparent();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(2);\r\n });\r\n\r\n it(\"Submits undo action when toggled\", () => {\r\n const { uc, undoEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n\r\n uc.toggleIsTransparent();\r\n expect(undoEntity.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Make transparent the object\", () => {\r\n const { uc, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Dispatches a state change when transparent\", () => {\r\n const { uc, doDispatchMock, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(1);\r\n });\r\n\r\n it(\"Submits undo action when transparent\", () => {\r\n const { uc, undoEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n\r\n uc.makeTransparent();\r\n expect(undoEntity.submitAction).toHaveBeenCalled();\r\n });\r\n\r\n it(\"Does not dispatch a state change if already transparent\", () => {\r\n const { uc, doDispatchMock, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.makeTransparent();\r\n\r\n expect(doDispatchMock).toHaveBeenCalledTimes(0);\r\n });\r\n\r\n it(\"Does not submit undo action when already transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n undoEntity.submitAction = jest.fn();\r\n transparencyEntity.isTransparent = true;\r\n\r\n uc.makeTransparent();\r\n expect(undoEntity.submitAction).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Sets up the Undo Redo for transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = false;\r\n uc.makeTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n\r\n undoEntity.doUndo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n undoEntity.doRedo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n });\r\n\r\n it(\"Sets up the Undo Redo for an unmake transparent\", () => {\r\n const { uc, undoEntity, transparencyEntity } = makeTestRig();\r\n\r\n transparencyEntity.isTransparent = true;\r\n uc.toggleIsTransparent();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n\r\n undoEntity.doUndo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(true);\r\n\r\n undoEntity.doRedo();\r\n\r\n expect(transparencyEntity.isTransparent).toEqual(false);\r\n });\r\n});\r\n"]}
@@ -8,10 +8,10 @@ export class MockUndoRedo extends UndoRedoEntity {
8
8
  }
9
9
  constructor(appObject) {
10
10
  super(appObject, UndoRedoEntity.type);
11
- this.submitAction = jest.fn();
12
- this.doUndo = jest.fn();
13
- this.doRedo = jest.fn();
14
- this.clearStack = jest.fn();
11
+ this.submitAction = () => { };
12
+ this.doUndo = () => { };
13
+ this.doRedo = () => { };
14
+ this.clearStack = () => { };
15
15
  }
16
16
  }
17
17
  export function makeMockUndoRedo(appObjects) {
@@ -1 +1 @@
1
- {"version":3,"file":"MockUndoRedo.js","sourceRoot":"","sources":["../../../../src/UndoRedo/Mocks/MockUndoRedo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QANxC,iBAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnB,eAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAIvB,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAyB;IACxD,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { AppObject } from \"@vived/core\";\r\nimport { UndoRedoEntity } from \"../Entities/UndoRedoEntity\";\r\n\r\nexport class MockUndoRedo extends UndoRedoEntity {\r\n get hasUndo(): boolean {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n get hasRedo(): boolean {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n submitAction = jest.fn();\r\n doUndo = jest.fn();\r\n doRedo = jest.fn();\r\n clearStack = jest.fn();\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, UndoRedoEntity.type);\r\n }\r\n}\r\n\r\nexport function makeMockUndoRedo(appObjects: AppObjectRepo) {\r\n return new MockUndoRedo(appObjects.getOrCreate(\"MockUndoRedo\"));\r\n}\r\n"]}
1
+ {"version":3,"file":"MockUndoRedo.js","sourceRoot":"","sources":["../../../../src/UndoRedo/Mocks/MockUndoRedo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;QANxC,iBAAY,GAAG,GAAE,EAAE,GAAC,CAAC,CAAC;QACtB,WAAM,GAAG,GAAE,EAAE,GAAC,CAAC,CAAC;QAChB,WAAM,GAAG,GAAE,EAAE,GAAC,CAAC,CAAC;QAChB,eAAU,GAAG,GAAE,EAAE,GAAC,CAAC,CAAC;IAIpB,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAyB;IACxD,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { AppObject } from \"@vived/core\";\r\nimport { UndoRedoEntity } from \"../Entities/UndoRedoEntity\";\r\n\r\nexport class MockUndoRedo extends UndoRedoEntity {\r\n get hasUndo(): boolean {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n get hasRedo(): boolean {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n submitAction = ()=>{};\r\n doUndo = ()=>{};\r\n doRedo = ()=>{};\r\n clearStack = ()=>{};\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, UndoRedoEntity.type);\r\n }\r\n}\r\n\r\nexport function makeMockUndoRedo(appObjects: AppObjectRepo) {\r\n return new MockUndoRedo(appObjects.getOrCreate(\"MockUndoRedo\"));\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  import { AppObject, AppObjectRepo } from "@vived/core";
2
2
  import { SceneRayPickUC } from "../UC";
3
3
  export declare class MockSceneRayPickUC extends SceneRayPickUC {
4
- sceneRayPick: jest.Mock<any, any, any>;
4
+ sceneRayPick: () => undefined;
5
5
  constructor(appObject: AppObject);
6
6
  }
7
7
  export declare function makeMockSceneRayPickUC(appObjects: AppObjectRepo): MockSceneRayPickUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockSceneRayPickUC.d.ts","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,2BAAa;gBAEb,SAAS,EAAE,SAAS;CAGjC;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,aAAa,sBAE/D"}
1
+ {"version":3,"file":"MockSceneRayPickUC.d.ts","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,kBAEV;gBAEU,SAAS,EAAE,SAAS;CAGjC;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,aAAa,GAAE,kBAAkB,CAEnF"}