@vived/app 5.1.0 → 5.1.1

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 (220) hide show
  1. package/dist/cjs/Callouts/Controller/MouseAddCalloutMC.js.map +1 -1
  2. package/dist/cjs/Callouts/Controller/TouchAddCalloutTC.js.map +1 -1
  3. package/dist/cjs/Hideable/Controllers/HideMC.js.map +1 -1
  4. package/dist/cjs/Hideable/Controllers/HideTC.js.map +1 -1
  5. package/dist/cjs/HoverLabel/Controllers/HoverLabelMouse.js.map +1 -1
  6. package/dist/cjs/HoverLabel/Controllers/HoverLabelTouch.js.map +1 -1
  7. package/dist/cjs/HoverLabel/Controllers/StylusHoverLabel.js.map +1 -1
  8. package/dist/cjs/LabelDrop/Controller/MouseLabelDropAuthor.js.map +1 -1
  9. package/dist/cjs/LabelDrop/Controller/StylusLabelDrop.js.map +1 -1
  10. package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.js.map +1 -1
  11. package/dist/cjs/Landmarks/Controller/MouseLandmark.js.map +1 -1
  12. package/dist/cjs/Landmarks/Controller/TouchLandmark.js.map +1 -1
  13. package/dist/cjs/MouseInput/Entities/MouseInput.js.map +1 -1
  14. package/dist/cjs/MouseInput/Entities/MouseInput.test.js.map +1 -1
  15. package/dist/cjs/ObjectPick/Controllers/MouseObjectPickMC.js.map +1 -1
  16. package/dist/cjs/ObjectPick/Controllers/StylusObjectPickSC.js.map +1 -1
  17. package/dist/cjs/ObjectPick/Controllers/TouchObjectPickTC.js.map +1 -1
  18. package/dist/cjs/SceneRoot/Controllers/DoubleTapToFocus.js.map +1 -1
  19. package/dist/cjs/SceneRoot/Controllers/MouseClickToFocus.js.map +1 -1
  20. package/dist/cjs/SceneRoot/Controllers/MouseDoubleClickToRecenter.js.map +1 -1
  21. package/dist/cjs/SceneRoot/Controllers/MouseOrbit.js.map +1 -1
  22. package/dist/cjs/SceneRoot/Controllers/MousePan.js.map +1 -1
  23. package/dist/cjs/SceneRoot/Controllers/MouseRoll.js.map +1 -1
  24. package/dist/cjs/SceneRoot/Controllers/MouseScale.js.map +1 -1
  25. package/dist/cjs/SceneRoot/Controllers/ScaleSceneRootSC.js.map +1 -1
  26. package/dist/cjs/SceneRoot/Controllers/SceneRootMoveSC.js.map +1 -1
  27. package/dist/cjs/SceneRoot/Controllers/TouchOrbit.js.map +1 -1
  28. package/dist/cjs/SceneRoot/Controllers/TouchPan.js.map +1 -1
  29. package/dist/cjs/SceneRoot/Controllers/TouchPinch.js.map +1 -1
  30. package/dist/cjs/SceneRoot/Controllers/TouchScale.js.map +1 -1
  31. package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.js.map +1 -1
  32. package/dist/cjs/Selection/Controller/MousePressOnAppObject.js.map +1 -1
  33. package/dist/cjs/Selection/Controller/MouseSelectAppObject.js.map +1 -1
  34. package/dist/cjs/Selection/Controller/StylusHoverOnAppObjectSC.js.map +1 -1
  35. package/dist/cjs/Selection/Controller/StylusPressOnAppObjectSC.js.map +1 -1
  36. package/dist/cjs/Selection/Controller/StylusSelectAppObjectSC.js.map +1 -1
  37. package/dist/cjs/Selection/Controller/TapToSelectAppObject.js.map +1 -1
  38. package/dist/cjs/Selection/Controller/TouchPressOnAppObject.js.map +1 -1
  39. package/dist/cjs/Stick/Controllers/DoubleClickToStickMC.js.map +1 -1
  40. package/dist/cjs/Stick/Controllers/DoubleTapToStickTC.js.map +1 -1
  41. package/dist/cjs/Stylus/Entity/StylusEntity.js.map +1 -1
  42. package/dist/cjs/Stylus/Entity/StylusEntity.test.js.map +1 -1
  43. package/dist/cjs/TouchController/Entities/TouchInput.js.map +1 -1
  44. package/dist/cjs/TouchController/Entities/TouchInput.test.js.map +1 -1
  45. package/dist/cjs/Transform3D/Controllers/Mouse/DragScaleTransformMC.js.map +1 -1
  46. package/dist/cjs/Transform3D/Controllers/Mouse/MousePanTransformMC.js.map +1 -1
  47. package/dist/cjs/Transform3D/Controllers/Mouse/PanTransformMC.js.map +1 -1
  48. package/dist/cjs/Transform3D/Controllers/Mouse/RollScaleTransformMC.js.map +1 -1
  49. package/dist/cjs/Transform3D/Controllers/Stylus/MoveTransformSC.js.map +1 -1
  50. package/dist/cjs/Transform3D/Controllers/Stylus/PanScaleTransformSC.js.map +1 -1
  51. package/dist/cjs/Transform3D/Controllers/Stylus/PanTransformSC.js.map +1 -1
  52. package/dist/cjs/Transform3D/Controllers/Stylus/ScaleTransformSC.js.map +1 -1
  53. package/dist/cjs/Transform3D/Controllers/Touch/DragScaleTransformTC.js.map +1 -1
  54. package/dist/cjs/Transform3D/Controllers/Touch/PanTransformTC.js.map +1 -1
  55. package/dist/cjs/Transform3D/Controllers/Touch/PinchTransformTC.js.map +1 -1
  56. package/dist/cjs/Transform3D/Controllers/Touch/TouchPanTransformTC.js.map +1 -1
  57. package/dist/esm/Callouts/Controller/MouseAddCalloutMC.js.map +1 -1
  58. package/dist/esm/Callouts/Controller/TouchAddCalloutTC.js.map +1 -1
  59. package/dist/esm/Hideable/Controllers/HideMC.js.map +1 -1
  60. package/dist/esm/Hideable/Controllers/HideTC.js.map +1 -1
  61. package/dist/esm/HoverLabel/Controllers/HoverLabelMouse.js.map +1 -1
  62. package/dist/esm/HoverLabel/Controllers/HoverLabelTouch.js.map +1 -1
  63. package/dist/esm/HoverLabel/Controllers/StylusHoverLabel.js.map +1 -1
  64. package/dist/esm/LabelDrop/Controller/MouseLabelDropAuthor.js.map +1 -1
  65. package/dist/esm/LabelDrop/Controller/StylusLabelDrop.js.map +1 -1
  66. package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.js.map +1 -1
  67. package/dist/esm/Landmarks/Controller/MouseLandmark.js.map +1 -1
  68. package/dist/esm/Landmarks/Controller/TouchLandmark.js.map +1 -1
  69. package/dist/esm/MouseInput/Entities/MouseInput.js.map +1 -1
  70. package/dist/esm/MouseInput/Entities/MouseInput.test.js.map +1 -1
  71. package/dist/esm/ObjectPick/Controllers/MouseObjectPickMC.js.map +1 -1
  72. package/dist/esm/ObjectPick/Controllers/StylusObjectPickSC.js.map +1 -1
  73. package/dist/esm/ObjectPick/Controllers/TouchObjectPickTC.js.map +1 -1
  74. package/dist/esm/SceneRoot/Controllers/DoubleTapToFocus.js.map +1 -1
  75. package/dist/esm/SceneRoot/Controllers/MouseClickToFocus.js.map +1 -1
  76. package/dist/esm/SceneRoot/Controllers/MouseDoubleClickToRecenter.js.map +1 -1
  77. package/dist/esm/SceneRoot/Controllers/MouseOrbit.js.map +1 -1
  78. package/dist/esm/SceneRoot/Controllers/MousePan.js.map +1 -1
  79. package/dist/esm/SceneRoot/Controllers/MouseRoll.js.map +1 -1
  80. package/dist/esm/SceneRoot/Controllers/MouseScale.js.map +1 -1
  81. package/dist/esm/SceneRoot/Controllers/ScaleSceneRootSC.js.map +1 -1
  82. package/dist/esm/SceneRoot/Controllers/SceneRootMoveSC.js.map +1 -1
  83. package/dist/esm/SceneRoot/Controllers/TouchOrbit.js.map +1 -1
  84. package/dist/esm/SceneRoot/Controllers/TouchPan.js.map +1 -1
  85. package/dist/esm/SceneRoot/Controllers/TouchPinch.js.map +1 -1
  86. package/dist/esm/SceneRoot/Controllers/TouchScale.js.map +1 -1
  87. package/dist/esm/Selection/Controller/MouseHoverOnAppObject.js.map +1 -1
  88. package/dist/esm/Selection/Controller/MousePressOnAppObject.js.map +1 -1
  89. package/dist/esm/Selection/Controller/MouseSelectAppObject.js.map +1 -1
  90. package/dist/esm/Selection/Controller/StylusHoverOnAppObjectSC.js.map +1 -1
  91. package/dist/esm/Selection/Controller/StylusPressOnAppObjectSC.js.map +1 -1
  92. package/dist/esm/Selection/Controller/StylusSelectAppObjectSC.js.map +1 -1
  93. package/dist/esm/Selection/Controller/TapToSelectAppObject.js.map +1 -1
  94. package/dist/esm/Selection/Controller/TouchPressOnAppObject.js.map +1 -1
  95. package/dist/esm/Stick/Controllers/DoubleClickToStickMC.js.map +1 -1
  96. package/dist/esm/Stick/Controllers/DoubleTapToStickTC.js.map +1 -1
  97. package/dist/esm/Stylus/Entity/StylusEntity.js.map +1 -1
  98. package/dist/esm/Stylus/Entity/StylusEntity.test.js.map +1 -1
  99. package/dist/esm/TouchController/Entities/TouchInput.js.map +1 -1
  100. package/dist/esm/TouchController/Entities/TouchInput.test.js.map +1 -1
  101. package/dist/esm/Transform3D/Controllers/Mouse/DragScaleTransformMC.js.map +1 -1
  102. package/dist/esm/Transform3D/Controllers/Mouse/MousePanTransformMC.js.map +1 -1
  103. package/dist/esm/Transform3D/Controllers/Mouse/PanTransformMC.js.map +1 -1
  104. package/dist/esm/Transform3D/Controllers/Mouse/RollScaleTransformMC.js.map +1 -1
  105. package/dist/esm/Transform3D/Controllers/Stylus/MoveTransformSC.js.map +1 -1
  106. package/dist/esm/Transform3D/Controllers/Stylus/PanScaleTransformSC.js.map +1 -1
  107. package/dist/esm/Transform3D/Controllers/Stylus/PanTransformSC.js.map +1 -1
  108. package/dist/esm/Transform3D/Controllers/Stylus/ScaleTransformSC.js.map +1 -1
  109. package/dist/esm/Transform3D/Controllers/Touch/DragScaleTransformTC.js.map +1 -1
  110. package/dist/esm/Transform3D/Controllers/Touch/PanTransformTC.js.map +1 -1
  111. package/dist/esm/Transform3D/Controllers/Touch/PinchTransformTC.js.map +1 -1
  112. package/dist/esm/Transform3D/Controllers/Touch/TouchPanTransformTC.js.map +1 -1
  113. package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts +2 -2
  114. package/dist/types/Callouts/Controller/MouseAddCalloutMC.d.ts.map +1 -1
  115. package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts +2 -2
  116. package/dist/types/Callouts/Controller/TouchAddCalloutTC.d.ts.map +1 -1
  117. package/dist/types/Hideable/Controllers/HideMC.d.ts +2 -2
  118. package/dist/types/Hideable/Controllers/HideMC.d.ts.map +1 -1
  119. package/dist/types/Hideable/Controllers/HideTC.d.ts +2 -2
  120. package/dist/types/Hideable/Controllers/HideTC.d.ts.map +1 -1
  121. package/dist/types/HoverLabel/Controllers/HoverLabelMouse.d.ts +2 -2
  122. package/dist/types/HoverLabel/Controllers/HoverLabelMouse.d.ts.map +1 -1
  123. package/dist/types/HoverLabel/Controllers/HoverLabelTouch.d.ts +2 -2
  124. package/dist/types/HoverLabel/Controllers/HoverLabelTouch.d.ts.map +1 -1
  125. package/dist/types/HoverLabel/Controllers/StylusHoverLabel.d.ts +2 -2
  126. package/dist/types/HoverLabel/Controllers/StylusHoverLabel.d.ts.map +1 -1
  127. package/dist/types/LabelDrop/Controller/MouseLabelDropAuthor.d.ts +2 -2
  128. package/dist/types/LabelDrop/Controller/MouseLabelDropAuthor.d.ts.map +1 -1
  129. package/dist/types/LabelDrop/Controller/StylusLabelDrop.d.ts +2 -2
  130. package/dist/types/LabelDrop/Controller/StylusLabelDrop.d.ts.map +1 -1
  131. package/dist/types/LabelDrop/Controller/TouchLabelDropAuthor.d.ts +2 -2
  132. package/dist/types/LabelDrop/Controller/TouchLabelDropAuthor.d.ts.map +1 -1
  133. package/dist/types/Landmarks/Controller/MouseLandmark.d.ts +2 -2
  134. package/dist/types/Landmarks/Controller/MouseLandmark.d.ts.map +1 -1
  135. package/dist/types/Landmarks/Controller/TouchLandmark.d.ts +2 -2
  136. package/dist/types/Landmarks/Controller/TouchLandmark.d.ts.map +1 -1
  137. package/dist/types/MouseInput/Entities/MouseInput.d.ts +7 -3
  138. package/dist/types/MouseInput/Entities/MouseInput.d.ts.map +1 -1
  139. package/dist/types/ObjectPick/Controllers/MouseObjectPickMC.d.ts +2 -2
  140. package/dist/types/ObjectPick/Controllers/MouseObjectPickMC.d.ts.map +1 -1
  141. package/dist/types/ObjectPick/Controllers/StylusObjectPickSC.d.ts +2 -2
  142. package/dist/types/ObjectPick/Controllers/StylusObjectPickSC.d.ts.map +1 -1
  143. package/dist/types/ObjectPick/Controllers/TouchObjectPickTC.d.ts +2 -2
  144. package/dist/types/ObjectPick/Controllers/TouchObjectPickTC.d.ts.map +1 -1
  145. package/dist/types/SceneRoot/Controllers/DoubleTapToFocus.d.ts +2 -2
  146. package/dist/types/SceneRoot/Controllers/DoubleTapToFocus.d.ts.map +1 -1
  147. package/dist/types/SceneRoot/Controllers/MouseClickToFocus.d.ts +2 -2
  148. package/dist/types/SceneRoot/Controllers/MouseClickToFocus.d.ts.map +1 -1
  149. package/dist/types/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts +2 -2
  150. package/dist/types/SceneRoot/Controllers/MouseDoubleClickToRecenter.d.ts.map +1 -1
  151. package/dist/types/SceneRoot/Controllers/MouseOrbit.d.ts +2 -2
  152. package/dist/types/SceneRoot/Controllers/MouseOrbit.d.ts.map +1 -1
  153. package/dist/types/SceneRoot/Controllers/MousePan.d.ts +2 -2
  154. package/dist/types/SceneRoot/Controllers/MousePan.d.ts.map +1 -1
  155. package/dist/types/SceneRoot/Controllers/MouseRoll.d.ts +2 -2
  156. package/dist/types/SceneRoot/Controllers/MouseRoll.d.ts.map +1 -1
  157. package/dist/types/SceneRoot/Controllers/MouseScale.d.ts +2 -2
  158. package/dist/types/SceneRoot/Controllers/MouseScale.d.ts.map +1 -1
  159. package/dist/types/SceneRoot/Controllers/ScaleSceneRootSC.d.ts +2 -2
  160. package/dist/types/SceneRoot/Controllers/ScaleSceneRootSC.d.ts.map +1 -1
  161. package/dist/types/SceneRoot/Controllers/SceneRootMoveSC.d.ts +2 -2
  162. package/dist/types/SceneRoot/Controllers/SceneRootMoveSC.d.ts.map +1 -1
  163. package/dist/types/SceneRoot/Controllers/TouchOrbit.d.ts +2 -2
  164. package/dist/types/SceneRoot/Controllers/TouchOrbit.d.ts.map +1 -1
  165. package/dist/types/SceneRoot/Controllers/TouchPan.d.ts +2 -2
  166. package/dist/types/SceneRoot/Controllers/TouchPan.d.ts.map +1 -1
  167. package/dist/types/SceneRoot/Controllers/TouchPinch.d.ts +2 -2
  168. package/dist/types/SceneRoot/Controllers/TouchPinch.d.ts.map +1 -1
  169. package/dist/types/SceneRoot/Controllers/TouchScale.d.ts +2 -2
  170. package/dist/types/SceneRoot/Controllers/TouchScale.d.ts.map +1 -1
  171. package/dist/types/Selection/Controller/MouseHoverOnAppObject.d.ts +2 -2
  172. package/dist/types/Selection/Controller/MouseHoverOnAppObject.d.ts.map +1 -1
  173. package/dist/types/Selection/Controller/MousePressOnAppObject.d.ts +2 -2
  174. package/dist/types/Selection/Controller/MousePressOnAppObject.d.ts.map +1 -1
  175. package/dist/types/Selection/Controller/MouseSelectAppObject.d.ts +2 -2
  176. package/dist/types/Selection/Controller/MouseSelectAppObject.d.ts.map +1 -1
  177. package/dist/types/Selection/Controller/StylusHoverOnAppObjectSC.d.ts +2 -2
  178. package/dist/types/Selection/Controller/StylusHoverOnAppObjectSC.d.ts.map +1 -1
  179. package/dist/types/Selection/Controller/StylusPressOnAppObjectSC.d.ts +2 -2
  180. package/dist/types/Selection/Controller/StylusPressOnAppObjectSC.d.ts.map +1 -1
  181. package/dist/types/Selection/Controller/StylusSelectAppObjectSC.d.ts +2 -2
  182. package/dist/types/Selection/Controller/StylusSelectAppObjectSC.d.ts.map +1 -1
  183. package/dist/types/Selection/Controller/TapToSelectAppObject.d.ts +2 -2
  184. package/dist/types/Selection/Controller/TapToSelectAppObject.d.ts.map +1 -1
  185. package/dist/types/Selection/Controller/TouchPressOnAppObject.d.ts +2 -2
  186. package/dist/types/Selection/Controller/TouchPressOnAppObject.d.ts.map +1 -1
  187. package/dist/types/Stick/Controllers/DoubleClickToStickMC.d.ts +2 -2
  188. package/dist/types/Stick/Controllers/DoubleClickToStickMC.d.ts.map +1 -1
  189. package/dist/types/Stick/Controllers/DoubleTapToStickTC.d.ts +2 -2
  190. package/dist/types/Stick/Controllers/DoubleTapToStickTC.d.ts.map +1 -1
  191. package/dist/types/Stylus/Entity/StylusEntity.d.ts +6 -2
  192. package/dist/types/Stylus/Entity/StylusEntity.d.ts.map +1 -1
  193. package/dist/types/TouchController/Entities/TouchInput.d.ts +7 -3
  194. package/dist/types/TouchController/Entities/TouchInput.d.ts.map +1 -1
  195. package/dist/types/Transform3D/Controllers/Mouse/DragScaleTransformMC.d.ts +2 -2
  196. package/dist/types/Transform3D/Controllers/Mouse/DragScaleTransformMC.d.ts.map +1 -1
  197. package/dist/types/Transform3D/Controllers/Mouse/MousePanTransformMC.d.ts +2 -2
  198. package/dist/types/Transform3D/Controllers/Mouse/MousePanTransformMC.d.ts.map +1 -1
  199. package/dist/types/Transform3D/Controllers/Mouse/MousePanTransformMC.test.d.ts +1 -1
  200. package/dist/types/Transform3D/Controllers/Mouse/PanTransformMC.d.ts +2 -2
  201. package/dist/types/Transform3D/Controllers/Mouse/PanTransformMC.d.ts.map +1 -1
  202. package/dist/types/Transform3D/Controllers/Mouse/RollScaleTransformMC.d.ts +2 -2
  203. package/dist/types/Transform3D/Controllers/Mouse/RollScaleTransformMC.d.ts.map +1 -1
  204. package/dist/types/Transform3D/Controllers/Stylus/MoveTransformSC.d.ts +2 -2
  205. package/dist/types/Transform3D/Controllers/Stylus/MoveTransformSC.d.ts.map +1 -1
  206. package/dist/types/Transform3D/Controllers/Stylus/PanScaleTransformSC.d.ts +2 -2
  207. package/dist/types/Transform3D/Controllers/Stylus/PanScaleTransformSC.d.ts.map +1 -1
  208. package/dist/types/Transform3D/Controllers/Stylus/PanTransformSC.d.ts +2 -2
  209. package/dist/types/Transform3D/Controllers/Stylus/PanTransformSC.d.ts.map +1 -1
  210. package/dist/types/Transform3D/Controllers/Stylus/ScaleTransformSC.d.ts +2 -2
  211. package/dist/types/Transform3D/Controllers/Stylus/ScaleTransformSC.d.ts.map +1 -1
  212. package/dist/types/Transform3D/Controllers/Touch/DragScaleTransformTC.d.ts +2 -2
  213. package/dist/types/Transform3D/Controllers/Touch/DragScaleTransformTC.d.ts.map +1 -1
  214. package/dist/types/Transform3D/Controllers/Touch/PanTransformTC.d.ts +2 -2
  215. package/dist/types/Transform3D/Controllers/Touch/PanTransformTC.d.ts.map +1 -1
  216. package/dist/types/Transform3D/Controllers/Touch/PinchTransformTC.d.ts +2 -2
  217. package/dist/types/Transform3D/Controllers/Touch/PinchTransformTC.d.ts.map +1 -1
  218. package/dist/types/Transform3D/Controllers/Touch/TouchPanTransformTC.d.ts +2 -2
  219. package/dist/types/Transform3D/Controllers/Touch/TouchPanTransformTC.d.ts.map +1 -1
  220. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MouseAddCalloutMC.js","sourceRoot":"","sources":["../../../../src/Callouts/Controller/MouseAddCalloutMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,qEAI8C;AAC9C,uDAAsD;AAEtD,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAkB,+BAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAwBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAvBnC,aAAQ,GAAG,KAAK,CAAC;QAEzB,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,QAAQ;gBACX,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACnE,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AAvCH,8CAwCC;AApCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { TryAddCalloutUC } from \"../UC/TryAddCallout\";\n\nexport class MouseAddCalloutMC\n extends AppObjectController\n implements MouseController\n{\n static type = \"MouseAddCalloutMC\";\n\n get tryAddCalloutUc() {\n return this.getCachedSingleton<TryAddCalloutUC>(TryAddCalloutUC.type);\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private isAdding = false;\n\n onDown = (e: MouseInputEvent) => {\n this.isAdding = false;\n if (e.button !== 0) return;\n\n this.isAdding =\n this.tryAddCalloutUc?.initializeWithPixel(e.position) ?? false;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.isAdding) return;\n this.tryAddCalloutUc?.moveWithPixel(e.position);\n };\n\n onUp = (e: MouseInputEvent) => {\n if (!this.isAdding) return;\n\n this.tryAddCalloutUc?.stop();\n this.isAdding = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseAddCalloutMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"MouseAddCalloutMC.js","sourceRoot":"","sources":["../../../../src/Callouts/Controller/MouseAddCalloutMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,qEAI8C;AAC9C,uDAAsD;AAEtD,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAkB,+BAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAwBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAvBnC,aAAQ,GAAG,KAAK,CAAC;QAEzB,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,QAAQ;gBACX,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACnE,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC;QAEF,SAAI,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AAvCH,8CAwCC;AApCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { TryAddCalloutUC } from \"../UC/TryAddCallout\";\n\nexport class MouseAddCalloutMC\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"MouseAddCalloutMC\";\n\n get tryAddCalloutUc() {\n return this.getCachedSingleton<TryAddCalloutUC>(TryAddCalloutUC.type);\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private isAdding = false;\n\n onDown = (e: MouseInputEvent) => {\n this.isAdding = false;\n if (e.button !== 0) return;\n\n this.isAdding =\n this.tryAddCalloutUc?.initializeWithPixel(e.position) ?? false;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.isAdding) return;\n this.tryAddCalloutUc?.moveWithPixel(e.position);\n };\n\n onUp = (e: MouseInputEvent) => {\n if (!this.isAdding) return;\n\n this.tryAddCalloutUc?.stop();\n this.isAdding = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseAddCalloutMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TouchAddCalloutTC.js","sourceRoot":"","sources":["../../../../src/Callouts/Controller/TouchAddCalloutTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAE7D,2DAI+B;AAC/B,uDAAsD;AAEtD,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAkB,+BAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,kCAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IA4BD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QA3BnC,aAAQ,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ;gBACX,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QACtE,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA3CH,8CA4CC;AAxCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { ToolRepository } from \"../../Tools\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { TryAddCalloutUC } from \"../UC/TryAddCallout\";\n\nexport class TouchAddCalloutTC\n extends AppObjectController\n implements TouchController\n{\n static type = \"TouchAddCalloutTC\";\n\n get tryAddCalloutUc() {\n return this.getCachedSingleton<TryAddCalloutUC>(TryAddCalloutUC.type);\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n private isAdding = false;\n onTouchStart = (e: TouchInputEvent) => {\n if (e.touchCount > 1) {\n if (this.isAdding) {\n this.tryAddCalloutUc?.cancel();\n }\n this.isAdding = false;\n return;\n }\n\n this.isAdding =\n this.tryAddCalloutUc?.initializeWithPixel(e.touchCenter) ?? false;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.isAdding) return;\n this.tryAddCalloutUc?.moveWithPixel(e.touchCenter);\n };\n\n onTouchEnd = () => {\n if (!this.isAdding) return;\n\n this.tryAddCalloutUc?.stop();\n this.isAdding = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchAddCalloutTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"TouchAddCalloutTC.js","sourceRoot":"","sources":["../../../../src/Callouts/Controller/TouchAddCalloutTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAE7D,2DAI+B;AAC/B,uDAAsD;AAEtD,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAkB,+BAAe,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,kCAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IA4BD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QA3BnC,aAAQ,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACjC,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ;gBACX,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QACtE,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA3CH,8CA4CC;AAxCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { ToolRepository } from \"../../Tools\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { TryAddCalloutUC } from \"../UC/TryAddCallout\";\n\nexport class TouchAddCalloutTC\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TouchAddCalloutTC\";\n\n get tryAddCalloutUc() {\n return this.getCachedSingleton<TryAddCalloutUC>(TryAddCalloutUC.type);\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n private isAdding = false;\n onTouchStart = (e: TouchInputEvent) => {\n if (e.touchCount > 1) {\n if (this.isAdding) {\n this.tryAddCalloutUc?.cancel();\n }\n this.isAdding = false;\n return;\n }\n\n this.isAdding =\n this.tryAddCalloutUc?.initializeWithPixel(e.touchCenter) ?? false;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.isAdding) return;\n this.tryAddCalloutUc?.moveWithPixel(e.touchCenter);\n };\n\n onTouchEnd = () => {\n if (!this.isAdding) return;\n\n this.tryAddCalloutUc?.stop();\n this.isAdding = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchAddCalloutTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HideMC.js","sourceRoot":"","sources":["../../../../src/Hideable/Controllers/HideMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,gEAA6D;AAE7D,MAAa,MAAO,SAAQ,0BAAmB;IAG7C,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAfzB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA7BH,wBA8BC;AA7BiB,WAAI,GAAG,YAAY,AAAf,CAAgB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { TryHideWithPickUC } from \"../UCs/TryHideWithPickUC\";\n\nexport class HideMC extends AppObjectController implements MouseController {\n static readonly type = \"MouseOrbit\";\n\n private get tryHideWithPick() {\n return this.getCachedSingleton<TryHideWithPickUC>(TryHideWithPickUC.type)\n ?.tryPixelPick;\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n public allow = (e: MouseInputEvent): boolean => {\n if (e.button !== 0) {\n return false;\n }\n return true;\n };\n\n onClick = (e: MouseInputEvent) => {\n if (!this.tryHideWithPick) return;\n if (!this.allow(e)) return;\n\n this.tryHideWithPick(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HideMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"HideMC.js","sourceRoot":"","sources":["../../../../src/Hideable/Controllers/HideMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,gEAA6D;AAE7D,MAAa,MAAO,SAAQ,0BAAmB;IAG7C,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAfzB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA7BH,wBA8BC;AA7BiB,WAAI,GAAG,YAAY,AAAf,CAAgB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { TryHideWithPickUC } from \"../UCs/TryHideWithPickUC\";\n\nexport class HideMC extends AppObjectController implements MouseEventHandler {\n static readonly type = \"MouseOrbit\";\n\n private get tryHideWithPick() {\n return this.getCachedSingleton<TryHideWithPickUC>(TryHideWithPickUC.type)\n ?.tryPixelPick;\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n public allow = (e: MouseInputEvent): boolean => {\n if (e.button !== 0) {\n return false;\n }\n return true;\n };\n\n onClick = (e: MouseInputEvent) => {\n if (!this.tryHideWithPick) return;\n if (!this.allow(e)) return;\n\n this.tryHideWithPick(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HideMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HideTC.js","sourceRoot":"","sources":["../../../../src/Hideable/Controllers/HideTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,6DAIwC;AACxC,gEAA6D;AAE7D,MAAa,MAAO,SAAQ,0BAAmB;IAG7C,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,2BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAaD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAZzB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA1BH,wBA2BC;AA1BiB,WAAI,GAAG,QAAQ,AAAX,CAAY","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchController,\n TouchInputEvent,\n TouchInputEntity,\n} from \"../../TouchController/Entities\";\nimport { TryHideWithPickUC } from \"../UCs/TryHideWithPickUC\";\n\nexport class HideTC extends AppObjectController implements TouchController {\n static readonly type = \"HideTC\";\n\n private get tryHideWithPick() {\n return this.getCachedSingleton<TryHideWithPickUC>(TryHideWithPickUC.type)\n ?.tryPixelPick;\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n public allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTap = (e: TouchInputEvent) => {\n if (!this.tryHideWithPick) return;\n if (!this.allow(e)) return;\n\n this.tryHideWithPick(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HideTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"HideTC.js","sourceRoot":"","sources":["../../../../src/Hideable/Controllers/HideTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,6DAIwC;AACxC,gEAA6D;AAE7D,MAAa,MAAO,SAAQ,0BAAmB;IAG7C,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,kBAAkB,CAAoB,qCAAiB,CAAC,IAAI,CAAC;YACvE,EAAE,YAAY,CAAC;IACnB,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,2BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAaD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAZzB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA1BH,wBA2BC;AA1BiB,WAAI,GAAG,QAAQ,AAAX,CAAY","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEvent,\n TouchInputEntity,\n} from \"../../TouchController/Entities\";\nimport { TryHideWithPickUC } from \"../UCs/TryHideWithPickUC\";\n\nexport class HideTC extends AppObjectController implements TouchEventHandler {\n static readonly type = \"HideTC\";\n\n private get tryHideWithPick() {\n return this.getCachedSingleton<TryHideWithPickUC>(TryHideWithPickUC.type)\n ?.tryPixelPick;\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n public allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTap = (e: TouchInputEvent) => {\n if (!this.tryHideWithPick) return;\n if (!this.allow(e)) return;\n\n this.tryHideWithPick(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HideTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverLabelMouse.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelMouse.ts"],"names":[],"mappings":";;;AAoBA,kDAEC;AAtBD,qEAAkE;AAClE,mEAAgE;AAChE,sCAA6D;AAC7D,iDAI0B;AAE1B,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CASC;AALQ,oBAAI,GAAG,6BAA6B,CAAC;AAO9C,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IA6B9C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA7BhC,oBAAe,GAAG,GAAG,CAAC;QAO/B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAEpC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,CAAC,CAAC;QAKA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CACjD,mCAAgB,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,wGAAwG,CACzG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["import { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\n\nexport abstract class HoverLabelMouse\n extends AppObjectController\n implements MouseController\n{\n static type = \"Mouse_HoverLabel_Controller\";\n\n abstract readonly hoverLabelDelay: number;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeHoverLabelMouse(appObject: AppObject): HoverLabelMouse {\n return new HoverLabelMouseImp(appObject);\n}\n\nclass HoverLabelMouseImp extends HoverLabelMouse {\n readonly hoverLabelDelay = 500;\n\n private currentTimeout: NodeJS.Timeout | undefined;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n if (!this.tryShowHoverLabel) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n }\n\n this.currentTimeout = setTimeout(() => {\n this.tryShowHoverLabel?.tryShowScreenHoverLabel(e.position);\n this.currentTimeout = undefined;\n }, this.hoverLabelDelay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelMouse.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type,\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\",\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"HoverLabelMouse.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelMouse.ts"],"names":[],"mappings":";;;AAoBA,kDAEC;AAtBD,qEAAkE;AAClE,mEAAgE;AAChE,sCAA6D;AAC7D,iDAI0B;AAE1B,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CASC;AALQ,oBAAI,GAAG,6BAA6B,CAAC;AAO9C,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IA6B9C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA7BhC,oBAAe,GAAG,GAAG,CAAC;QAO/B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAEpC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,CAAC,CAAC;QAKA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CACjD,mCAAgB,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,wGAAwG,CACzG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["import { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\n\nexport abstract class HoverLabelMouse\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"Mouse_HoverLabel_Controller\";\n\n abstract readonly hoverLabelDelay: number;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeHoverLabelMouse(appObject: AppObject): HoverLabelMouse {\n return new HoverLabelMouseImp(appObject);\n}\n\nclass HoverLabelMouseImp extends HoverLabelMouse {\n readonly hoverLabelDelay = 500;\n\n private currentTimeout: NodeJS.Timeout | undefined;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n if (!this.tryShowHoverLabel) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n }\n\n this.currentTimeout = setTimeout(() => {\n this.tryShowHoverLabel?.tryShowScreenHoverLabel(e.position);\n this.currentTimeout = undefined;\n }, this.hoverLabelDelay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelMouse.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\"\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverLabelTouch.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelTouch.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\n\nexport abstract class HoverLabelTouch\n extends AppObjectController\n implements TouchController\n{\n static type = \"Touch_Hoverlabel_Controller\";\n\n abstract readonly touchLabelDragThreshold: number;\n abstract allow: (e: TouchInputEvent) => boolean;\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(): void;\n}\n\nexport function makeHoverLabelTouch(appObject: AppObject): HoverLabelTouch {\n return new HoverLabelTouchImp(appObject);\n}\n\nclass HoverLabelTouchImp extends HoverLabelTouch {\n readonly touchLabelDragThreshold = 15;\n\n private lastPosition: Vector2 = Vector2.Zero();\n private startPosition: Vector2 = Vector2.Zero();\n private touchStarted = false;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n this.touchStarted = false;\n\n if (e.touchCount !== 1) return;\n\n this.startPosition = e.touches[0].position;\n this.lastPosition = e.touches[0].position;\n this.touchStarted = true;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.touchStarted) return;\n\n this.lastPosition = e.touches[0].position;\n };\n\n onTouchEnd = () => {\n if (!this.touchStarted) return;\n if (!this.tryShowHoverLabel) return;\n\n const xDiff = this.lastPosition.x - this.startPosition.x;\n const yDiff = this.lastPosition.y - this.startPosition.y;\n const dist = Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n\n if (dist < this.touchLabelDragThreshold) {\n this.tryShowHoverLabel.tryShowScreenHoverLabel(this.lastPosition);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelTouch.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type,\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\",\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"HoverLabelTouch.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelTouch.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\n\nexport abstract class HoverLabelTouch\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"Touch_Hoverlabel_Controller\";\n\n abstract readonly touchLabelDragThreshold: number;\n abstract allow: (e: TouchInputEvent) => boolean;\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(): void;\n}\n\nexport function makeHoverLabelTouch(appObject: AppObject): HoverLabelTouch {\n return new HoverLabelTouchImp(appObject);\n}\n\nclass HoverLabelTouchImp extends HoverLabelTouch {\n readonly touchLabelDragThreshold = 15;\n\n private lastPosition: Vector2 = Vector2.Zero();\n private startPosition: Vector2 = Vector2.Zero();\n private touchStarted = false;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n this.touchStarted = false;\n\n if (e.touchCount !== 1) return;\n\n this.startPosition = e.touches[0].position;\n this.lastPosition = e.touches[0].position;\n this.touchStarted = true;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.touchStarted) return;\n\n this.lastPosition = e.touches[0].position;\n };\n\n onTouchEnd = () => {\n if (!this.touchStarted) return;\n if (!this.tryShowHoverLabel) return;\n\n const xDiff = this.lastPosition.x - this.startPosition.x;\n const yDiff = this.lastPosition.y - this.startPosition.y;\n const dist = Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n\n if (dist < this.touchLabelDragThreshold) {\n this.tryShowHoverLabel.tryShowScreenHoverLabel(this.lastPosition);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelTouch.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\"\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StylusHoverLabel.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/StylusHoverLabel.ts"],"names":[],"mappings":";;;AAcA,wEAEC;AAhBD,sCAA6D;AAC7D,yCAA8D;AAC9D,0CAAgD;AAEhD,MAAsB,sBACpB,SAAQ,0BAAmB;;AAD7B,wDAQC;AAJiB,2BAAI,GAAG,4BAA4B,CAAC;AAMtD,SAAgB,8BAA8B,CAAC,SAAoB;IACjE,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,yBAA0B,SAAQ,sBAAsB;IAQ5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QALhD,UAAK,GAAG,GAAY,EAAE;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAiBF,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC,CAAC;QAtBA,IAAI,CAAC,MAAM,GAAG,qBAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,GAAG,4BAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CAaF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { StylusController, StylusEntity } from \"../../Stylus\";\nimport { TryShowHoverLabel } from \"../UseCases\";\n\nexport abstract class ZSpaceStylusHoverLabel\n extends AppObjectController\n implements StylusController\n{\n static readonly type = \"StylusHoverLabelController\";\n\n abstract onStylusMove(): void;\n abstract allow: () => boolean;\n}\n\nexport function makeStylusHoverLabelController(appObject: AppObject) {\n return new ZSpaceStylusHoverLabelImp(appObject);\n}\n\nclass ZSpaceStylusHoverLabelImp extends ZSpaceStylusHoverLabel {\n private stylus?: StylusEntity;\n private tryShowStylusHoverLabel?: TryShowHoverLabel;\n\n allow = (): boolean => {\n return true;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceStylusHoverLabel.type);\n\n this.stylus = StylusEntity.get(this.appObjects);\n this.tryShowStylusHoverLabel = TryShowHoverLabel.get(this.appObjects);\n\n if (!this.stylus) {\n this.error(\"Cannot find StylusEntity\");\n } else if (!this.tryShowStylusHoverLabel) {\n this.error(\"Cannot find TryShowHoverLabel\");\n } else {\n this.stylus.registerController(this);\n }\n }\n\n onStylusMove = () => {\n if (!this.stylus) {\n return;\n }\n\n if (!this.allow()) {\n return;\n }\n\n this.tryShowStylusHoverLabel?.tryShowWorldHoverLabel(this.stylus.pickRay);\n };\n}\n"]}
1
+ {"version":3,"file":"StylusHoverLabel.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/StylusHoverLabel.ts"],"names":[],"mappings":";;;AAcA,wEAEC;AAhBD,sCAA6D;AAC7D,yCAAgE;AAChE,0CAAgD;AAEhD,MAAsB,sBACpB,SAAQ,0BAAmB;;AAD7B,wDAQC;AAJiB,2BAAI,GAAG,4BAA4B,CAAC;AAMtD,SAAgB,8BAA8B,CAAC,SAAoB;IACjE,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,yBAA0B,SAAQ,sBAAsB;IAQ5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QALhD,UAAK,GAAG,GAAY,EAAE;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAiBF,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,CAAC,CAAC;QAtBA,IAAI,CAAC,MAAM,GAAG,qBAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,uBAAuB,GAAG,4BAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CAaF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { StylusEventHandler, StylusEntity } from \"../../Stylus\";\nimport { TryShowHoverLabel } from \"../UseCases\";\n\nexport abstract class ZSpaceStylusHoverLabel\n extends AppObjectController\n implements StylusEventHandler\n{\n static readonly type = \"StylusHoverLabelController\";\n\n abstract onStylusMove(): void;\n abstract allow: () => boolean;\n}\n\nexport function makeStylusHoverLabelController(appObject: AppObject) {\n return new ZSpaceStylusHoverLabelImp(appObject);\n}\n\nclass ZSpaceStylusHoverLabelImp extends ZSpaceStylusHoverLabel {\n private stylus?: StylusEntity;\n private tryShowStylusHoverLabel?: TryShowHoverLabel;\n\n allow = (): boolean => {\n return true;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, ZSpaceStylusHoverLabel.type);\n\n this.stylus = StylusEntity.get(this.appObjects);\n this.tryShowStylusHoverLabel = TryShowHoverLabel.get(this.appObjects);\n\n if (!this.stylus) {\n this.error(\"Cannot find StylusEntity\");\n } else if (!this.tryShowStylusHoverLabel) {\n this.error(\"Cannot find TryShowHoverLabel\");\n } else {\n this.stylus.registerController(this);\n }\n }\n\n onStylusMove = () => {\n if (!this.stylus) {\n return;\n }\n\n if (!this.allow()) {\n return;\n }\n\n this.tryShowStylusHoverLabel?.tryShowWorldHoverLabel(this.stylus.pickRay);\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/MouseLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,qEAI8C;AAC9C,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAKD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class MouseLabelDropAuthor\n extends AppObjectController\n implements MouseController\n{\n static type = \"MouseLabelDropAuthor\";\n abstract onClick: (e: MouseInputEvent) => void;\n}\n\nexport function makeMouseLabelDropAuthor(\n appObject: AppObject,\n): MouseLabelDropAuthor {\n return new MouseLabelDropAuthorImp(appObject);\n}\n\nclass MouseLabelDropAuthorImp extends MouseLabelDropAuthor {\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type,\n );\n }\n onClick = (e: MouseInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLabelDropAuthor.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"MouseLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/MouseLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,qEAI8C;AAC9C,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAKD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class MouseLabelDropAuthor\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"MouseLabelDropAuthor\";\n abstract onClick: (e: MouseInputEvent) => void;\n}\n\nexport function makeMouseLabelDropAuthor(\n appObject: AppObject\n): MouseLabelDropAuthor {\n return new MouseLabelDropAuthorImp(appObject);\n}\n\nclass MouseLabelDropAuthorImp extends MouseLabelDropAuthor {\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type\n );\n }\n onClick = (e: MouseInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLabelDropAuthor.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StylusLabelDrop.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/StylusLabelDrop.ts"],"names":[],"mappings":";;;AAkBA,kDAEC;AApBD,sCAA6D;AAC7D,mEAG0C;AAC1C,6DAA0D;AAC1D,2EAAwE;AAExE,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CAQC;AAJQ,oBAAI,GAAG,iBAAiB,CAAC;AAMlC,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAG9C,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAsBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QArBzC,iBAAY,GAAG,CAAC,MAAc,EAAE,EAAE,GAAE,CAAC,CAAC;QAEtC,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;gBAAE,OAAO;YAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,MAAc,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;gBAAE,OAAO;YAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;QAKA,IAAI,CAAC,eAAe,GAAG,6BAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,2CAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n StylusController,\n StylusEntity,\n} from \"../../Stylus/Entity/StylusEntity\";\nimport { LabelDropRepo } from \"../Entities/LabelDropRepo\";\nimport { DragLabelDropWorldUC } from \"../UseCases/DragLabelDropWorldUC\";\n\nexport abstract class StylusLabelDrop\n extends AppObjectController\n implements StylusController\n{\n static type = \"StylusLabelDrop\";\n abstract onButtonDown: (e: number) => void;\n abstract onStylusMove: () => void;\n abstract onButtonUp: (e: number) => void;\n}\n\nexport function makeStylusLabelDrop(appObject: AppObject): StylusLabelDrop {\n return new StylusLabelDropImp(appObject);\n}\n\nclass StylusLabelDropImp extends StylusLabelDrop {\n private labelDropEntity?: LabelDropRepo;\n private dragLabelDropWorldUC?: DragLabelDropWorldUC;\n private get stylus() {\n return this.getCachedSingleton<StylusEntity>(StylusEntity.type);\n }\n\n onButtonDown = (button: number) => {};\n\n onStylusMove = () => {\n if (!this.stylus) return;\n if (!this.labelDropEntity) return;\n if (!this.labelDropEntity.draggingID) return;\n if (!this.dragLabelDropWorldUC) return;\n\n this.dragLabelDropWorldUC.updateDrag(this.stylus.pickRay);\n };\n\n onButtonUp = (button: number) => {\n if (!this.stylus) return;\n if (!this.labelDropEntity) return;\n if (!this.labelDropEntity.draggingID) return;\n if (!this.dragLabelDropWorldUC) return;\n\n this.dragLabelDropWorldUC.releaseDrag(this.stylus.pickRay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, StylusLabelDrop.type);\n\n this.labelDropEntity = LabelDropRepo.get(this.appObjects);\n if (!this.labelDropEntity) {\n this.error(\"[StylusLabelDrop] unable to find LabelDropEntity\");\n return;\n }\n\n this.dragLabelDropWorldUC = DragLabelDropWorldUC.get(this.appObjects);\n if (!this.dragLabelDropWorldUC) {\n this.error(\"[StylusLabelDrop] unable to find DragLabelDropWorldUC\");\n return;\n }\n\n if (!this.stylus) {\n this.error(\"[StylusLabelDrop] unable to find ZSpaceStylusEntity\");\n return;\n }\n\n this.stylus.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"StylusLabelDrop.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/StylusLabelDrop.ts"],"names":[],"mappings":";;;AAkBA,kDAEC;AApBD,sCAA6D;AAC7D,mEAG0C;AAC1C,6DAA0D;AAC1D,2EAAwE;AAExE,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CAQC;AAJQ,oBAAI,GAAG,iBAAiB,CAAC;AAMlC,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IAG9C,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAsBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QArBzC,iBAAY,GAAG,CAAC,MAAc,EAAE,EAAE,GAAE,CAAC,CAAC;QAEtC,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;gBAAE,OAAO;YAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,MAAc,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,CAAC,IAAI,CAAC,eAAe;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU;gBAAE,OAAO;YAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;QAKA,IAAI,CAAC,eAAe,GAAG,6BAAa,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,2CAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n StylusEventHandler,\n StylusEntity,\n} from \"../../Stylus/Entity/StylusEntity\";\nimport { LabelDropRepo } from \"../Entities/LabelDropRepo\";\nimport { DragLabelDropWorldUC } from \"../UseCases/DragLabelDropWorldUC\";\n\nexport abstract class StylusLabelDrop\n extends AppObjectController\n implements StylusEventHandler\n{\n static type = \"StylusLabelDrop\";\n abstract onButtonDown: (e: number) => void;\n abstract onStylusMove: () => void;\n abstract onButtonUp: (e: number) => void;\n}\n\nexport function makeStylusLabelDrop(appObject: AppObject): StylusLabelDrop {\n return new StylusLabelDropImp(appObject);\n}\n\nclass StylusLabelDropImp extends StylusLabelDrop {\n private labelDropEntity?: LabelDropRepo;\n private dragLabelDropWorldUC?: DragLabelDropWorldUC;\n private get stylus() {\n return this.getCachedSingleton<StylusEntity>(StylusEntity.type);\n }\n\n onButtonDown = (button: number) => {};\n\n onStylusMove = () => {\n if (!this.stylus) return;\n if (!this.labelDropEntity) return;\n if (!this.labelDropEntity.draggingID) return;\n if (!this.dragLabelDropWorldUC) return;\n\n this.dragLabelDropWorldUC.updateDrag(this.stylus.pickRay);\n };\n\n onButtonUp = (button: number) => {\n if (!this.stylus) return;\n if (!this.labelDropEntity) return;\n if (!this.labelDropEntity.draggingID) return;\n if (!this.dragLabelDropWorldUC) return;\n\n this.dragLabelDropWorldUC.releaseDrag(this.stylus.pickRay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, StylusLabelDrop.type);\n\n this.labelDropEntity = LabelDropRepo.get(this.appObjects);\n if (!this.labelDropEntity) {\n this.error(\"[StylusLabelDrop] unable to find LabelDropEntity\");\n return;\n }\n\n this.dragLabelDropWorldUC = DragLabelDropWorldUC.get(this.appObjects);\n if (!this.dragLabelDropWorldUC) {\n this.error(\"[StylusLabelDrop] unable to find DragLabelDropWorldUC\");\n return;\n }\n\n if (!this.stylus) {\n this.error(\"[StylusLabelDrop] unable to find ZSpaceStylusEntity\");\n return;\n }\n\n this.stylus.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,0EAImD;AACnD,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class TouchLabelDropAuthor\n extends AppObjectController\n implements TouchController\n{\n static type = \"TouchLabelDropAuthor\";\n abstract onTap: (e: TouchInputEvent) => void;\n}\n\nexport function makeTouchLabelDropAuthor(\n appObject: AppObject,\n): TouchLabelDropAuthor {\n return new TouchLabelDropAuthorImp(appObject);\n}\n\nclass TouchLabelDropAuthorImp extends TouchLabelDropAuthor {\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type,\n );\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n onTap = (e: TouchInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLabelDropAuthor.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"TouchLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,0EAImD;AACnD,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class TouchLabelDropAuthor\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TouchLabelDropAuthor\";\n abstract onTap: (e: TouchInputEvent) => void;\n}\n\nexport function makeTouchLabelDropAuthor(\n appObject: AppObject\n): TouchLabelDropAuthor {\n return new TouchLabelDropAuthorImp(appObject);\n}\n\nclass TouchLabelDropAuthorImp extends TouchLabelDropAuthor {\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type\n );\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n onTap = (e: TouchInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLabelDropAuthor.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseLandmark.js","sourceRoot":"","sources":["../../../../src/Landmarks/Controller/MouseLandmark.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { pixelToSceneRay } from \"../../Babylon\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { TryAddNewLandmarkUC } from \"../UseCases/TryAddNewLandmarkUC\";\nimport { TryPreviewLandmarkUC } from \"../UseCases/TryPreviewLandmarkUC\";\n\nexport abstract class MouseLandmark\n extends AppObjectController\n implements MouseController\n{\n static type = \"Mouse_Landmark_Controller\";\n\n addingLandmark: boolean = false;\n pressed = false;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract onDown: (e: MouseInputEvent) => void;\n abstract onUp: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeMouseLandmark(appObject: AppObject): MouseLandmark {\n return new MouseLandmarkImp(appObject);\n}\n\nclass MouseLandmarkImp extends MouseLandmark {\n addingLandmark: boolean = false;\n pressed = false;\n\n private get tryPreviewLandmarkUc() {\n return this.getCachedSingleton<TryPreviewLandmarkUC>(\n TryPreviewLandmarkUC.type,\n );\n }\n\n private get tryAddLandmarkUc() {\n return this.getCachedSingleton<TryAddNewLandmarkUC>(\n TryAddNewLandmarkUC.type,\n );\n }\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n\n if (!this.tryPreviewLandmarkUc) {\n return;\n }\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, this.pressed);\n };\n\n onDown = (e: MouseInputEvent) => {\n this.addingLandmark = false;\n\n if (e.button !== 0) return;\n\n if (!this.allow(e)) return;\n\n if (!this.tryPreviewLandmarkUc) {\n return;\n }\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n const pressed = true;\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, pressed);\n this.addingLandmark = true;\n this.pressed = true;\n };\n\n onUp = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.addingLandmark) return;\n if (!this.tryAddLandmarkUc) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n this.tryAddLandmarkUc.addFromRay(ray);\n\n this.tryPreviewLandmarkUc.hidePreview();\n this.addingLandmark = false;\n this.pressed = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLandmark.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MouseLandmark.js","sourceRoot":"","sources":["../../../../src/Landmarks/Controller/MouseLandmark.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { pixelToSceneRay } from \"../../Babylon\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { TryAddNewLandmarkUC } from \"../UseCases/TryAddNewLandmarkUC\";\nimport { TryPreviewLandmarkUC } from \"../UseCases/TryPreviewLandmarkUC\";\n\nexport abstract class MouseLandmark\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"Mouse_Landmark_Controller\";\n\n addingLandmark: boolean = false;\n pressed = false;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract onDown: (e: MouseInputEvent) => void;\n abstract onUp: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeMouseLandmark(appObject: AppObject): MouseLandmark {\n return new MouseLandmarkImp(appObject);\n}\n\nclass MouseLandmarkImp extends MouseLandmark {\n addingLandmark: boolean = false;\n pressed = false;\n\n private get tryPreviewLandmarkUc() {\n return this.getCachedSingleton<TryPreviewLandmarkUC>(\n TryPreviewLandmarkUC.type\n );\n }\n\n private get tryAddLandmarkUc() {\n return this.getCachedSingleton<TryAddNewLandmarkUC>(\n TryAddNewLandmarkUC.type\n );\n }\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n\n if (!this.tryPreviewLandmarkUc) {\n return;\n }\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, this.pressed);\n };\n\n onDown = (e: MouseInputEvent) => {\n this.addingLandmark = false;\n\n if (e.button !== 0) return;\n\n if (!this.allow(e)) return;\n\n if (!this.tryPreviewLandmarkUc) {\n return;\n }\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n const pressed = true;\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, pressed);\n this.addingLandmark = true;\n this.pressed = true;\n };\n\n onUp = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.addingLandmark) return;\n if (!this.tryAddLandmarkUc) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const ray = pixelToSceneRay(e.position, this.appObjects);\n this.tryAddLandmarkUc.addFromRay(ray);\n\n this.tryPreviewLandmarkUc.hidePreview();\n this.addingLandmark = false;\n this.pressed = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLandmark.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLandmark.js","sourceRoot":"","sources":["../../../../src/Landmarks/Controller/TouchLandmark.ts"],"names":[],"mappings":";;;AAwBA,8CAEC;AA1BD,sCAA6D;AAC7D,sCAAsC;AACtC,2CAAgD;AAChD,2DAI+B;AAE/B,yEAAsE;AACtE,2EAAwE;AAExE,MAAsB,aACpB,SAAQ,0BAAmB;;AAD7B,sCAUC;AANQ,kBAAI,GAAG,2BAA2B,CAAC;AAQ5C,SAAgB,iBAAiB,CAAC,SAAoB;IACpD,OAAO,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,gBAAiB,SAAQ,aAAa;IAG1C,IAAY,oBAAoB;QAC9B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,2CAAoB,CAAC,IAAI,CAC1B,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,yCAAmB,CAAC,IAAI,CACzB,CAAC;IACJ,CAAC;IA0CD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAvD/B,cAAS,GAAY,cAAO,CAAC,IAAI,EAAE,CAAC;QAc5C,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAA,yBAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBAAE,OAAO;YAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAA,yBAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,CAAkB,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBAAE,OAAO;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAEvC,MAAM,GAAG,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC1C,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,kCAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport { pixelToSceneRay } from \"../../Babylon\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { LandmarkGlobals } from \"../Entities/LandmarkGlobals\";\nimport { TryAddNewLandmarkUC } from \"../UseCases/TryAddNewLandmarkUC\";\nimport { TryPreviewLandmarkUC } from \"../UseCases/TryPreviewLandmarkUC\";\n\nexport abstract class TouchLandmark\n extends AppObjectController\n implements TouchController\n{\n static type = \"TOUCH_LANDMARK_CONTROLLER\";\n\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(e: TouchInputEvent): void;\n abstract allow: (e: TouchInputEvent) => boolean;\n}\n\nexport function makeTouchLandmark(appObject: AppObject): TouchLandmark {\n return new TouchLandmarkImp(appObject);\n}\n\nclass TouchLandmarkImp extends TouchLandmark {\n private lastTouch: Vector2 = Vector2.Zero();\n\n private get tryPreviewLandmarkUc() {\n return this.getCachedSingleton<TryPreviewLandmarkUC>(\n TryPreviewLandmarkUC.type,\n );\n }\n\n private get tryAddLandmarkUc() {\n return this.getCachedSingleton<TryAddNewLandmarkUC>(\n TryAddNewLandmarkUC.type,\n );\n }\n\n allow = (e: TouchInputEvent): boolean => {\n if (e.touches.length === 1) {\n return true;\n }\n\n return false;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const position = e.touches[0].position;\n this.lastTouch = position;\n const ray = pixelToSceneRay(position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, true);\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (e.touchCount > 1) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const position = e.touches[0].position;\n this.lastTouch = position;\n const ray = pixelToSceneRay(position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, true);\n };\n\n onTouchEnd = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (e.touchCount > 1) return;\n if (!this.tryAddLandmarkUc) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const ray = pixelToSceneRay(this.lastTouch, this.appObjects);\n this.tryAddLandmarkUc.addFromRay(ray);\n this.tryPreviewLandmarkUc.hidePreview();\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLandmark.type);\n\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"TouchLandmark.js","sourceRoot":"","sources":["../../../../src/Landmarks/Controller/TouchLandmark.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport { pixelToSceneRay } from \"../../Babylon\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { LandmarkGlobals } from \"../Entities/LandmarkGlobals\";\nimport { TryAddNewLandmarkUC } from \"../UseCases/TryAddNewLandmarkUC\";\nimport { TryPreviewLandmarkUC } from \"../UseCases/TryPreviewLandmarkUC\";\n\nexport abstract class TouchLandmark\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TOUCH_LANDMARK_CONTROLLER\";\n\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(e: TouchInputEvent): void;\n abstract allow: (e: TouchInputEvent) => boolean;\n}\n\nexport function makeTouchLandmark(appObject: AppObject): TouchLandmark {\n return new TouchLandmarkImp(appObject);\n}\n\nclass TouchLandmarkImp extends TouchLandmark {\n private lastTouch: Vector2 = Vector2.Zero();\n\n private get tryPreviewLandmarkUc() {\n return this.getCachedSingleton<TryPreviewLandmarkUC>(\n TryPreviewLandmarkUC.type\n );\n }\n\n private get tryAddLandmarkUc() {\n return this.getCachedSingleton<TryAddNewLandmarkUC>(\n TryAddNewLandmarkUC.type\n );\n }\n\n allow = (e: TouchInputEvent): boolean => {\n if (e.touches.length === 1) {\n return true;\n }\n\n return false;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const position = e.touches[0].position;\n this.lastTouch = position;\n const ray = pixelToSceneRay(position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, true);\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (e.touchCount > 1) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const position = e.touches[0].position;\n this.lastTouch = position;\n const ray = pixelToSceneRay(position, this.appObjects);\n this.tryPreviewLandmarkUc.tryPreviewLandmark(ray, true);\n };\n\n onTouchEnd = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (e.touchCount > 1) return;\n if (!this.tryAddLandmarkUc) return;\n if (!this.tryPreviewLandmarkUc) return;\n\n const ray = pixelToSceneRay(this.lastTouch, this.appObjects);\n this.tryAddLandmarkUc.addFromRay(ray);\n this.tryPreviewLandmarkUc.hidePreview();\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLandmark.type);\n\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseInput.js","sourceRoot":"","sources":["../../../../src/MouseInput/Entities/MouseInput.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectEntity, getSingletonComponent } from \"@vived/core\";\n\nimport { AppObjectRepo } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\n\nexport interface MouseInputEvent {\n position: Vector2;\n button: number;\n event: MouseEvent;\n}\n\nexport interface MouseWheelEvent {\n position: Vector2;\n event: WheelEvent;\n}\n\nexport interface MouseController {\n onClick?: (e: MouseInputEvent) => void;\n onDoubleClick?: (e: MouseInputEvent) => void;\n onDown?: (e: MouseInputEvent) => void;\n onUp?: (e: MouseInputEvent) => void;\n onMove?: (e: MouseInputEvent) => void;\n onWheel?: (e: MouseWheelEvent) => void;\n}\n\nexport abstract class MouseInputEntity extends AppObjectEntity {\n static readonly type = \"MouseInputEntity\";\n\n abstract get eventElement(): HTMLElement | undefined;\n\n abstract setEventElement(eventElement: HTMLElement): void;\n abstract clearInputElement(): void;\n\n abstract registerController(controller: MouseController): void;\n abstract removeController(controller: MouseController): void;\n\n static get = (appObjects: AppObjectRepo): MouseInputEntity | undefined =>\n getSingletonComponent(MouseInputEntity.type, appObjects);\n}\n\nexport function makeMouseInput(appObject: AppObject): MouseInputEntity {\n return new MouseInputEntityImp(appObject);\n}\n\nclass MouseInputEntityImp extends MouseInputEntity {\n private controllers: MouseController[] = [];\n\n private maxClickMovement = 5; // pixels\n private pressEvent?: MouseEvent;\n private isPressed = false;\n\n private initialClickTime: number = 0;\n private initialClickPos: Vector2 = Vector2.Zero();\n private clickCount = 0;\n private maxDoubleClickTimeMS = 300;\n private maxDoubleClickDistancePx = 5;\n\n private _eventElement: HTMLElement | undefined = undefined;\n public get eventElement(): HTMLElement | undefined {\n return this._eventElement;\n }\n\n setEventElement = (eventElement: HTMLElement): void => {\n if (this._eventElement) this.clearInputElement();\n\n eventElement.addEventListener(\"mousedown\", this.onMouseDown, false);\n eventElement.addEventListener(\"mouseup\", this.onMouseUp, false);\n eventElement.addEventListener(\"mousemove\", this.onMouseMove, false);\n eventElement.addEventListener(\"mouseout\", this.onMouseOut, false);\n eventElement.addEventListener(\"wheel\", this.onWheel, false);\n\n this._eventElement = eventElement;\n };\n clearInputElement = (): void => {\n if (!this._eventElement) return;\n\n this._eventElement.removeEventListener(\"mousedown\", this.onMouseDown);\n this._eventElement.removeEventListener(\"mouseup\", this.onMouseUp);\n this._eventElement.removeEventListener(\"mousemove\", this.onMouseMove);\n this._eventElement.removeEventListener(\"mouseout\", this.onMouseOut);\n this._eventElement.removeEventListener(\"wheel\", this.onWheel);\n\n this._eventElement = undefined;\n };\n\n registerController = (controller: MouseController): void => {\n this.controllers.push(controller);\n };\n removeController = (controller: MouseController): void => {\n const index = this.controllers.indexOf(controller);\n if (index >= 0) {\n this.controllers.splice(index, 1);\n }\n };\n\n private onMouseDown = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onDown) {\n c.onDown(inputEvt);\n }\n });\n\n this.isPressed = true;\n this.pressEvent = e;\n\n if (this.clickCount === 0) return;\n\n const movement = Vector2.Subtract(\n this.initialClickPos,\n inputEvt.position,\n ).magnitued;\n const passedTime = Date.now() - this.initialClickTime;\n if (\n passedTime > this.maxDoubleClickTimeMS ||\n movement > this.maxDoubleClickDistancePx\n ) {\n this.clickCount = 0;\n }\n };\n\n private onMouseUp = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onUp) {\n c.onUp(inputEvt);\n }\n });\n\n this.isPressed = false;\n\n if (!this.pressEvent) return;\n\n const deltaX = this.pressEvent.screenX - e.screenX;\n const deltaY = this.pressEvent.screenY - e.screenY;\n const delta = new Vector2(deltaX, deltaY);\n if (delta.magnitued < this.maxClickMovement) {\n this.controllers.forEach((c) => {\n if (c.onClick) {\n c.onClick(inputEvt);\n }\n });\n this.clickCount += 1;\n } else {\n this.cancelDoubleClick();\n return;\n }\n\n if (this.clickCount === 1) {\n this.initialClickTime = Date.now();\n this.initialClickPos = new Vector2(\n this.pressEvent.screenX,\n this.pressEvent.screenY,\n );\n } else if (this.clickCount === 2) {\n const currentPos = new Vector2(\n this.pressEvent.screenX,\n this.pressEvent.screenY,\n );\n let movement = Vector2.Subtract(\n this.initialClickPos,\n currentPos,\n ).magnitued;\n if (isNaN(movement)) {\n movement = 0;\n }\n const passedTime = Date.now() - this.initialClickTime;\n if (\n passedTime <= this.maxDoubleClickTimeMS &&\n movement <= this.maxDoubleClickDistancePx\n ) {\n this.controllers.forEach((c) => {\n if (c.onDoubleClick) {\n c.onDoubleClick(inputEvt);\n }\n });\n\n this.cancelDoubleClick();\n }\n }\n\n this.pressEvent = undefined;\n };\n\n private cancelDoubleClick = () => {\n this.initialClickPos = Vector2.Zero();\n this.initialClickTime = 0;\n this.clickCount = 0;\n };\n\n private onMouseMove = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onMove) {\n c.onMove(inputEvt);\n }\n });\n\n if (!this.pressEvent) return;\n\n const deltaX = this.pressEvent.screenX - e.screenX;\n const deltaY = this.pressEvent.screenY - e.screenY;\n const delta = new Vector2(deltaX, deltaY);\n if (delta.magnitued > this.maxClickMovement) {\n this.pressEvent = undefined;\n }\n };\n\n private onMouseOut = (e: MouseEvent) => {\n this.cancelDoubleClick();\n\n if (!this.isPressed) return;\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onUp) {\n c.onUp(inputEvt);\n }\n });\n\n this.pressEvent = undefined;\n this.isPressed = false;\n };\n\n private onWheel = (e: WheelEvent) => {\n e.preventDefault();\n const px = e.offsetX;\n const py = e.offsetY;\n const button = e.button;\n\n const inputEvt: MouseWheelEvent = {\n position: new Vector2(px, py),\n event: e,\n };\n\n this.controllers.forEach((c) => {\n if (c.onWheel) {\n c.onWheel(inputEvt);\n }\n });\n };\n\n private makeMouseInputEvent(event: MouseEvent): MouseInputEvent {\n const px = event.offsetX;\n const py = event.offsetY;\n const button = event.button;\n\n return {\n position: new Vector2(px, py),\n button,\n event,\n };\n }\n\n constructor(appObject: AppObject) {\n super(appObject, MouseInputEntity.type);\n }\n}\n"]}
1
+ {"version":3,"file":"MouseInput.js","sourceRoot":"","sources":["../../../../src/MouseInput/Entities/MouseInput.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectEntity, getSingletonComponent } from \"@vived/core\";\n\nimport { AppObjectRepo } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\n\nexport interface MouseInputEvent {\n position: Vector2;\n button: number;\n event: MouseEvent;\n}\n\nexport interface MouseWheelEvent {\n position: Vector2;\n event: WheelEvent;\n}\n\nexport interface MouseEventHandler {\n onClick?: (e: MouseInputEvent) => void;\n onDoubleClick?: (e: MouseInputEvent) => void;\n onDown?: (e: MouseInputEvent) => void;\n onUp?: (e: MouseInputEvent) => void;\n onMove?: (e: MouseInputEvent) => void;\n onWheel?: (e: MouseWheelEvent) => void;\n}\n\n/**\n * @deprecated Use MouseEventHandler instead. MouseController will be removed in a future version.\n */\nexport type MouseController = MouseEventHandler;\n\nexport abstract class MouseInputEntity extends AppObjectEntity {\n static readonly type = \"MouseInputEntity\";\n\n abstract get eventElement(): HTMLElement | undefined;\n\n abstract setEventElement(eventElement: HTMLElement): void;\n abstract clearInputElement(): void;\n\n abstract registerController(controller: MouseEventHandler): void;\n abstract removeController(controller: MouseEventHandler): void;\n\n static get = (appObjects: AppObjectRepo): MouseInputEntity | undefined =>\n getSingletonComponent(MouseInputEntity.type, appObjects);\n}\n\nexport function makeMouseInput(appObject: AppObject): MouseInputEntity {\n return new MouseInputEntityImp(appObject);\n}\n\nclass MouseInputEntityImp extends MouseInputEntity {\n private controllers: MouseEventHandler[] = [];\n\n private maxClickMovement = 5; // pixels\n private pressEvent?: MouseEvent;\n private isPressed = false;\n\n private initialClickTime: number = 0;\n private initialClickPos: Vector2 = Vector2.Zero();\n private clickCount = 0;\n private maxDoubleClickTimeMS = 300;\n private maxDoubleClickDistancePx = 5;\n\n private _eventElement: HTMLElement | undefined = undefined;\n public get eventElement(): HTMLElement | undefined {\n return this._eventElement;\n }\n\n setEventElement = (eventElement: HTMLElement): void => {\n if (this._eventElement) this.clearInputElement();\n\n eventElement.addEventListener(\"mousedown\", this.onMouseDown, false);\n eventElement.addEventListener(\"mouseup\", this.onMouseUp, false);\n eventElement.addEventListener(\"mousemove\", this.onMouseMove, false);\n eventElement.addEventListener(\"mouseout\", this.onMouseOut, false);\n eventElement.addEventListener(\"wheel\", this.onWheel, false);\n\n this._eventElement = eventElement;\n };\n clearInputElement = (): void => {\n if (!this._eventElement) return;\n\n this._eventElement.removeEventListener(\"mousedown\", this.onMouseDown);\n this._eventElement.removeEventListener(\"mouseup\", this.onMouseUp);\n this._eventElement.removeEventListener(\"mousemove\", this.onMouseMove);\n this._eventElement.removeEventListener(\"mouseout\", this.onMouseOut);\n this._eventElement.removeEventListener(\"wheel\", this.onWheel);\n\n this._eventElement = undefined;\n };\n\n registerController = (controller: MouseEventHandler): void => {\n this.controllers.push(controller);\n };\n removeController = (controller: MouseEventHandler): void => {\n const index = this.controllers.indexOf(controller);\n if (index >= 0) {\n this.controllers.splice(index, 1);\n }\n };\n\n private onMouseDown = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onDown) {\n c.onDown(inputEvt);\n }\n });\n\n this.isPressed = true;\n this.pressEvent = e;\n\n if (this.clickCount === 0) return;\n\n const movement = Vector2.Subtract(\n this.initialClickPos,\n inputEvt.position\n ).magnitued;\n const passedTime = Date.now() - this.initialClickTime;\n if (\n passedTime > this.maxDoubleClickTimeMS ||\n movement > this.maxDoubleClickDistancePx\n ) {\n this.clickCount = 0;\n }\n };\n\n private onMouseUp = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onUp) {\n c.onUp(inputEvt);\n }\n });\n\n this.isPressed = false;\n\n if (!this.pressEvent) return;\n\n const deltaX = this.pressEvent.screenX - e.screenX;\n const deltaY = this.pressEvent.screenY - e.screenY;\n const delta = new Vector2(deltaX, deltaY);\n if (delta.magnitued < this.maxClickMovement) {\n this.controllers.forEach((c) => {\n if (c.onClick) {\n c.onClick(inputEvt);\n }\n });\n this.clickCount += 1;\n } else {\n this.cancelDoubleClick();\n return;\n }\n\n if (this.clickCount === 1) {\n this.initialClickTime = Date.now();\n this.initialClickPos = new Vector2(\n this.pressEvent.screenX,\n this.pressEvent.screenY\n );\n } else if (this.clickCount === 2) {\n const currentPos = new Vector2(\n this.pressEvent.screenX,\n this.pressEvent.screenY\n );\n let movement = Vector2.Subtract(\n this.initialClickPos,\n currentPos\n ).magnitued;\n if (isNaN(movement)) {\n movement = 0;\n }\n const passedTime = Date.now() - this.initialClickTime;\n if (\n passedTime <= this.maxDoubleClickTimeMS &&\n movement <= this.maxDoubleClickDistancePx\n ) {\n this.controllers.forEach((c) => {\n if (c.onDoubleClick) {\n c.onDoubleClick(inputEvt);\n }\n });\n\n this.cancelDoubleClick();\n }\n }\n\n this.pressEvent = undefined;\n };\n\n private cancelDoubleClick = () => {\n this.initialClickPos = Vector2.Zero();\n this.initialClickTime = 0;\n this.clickCount = 0;\n };\n\n private onMouseMove = (e: MouseEvent) => {\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onMove) {\n c.onMove(inputEvt);\n }\n });\n\n if (!this.pressEvent) return;\n\n const deltaX = this.pressEvent.screenX - e.screenX;\n const deltaY = this.pressEvent.screenY - e.screenY;\n const delta = new Vector2(deltaX, deltaY);\n if (delta.magnitued > this.maxClickMovement) {\n this.pressEvent = undefined;\n }\n };\n\n private onMouseOut = (e: MouseEvent) => {\n this.cancelDoubleClick();\n\n if (!this.isPressed) return;\n const inputEvt = this.makeMouseInputEvent(e);\n this.controllers.forEach((c) => {\n if (c.onUp) {\n c.onUp(inputEvt);\n }\n });\n\n this.pressEvent = undefined;\n this.isPressed = false;\n };\n\n private onWheel = (e: WheelEvent) => {\n e.preventDefault();\n const px = e.offsetX;\n const py = e.offsetY;\n const button = e.button;\n\n const inputEvt: MouseWheelEvent = {\n position: new Vector2(px, py),\n event: e,\n };\n\n this.controllers.forEach((c) => {\n if (c.onWheel) {\n c.onWheel(inputEvt);\n }\n });\n };\n\n private makeMouseInputEvent(event: MouseEvent): MouseInputEvent {\n const px = event.offsetX;\n const py = event.offsetY;\n const button = event.button;\n\n return {\n position: new Vector2(px, py),\n button,\n event,\n };\n }\n\n constructor(appObject: AppObject) {\n super(appObject, MouseInputEntity.type);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseInput.test.js","sourceRoot":"","sources":["../../../../src/MouseInput/Entities/MouseInput.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeMouseInput,\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"./MouseInput\";\n\nclass MockController implements MouseController {\n onClick = jest.fn();\n onDown = jest.fn();\n onUp = jest.fn();\n onMove = jest.fn();\n onWheel = jest.fn();\n onDoubleClick = jest.fn();\n}\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"App\");\n const mouseInput = makeMouseInput(ao);\n\n const mockController = new MockController();\n mouseInput.registerController(mockController);\n\n const element = document.createElement(\"div\");\n mouseInput.setEventElement(element);\n\n return { mouseInput, mockController, element, appObjects };\n}\n\ndescribe(\"Mouse input\", () => {\n it(\"Sets the element\", () => {\n const { mouseInput, element } = makeTestRig();\n expect(mouseInput.eventElement).toEqual(element);\n });\n\n it(\"Clears the element\", () => {\n const { mouseInput, element } = makeTestRig();\n\n expect(mouseInput.eventElement).toEqual(element);\n\n mouseInput.clearInputElement();\n\n expect(mouseInput.eventElement).toBeUndefined();\n });\n\n it(\"Allows a controller to be removed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.removeController(mockController);\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n\n it(\"Gets the entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(mouseInput);\n });\n\n it(\"Warns if it cannot find the entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n console.warn = jest.fn();\n mouseInput.dispose();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(undefined);\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Warns if it finds multiple entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n const anotherAO = appObjects.getOrCreate(\"anotherAppObject\");\n makeMouseInput(anotherAO);\n\n console.warn = jest.fn();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(mouseInput);\n expect(console.warn).toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - On Down\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onDown.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n expect(inputEvent.button).toEqual(1);\n });\n\n it(\"Removes event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n\n it(\"Removes event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - On Up\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onUp.mock.calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n expect(inputEvent.button).toEqual(1);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mouseup\");\n element.dispatchEvent(e);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mouseup\");\n element.dispatchEvent(e);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Move\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onMove.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n expect(mockController.onMove).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n expect(mockController.onMove).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Mouse Leave\", () => {\n it(\"Treats a mouse out like a mouse up if there is a presss\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\");\n element.dispatchEvent(down);\n\n const out = new MouseEvent(\"mouseout\");\n element.dispatchEvent(out);\n\n const inputEvent = mockController.onUp.mock.calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(out);\n });\n\n it(\"Does nothing on leave if there is not a press\", () => {\n const { element, mockController } = makeTestRig();\n\n const out = new MouseEvent(\"mouseout\");\n element.dispatchEvent(out);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Click\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\");\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\");\n element.dispatchEvent(up);\n\n const inputEvent = mockController.onClick.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(up);\n });\n\n it(\"Does not register a click if the up is too far away\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 5, screenY: 5 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a click if there is too much movement\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const move = new MouseEvent(\"mousemove\", { screenX: 5, screenY: 5 });\n element.dispatchEvent(move);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a click if the mouse leaves\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const leave = new MouseEvent(\"mouseout\");\n element.dispatchEvent(leave);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Wheel\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onWheel.mock\n .calls[0][0] as MouseInputEvent;\n\n expect(inputEvent.event).toEqual(e);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n expect(mockController.onWheel).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n expect(mockController.onWheel).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Double Click\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).toHaveBeenCalledTimes(1);\n const inputEvent = mockController.onDoubleClick.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(up);\n });\n\n it(\"Does not register click if the second click is too far away\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n const down2 = new MouseEvent(\"mousedown\", { screenX: 10, screenY: 10 });\n element.dispatchEvent(down2);\n\n const up2 = new MouseEvent(\"mouseup\", { screenX: 10, screenY: 10 });\n element.dispatchEvent(up2);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't get out of sequecne\", () => {\n const { element, mockController } = makeTestRig();\n\n const mockTime = jest.fn();\n Date.now = mockTime;\n mockTime.mockReturnValue(0);\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1000);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1001);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).toHaveBeenCalledTimes(1);\n });\n\n it(\"Does not register if it takes too long\", () => {\n const { element, mockController } = makeTestRig();\n\n const mockTime = jest.fn();\n Date.now = mockTime;\n mockTime.mockReturnValue(0);\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1000);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a double click if the mouse leaves\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n const leave = new MouseEvent(\"mouseout\");\n element.dispatchEvent(leave);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"file":"MouseInput.test.js","sourceRoot":"","sources":["../../../../src/MouseInput/Entities/MouseInput.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport {\n makeMouseInput,\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"./MouseInput\";\n\nclass MockController implements MouseEventHandler {\n onClick = jest.fn();\n onDown = jest.fn();\n onUp = jest.fn();\n onMove = jest.fn();\n onWheel = jest.fn();\n onDoubleClick = jest.fn();\n}\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"App\");\n const mouseInput = makeMouseInput(ao);\n\n const mockController = new MockController();\n mouseInput.registerController(mockController);\n\n const element = document.createElement(\"div\");\n mouseInput.setEventElement(element);\n\n return { mouseInput, mockController, element, appObjects };\n}\n\ndescribe(\"Mouse input\", () => {\n it(\"Sets the element\", () => {\n const { mouseInput, element } = makeTestRig();\n expect(mouseInput.eventElement).toEqual(element);\n });\n\n it(\"Clears the element\", () => {\n const { mouseInput, element } = makeTestRig();\n\n expect(mouseInput.eventElement).toEqual(element);\n\n mouseInput.clearInputElement();\n\n expect(mouseInput.eventElement).toBeUndefined();\n });\n\n it(\"Allows a controller to be removed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.removeController(mockController);\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n\n it(\"Gets the entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(mouseInput);\n });\n\n it(\"Warns if it cannot find the entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n console.warn = jest.fn();\n mouseInput.dispose();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(undefined);\n expect(console.warn).toHaveBeenCalled();\n });\n\n it(\"Warns if it finds multiple entity\", () => {\n const { mouseInput, appObjects } = makeTestRig();\n const anotherAO = appObjects.getOrCreate(\"anotherAppObject\");\n makeMouseInput(anotherAO);\n\n console.warn = jest.fn();\n\n expect(MouseInputEntity.get(appObjects)).toEqual(mouseInput);\n expect(console.warn).toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - On Down\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mousedown\", { button: 1 });\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onDown.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n expect(inputEvent.button).toEqual(1);\n });\n\n it(\"Removes event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n\n it(\"Removes event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mousedown\");\n element.dispatchEvent(e);\n\n expect(mockController.onDown).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - On Up\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mouseup\", { button: 1 });\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onUp.mock.calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n expect(inputEvent.button).toEqual(1);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mouseup\");\n element.dispatchEvent(e);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mouseup\");\n element.dispatchEvent(e);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Move\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onMove.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(e);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n expect(mockController.onMove).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new MouseEvent(\"mousemove\");\n element.dispatchEvent(e);\n\n expect(mockController.onMove).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Mouse Leave\", () => {\n it(\"Treats a mouse out like a mouse up if there is a presss\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\");\n element.dispatchEvent(down);\n\n const out = new MouseEvent(\"mouseout\");\n element.dispatchEvent(out);\n\n const inputEvent = mockController.onUp.mock.calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(out);\n });\n\n it(\"Does nothing on leave if there is not a press\", () => {\n const { element, mockController } = makeTestRig();\n\n const out = new MouseEvent(\"mouseout\");\n element.dispatchEvent(out);\n\n expect(mockController.onUp).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Click\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\");\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\");\n element.dispatchEvent(up);\n\n const inputEvent = mockController.onClick.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(up);\n });\n\n it(\"Does not register a click if the up is too far away\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 5, screenY: 5 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a click if there is too much movement\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const move = new MouseEvent(\"mousemove\", { screenX: 5, screenY: 5 });\n element.dispatchEvent(move);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a click if the mouse leaves\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const leave = new MouseEvent(\"mouseout\");\n element.dispatchEvent(leave);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n expect(mockController.onClick).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Wheel\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n const inputEvent = mockController.onWheel.mock\n .calls[0][0] as MouseInputEvent;\n\n expect(inputEvent.event).toEqual(e);\n });\n\n it(\"Removed event listener when the element is cleared\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n mouseInput.clearInputElement();\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n expect(mockController.onWheel).not.toHaveBeenCalled();\n });\n\n it(\"Removed event listener when the element is changed\", () => {\n const { element, mockController, mouseInput } = makeTestRig();\n\n const newElement = document.createElement(\"div\");\n mouseInput.setEventElement(newElement);\n\n const e = new WheelEvent(\"wheel\");\n element.dispatchEvent(e);\n\n expect(mockController.onWheel).not.toHaveBeenCalled();\n });\n});\n\ndescribe(\"Mouse scene input - Double Click\", () => {\n it(\"Notifies controller with the event\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).toHaveBeenCalledTimes(1);\n const inputEvent = mockController.onDoubleClick.mock\n .calls[0][0] as MouseInputEvent;\n expect(inputEvent.event).toEqual(up);\n });\n\n it(\"Does not register click if the second click is too far away\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n const down2 = new MouseEvent(\"mousedown\", { screenX: 10, screenY: 10 });\n element.dispatchEvent(down2);\n\n const up2 = new MouseEvent(\"mouseup\", { screenX: 10, screenY: 10 });\n element.dispatchEvent(up2);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n\n it(\"Doesn't get out of sequecne\", () => {\n const { element, mockController } = makeTestRig();\n\n const mockTime = jest.fn();\n Date.now = mockTime;\n mockTime.mockReturnValue(0);\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1000);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1001);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).toHaveBeenCalledTimes(1);\n });\n\n it(\"Does not register if it takes too long\", () => {\n const { element, mockController } = makeTestRig();\n\n const mockTime = jest.fn();\n Date.now = mockTime;\n mockTime.mockReturnValue(0);\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n mockTime.mockReturnValue(1000);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n\n it(\"Does not register a double click if the mouse leaves\", () => {\n const { element, mockController } = makeTestRig();\n\n const down = new MouseEvent(\"mousedown\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(down);\n\n const up = new MouseEvent(\"mouseup\", { screenX: 0, screenY: 0 });\n element.dispatchEvent(up);\n\n const leave = new MouseEvent(\"mouseout\");\n element.dispatchEvent(leave);\n\n element.dispatchEvent(down);\n element.dispatchEvent(up);\n\n expect(mockController.onDoubleClick).not.toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseObjectPickMC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/MouseObjectPickMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,oEAAiE;AACjE,qEAI8C;AAC9C,6EAA0E;AAC1E,6EAA0E;AAE1E,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAf3C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YAEnE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA3CH,8CA4CC;AAxCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { TrySelectObjectPickUC } from \"../UseCases/TrySelectObjectPickUC\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class MouseObjectPickMC\n extends AppObjectController\n implements MouseController\n{\n static type = \"MouseObjectPickMC\";\n\n private get baseApp() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get trySelectObjectPick() {\n return this.getCachedSingleton<TrySelectObjectPickUC>(\n TrySelectObjectPickUC.type,\n )?.tryWithPixel;\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type,\n )?.tryWithPixel;\n }\n\n onClick = (e: MouseInputEvent) => {\n if (!this.trySelectObjectPick || !this.trySubmitObjectPick) return;\n\n if (e.button !== 0) {\n return;\n }\n\n if (this.baseApp?.isAuthoring) {\n this.trySelectObjectPick(e.position);\n } else {\n this.trySubmitObjectPick(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseObjectPickMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"MouseObjectPickMC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/MouseObjectPickMC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,oEAAiE;AACjE,qEAI8C;AAC9C,6EAA0E;AAC1E,6EAA0E;AAE1E,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAf3C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YAEnE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AA3CH,8CA4CC;AAxCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { TrySelectObjectPickUC } from \"../UseCases/TrySelectObjectPickUC\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class MouseObjectPickMC\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"MouseObjectPickMC\";\n\n private get baseApp() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get trySelectObjectPick() {\n return this.getCachedSingleton<TrySelectObjectPickUC>(\n TrySelectObjectPickUC.type\n )?.tryWithPixel;\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type\n )?.tryWithPixel;\n }\n\n onClick = (e: MouseInputEvent) => {\n if (!this.trySelectObjectPick || !this.trySubmitObjectPick) return;\n\n if (e.button !== 0) {\n return;\n }\n\n if (this.baseApp?.isAuthoring) {\n this.trySelectObjectPick(e.position);\n } else {\n this.trySubmitObjectPick(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseObjectPickMC.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"StylusObjectPickSC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/StylusObjectPickSC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,mEAG0C;AAC1C,6EAA0E;AAE1E,MAAa,kBACX,SAAQ,0BAAmB;IAI3B,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,UAAU,CAAC;IAChB,CAAC;IAUD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAT5C,kBAAa,GAAG,CAAC,MAAc,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YACtD,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC;QAIA,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AA1BH,gDA2BC;AAvBiB,uBAAI,GAAG,oBAAoB,AAAvB,CAAwB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n StylusController,\n StylusEntity,\n} from \"../../Stylus/Entity/StylusEntity\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class StylusObjectPickSC\n extends AppObjectController\n implements StylusController\n{\n static readonly type = \"StylusObjectPickSC\";\n private get stylus() {\n return this.getCachedSingleton<StylusEntity>(StylusEntity.type);\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type,\n )?.tryWithRay;\n }\n\n onButtonClick = (button: number) => {\n if (!this.stylus || !this.trySubmitObjectPick) return;\n if (button !== 0) return;\n\n const pointerRay = this.stylus.pickRay;\n this.trySubmitObjectPick(pointerRay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, StylusObjectPickSC.type);\n this.stylus?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"StylusObjectPickSC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/StylusObjectPickSC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,mEAG0C;AAC1C,6EAA0E;AAE1E,MAAa,kBACX,SAAQ,0BAAmB;IAI3B,IAAY,MAAM;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,UAAU,CAAC;IAChB,CAAC;IAUD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAT5C,kBAAa,GAAG,CAAC,MAAc,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YACtD,IAAI,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC;QAIA,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AA1BH,gDA2BC;AAvBiB,uBAAI,GAAG,oBAAoB,AAAvB,CAAwB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n StylusEventHandler,\n StylusEntity,\n} from \"../../Stylus/Entity/StylusEntity\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class StylusObjectPickSC\n extends AppObjectController\n implements StylusEventHandler\n{\n static readonly type = \"StylusObjectPickSC\";\n private get stylus() {\n return this.getCachedSingleton<StylusEntity>(StylusEntity.type);\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type\n )?.tryWithRay;\n }\n\n onButtonClick = (button: number) => {\n if (!this.stylus || !this.trySubmitObjectPick) return;\n if (button !== 0) return;\n\n const pointerRay = this.stylus.pickRay;\n this.trySubmitObjectPick(pointerRay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, StylusObjectPickSC.type);\n this.stylus?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TouchObjectPickTC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/TouchObjectPickTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,oEAAiE;AACjE,0EAImD;AACnD,6EAA0E;AAC1E,6EAA0E;AAE1E,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAYD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAX3C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YAEnE,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AAvCH,8CAwCC;AApCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { TrySelectObjectPickUC } from \"../UseCases/TrySelectObjectPickUC\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class TouchObjectPickTC\n extends AppObjectController\n implements TouchController\n{\n static type = \"TouchObjectPickTC\";\n\n private get baseApp() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n private get trySelectObjectPick() {\n return this.getCachedSingleton<TrySelectObjectPickUC>(\n TrySelectObjectPickUC.type,\n )?.tryWithPixel;\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type,\n )?.tryWithPixel;\n }\n\n onTap = (e: TouchInputEvent) => {\n if (!this.trySelectObjectPick || !this.trySubmitObjectPick) return;\n\n if (this.baseApp?.isAuthoring) {\n this.trySelectObjectPick(e.touchCenter);\n } else {\n this.trySubmitObjectPick(e.touchCenter);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchObjectPickTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"TouchObjectPickTC.js","sourceRoot":"","sources":["../../../../src/ObjectPick/Controllers/TouchObjectPickTC.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,oEAAiE;AACjE,0EAImD;AACnD,6EAA0E;AAC1E,6EAA0E;AAE1E,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,2BAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAED,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAC5B,6CAAqB,CAAC,IAAI,CAC3B,EAAE,YAAY,CAAC;IAClB,CAAC;IAYD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAX3C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAAE,OAAO;YAEnE,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;;AAvCH,8CAwCC;AApCQ,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { BaseAppState } from \"../../BaseApp/Entity/BaseAppState\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { TrySelectObjectPickUC } from \"../UseCases/TrySelectObjectPickUC\";\nimport { TrySubmitObjectPickUC } from \"../UseCases/TrySubmitObjectPickUC\";\n\nexport class TouchObjectPickTC\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TouchObjectPickTC\";\n\n private get baseApp() {\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n private get trySelectObjectPick() {\n return this.getCachedSingleton<TrySelectObjectPickUC>(\n TrySelectObjectPickUC.type\n )?.tryWithPixel;\n }\n\n private get trySubmitObjectPick() {\n return this.getCachedSingleton<TrySubmitObjectPickUC>(\n TrySubmitObjectPickUC.type\n )?.tryWithPixel;\n }\n\n onTap = (e: TouchInputEvent) => {\n if (!this.trySelectObjectPick || !this.trySubmitObjectPick) return;\n\n if (this.baseApp?.isAuthoring) {\n this.trySelectObjectPick(e.touchCenter);\n } else {\n this.trySubmitObjectPick(e.touchCenter);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchObjectPickTC.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DoubleTapToFocus.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/DoubleTapToFocus.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,sCAAsC;AACtC,2DAI+B;AAC/B,qDAAoD;AAEpD,MAAa,gBACX,SAAQ,0BAAmB;IAa3B,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAiB,6BAAc,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAwDO,gBAAgB,CAAC,eAAwB;QAC/C,MAAM,QAAQ,GAAG,cAAO,CAAC,QAAQ,CAC/B,IAAI,CAAC,eAAe,EACpB,eAAe,CAChB,CAAC,SAAS,CAAC;QAEZ,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;IACH,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QA/EjC,oBAAe,GAAG,GAAG,CAAC;QACtB,cAAS,GAAG,GAAG,CAAC;QAChB,qBAAgB,GAAG,EAAE,CAAC;QAEvB,oBAAe,GAAY,cAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,qBAAgB,GAAW,CAAC,CAAC;QAC7B,aAAQ,GAAG,CAAC,CAAC;QAMrB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAElC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO;YAChC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAEtD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC;QAgBA,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC;QAE3C,MAAM,UAAU,GAAG,kCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AA9FH,4CA+FC;AA3FiB,qBAAI,GAAG,kBAAkB,AAArB,CAAsB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchController,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { FocusOnPixelUC } from \"../UC/FocusOnPixel\";\n\nexport class DoubleTapToFocus\n extends AppObjectController\n implements TouchController\n{\n static readonly type = \"DoubleTapToFocus\";\n\n readonly focusDurationMS = 500;\n readonly tapTimeMS = 300;\n readonly maxTapDistancePx = 30;\n\n private initialTouchPos: Vector2 = Vector2.Zero();\n private initialTouchTime: number = 0;\n private tapCount = 0;\n\n private get focusOnPixelUC() {\n return this.getCachedLocalComponent<FocusOnPixelUC>(FocusOnPixelUC.type);\n }\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) {\n this.cancelDoubleTap();\n return;\n }\n\n if (e.touchCount !== 1) {\n this.cancelDoubleTap();\n return;\n }\n\n this.tapCount = this.tapCount + 1;\n\n if (this.tapCount === 1) {\n this.initialTouchPos = e.touchCenter;\n this.initialTouchTime = Date.now();\n } else if (this.tapCount === 2) {\n this.checkForMovement(e.touchCenter);\n }\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (this.tapCount !== 1) return;\n if (e.touchCount !== 1) {\n this.cancelDoubleTap();\n return;\n }\n\n this.checkForMovement(e.touchCenter);\n };\n\n onTouchEnd = () => {\n if (this.tapCount === 2) {\n const passedTime = Date.now() - this.initialTouchTime;\n\n if (passedTime > this.tapTimeMS) {\n this.cancelDoubleTap();\n return;\n }\n this.focusOnPixelUC?.centerOnPixel(this.initialTouchPos);\n this.tapCount = 0;\n this.initialTouchTime = 0;\n }\n };\n\n private cancelDoubleTap = () => {\n this.initialTouchTime = 0;\n this.tapCount = 0;\n };\n\n private checkForMovement(currentPixelPos: Vector2) {\n const movement = Vector2.Subtract(\n this.initialTouchPos,\n currentPixelPos,\n ).magnitued;\n\n if (movement > this.maxTapDistancePx) {\n this.cancelDoubleTap();\n return;\n }\n }\n\n constructor(appObject: AppObject) {\n super(appObject, DoubleTapToFocus.type);\n const appObjects = appObject.appObjectRepo;\n\n const touchInput = TouchInputEntity.get(appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"DoubleTapToFocus.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/DoubleTapToFocus.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,sCAAsC;AACtC,2DAI+B;AAC/B,qDAAoD;AAEpD,MAAa,gBACX,SAAQ,0BAAmB;IAa3B,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAiB,6BAAc,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAwDO,gBAAgB,CAAC,eAAwB;QAC/C,MAAM,QAAQ,GAAG,cAAO,CAAC,QAAQ,CAC/B,IAAI,CAAC,eAAe,EACpB,eAAe,CAChB,CAAC,SAAS,CAAC;QAEZ,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;IACH,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QA/EjC,oBAAe,GAAG,GAAG,CAAC;QACtB,cAAS,GAAG,GAAG,CAAC;QAChB,qBAAgB,GAAG,EAAE,CAAC;QAEvB,oBAAe,GAAY,cAAO,CAAC,IAAI,EAAE,CAAC;QAC1C,qBAAgB,GAAW,CAAC,CAAC;QAC7B,aAAQ,GAAG,CAAC,CAAC;QAMrB,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAElC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC;gBACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAkB,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO;YAChC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;gBAEtD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACzD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC;QAgBA,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC;QAE3C,MAAM,UAAU,GAAG,kCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AA9FH,4CA+FC;AA3FiB,qBAAI,GAAG,kBAAkB,AAArB,CAAsB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { FocusOnPixelUC } from \"../UC/FocusOnPixel\";\n\nexport class DoubleTapToFocus\n extends AppObjectController\n implements TouchEventHandler\n{\n static readonly type = \"DoubleTapToFocus\";\n\n readonly focusDurationMS = 500;\n readonly tapTimeMS = 300;\n readonly maxTapDistancePx = 30;\n\n private initialTouchPos: Vector2 = Vector2.Zero();\n private initialTouchTime: number = 0;\n private tapCount = 0;\n\n private get focusOnPixelUC() {\n return this.getCachedLocalComponent<FocusOnPixelUC>(FocusOnPixelUC.type);\n }\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) {\n this.cancelDoubleTap();\n return;\n }\n\n if (e.touchCount !== 1) {\n this.cancelDoubleTap();\n return;\n }\n\n this.tapCount = this.tapCount + 1;\n\n if (this.tapCount === 1) {\n this.initialTouchPos = e.touchCenter;\n this.initialTouchTime = Date.now();\n } else if (this.tapCount === 2) {\n this.checkForMovement(e.touchCenter);\n }\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (this.tapCount !== 1) return;\n if (e.touchCount !== 1) {\n this.cancelDoubleTap();\n return;\n }\n\n this.checkForMovement(e.touchCenter);\n };\n\n onTouchEnd = () => {\n if (this.tapCount === 2) {\n const passedTime = Date.now() - this.initialTouchTime;\n\n if (passedTime > this.tapTimeMS) {\n this.cancelDoubleTap();\n return;\n }\n this.focusOnPixelUC?.centerOnPixel(this.initialTouchPos);\n this.tapCount = 0;\n this.initialTouchTime = 0;\n }\n };\n\n private cancelDoubleTap = () => {\n this.initialTouchTime = 0;\n this.tapCount = 0;\n };\n\n private checkForMovement(currentPixelPos: Vector2) {\n const movement = Vector2.Subtract(\n this.initialTouchPos,\n currentPixelPos\n ).magnitued;\n\n if (movement > this.maxTapDistancePx) {\n this.cancelDoubleTap();\n return;\n }\n }\n\n constructor(appObject: AppObject) {\n super(appObject, DoubleTapToFocus.type);\n const appObjects = appObject.appObjectRepo;\n\n const touchInput = TouchInputEntity.get(appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseClickToFocus.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseClickToFocus.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,iFAAgF;AAEhF,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,uBAAuB,CACjC,yDAA4B,CAAC,IAAI,CAClC,CAAC;IACJ,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAf3C,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AAnCH,8CAoCC;AAhCiB,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { CenterSceneRootOnPixelPickUC } from \"../UC/CenterSceneRootOnPixelPick\";\n\nexport class MouseClickToFocus\n extends AppObjectController\n implements MouseController\n{\n static readonly type = \"MouseClickToFocus\";\n\n private get centerOnPixelUI() {\n return this.getCachedLocalComponent<CenterSceneRootOnPixelPickUC>(\n CenterSceneRootOnPixelPickUC.type,\n );\n }\n\n allow = (e: MouseInputEvent): boolean => {\n if (e.button === 0) {\n return false;\n }\n\n return true;\n };\n\n onClick = (e: MouseInputEvent) => {\n if (this.allow(e)) {\n this.centerOnPixelUI?.centerOnPixel(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseClickToFocus.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MouseClickToFocus.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseClickToFocus.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,iFAAgF;AAEhF,MAAa,iBACX,SAAQ,0BAAmB;IAK3B,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,uBAAuB,CACjC,yDAA4B,CAAC,IAAI,CAClC,CAAC;IACJ,CAAC;IAgBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAf3C,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AAnCH,8CAoCC;AAhCiB,sBAAI,GAAG,mBAAmB,AAAtB,CAAuB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { CenterSceneRootOnPixelPickUC } from \"../UC/CenterSceneRootOnPixelPick\";\n\nexport class MouseClickToFocus\n extends AppObjectController\n implements MouseEventHandler\n{\n static readonly type = \"MouseClickToFocus\";\n\n private get centerOnPixelUI() {\n return this.getCachedLocalComponent<CenterSceneRootOnPixelPickUC>(\n CenterSceneRootOnPixelPickUC.type\n );\n }\n\n allow = (e: MouseInputEvent): boolean => {\n if (e.button === 0) {\n return false;\n }\n\n return true;\n };\n\n onClick = (e: MouseInputEvent) => {\n if (this.allow(e)) {\n this.centerOnPixelUI?.centerOnPixel(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseClickToFocus.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseDoubleClickToRecenter.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseDoubleClickToRecenter.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,qDAAoD;AAEpD,MAAa,0BACX,SAAQ,0BAAmB;IAM3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAiB,6BAAc,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAYD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAjB1C,oBAAe,GAAG,GAAG,CAAC;QAMhC,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,CAAkB,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AA9BH,gEA+BC;AA3BiB,+BAAI,GAAG,4BAA4B,AAA/B,CAAgC","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { FocusOnPixelUC } from \"../UC/FocusOnPixel\";\n\nexport class MouseDoubleClickToRecenter\n extends AppObjectController\n implements MouseController\n{\n static readonly type = \"MouseDoubleClickToRecenter\";\n protected focusDurationMS = 500;\n\n private get focusUC() {\n return this.getCachedLocalComponent<FocusOnPixelUC>(FocusOnPixelUC.type);\n }\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onDoubleClick = (e: MouseInputEvent) => {\n if (this.allow(e)) {\n this.focusUC?.centerOnPixel(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseDoubleClickToRecenter.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MouseDoubleClickToRecenter.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseDoubleClickToRecenter.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,qDAAoD;AAEpD,MAAa,0BACX,SAAQ,0BAAmB;IAM3B,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,uBAAuB,CAAiB,6BAAc,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAYD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAjB1C,oBAAe,GAAG,GAAG,CAAC;QAMhC,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,CAAkB,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AA9BH,gEA+BC;AA3BiB,+BAAI,GAAG,4BAA4B,AAA/B,CAAgC","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { FocusOnPixelUC } from \"../UC/FocusOnPixel\";\n\nexport class MouseDoubleClickToRecenter\n extends AppObjectController\n implements MouseEventHandler\n{\n static readonly type = \"MouseDoubleClickToRecenter\";\n protected focusDurationMS = 500;\n\n private get focusUC() {\n return this.getCachedLocalComponent<FocusOnPixelUC>(FocusOnPixelUC.type);\n }\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onDoubleClick = (e: MouseInputEvent) => {\n if (this.allow(e)) {\n this.focusUC?.centerOnPixel(e.position);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseDoubleClickToRecenter.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseOrbit.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseOrbit.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,uCAAwD;AACxD,yDAAwD;AAExD,MAAa,UAAW,SAAQ,0BAAmB;IAIjD,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,uBAAuB,CACjC,iCAAgB,CAAC,IAAI,CACtB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,sBAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IA0CD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QArD5B,eAAU,GAAG,KAAK,CAAC;QAY3B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAE7B,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,KAAK,iBAAS,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE7B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AA/DH,gCAgEC;AA/DiB,eAAI,GAAG,YAAY,AAAf,CAAgB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseController,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { ToolRepository, ToolState } from \"../../Tools\";\nimport { OrbitSceneRootUC } from \"../UC/OrbitSceneRoot\";\n\nexport class MouseOrbit extends AppObjectController implements MouseController {\n static readonly type = \"MouseOrbit\";\n private isOrbiting = false;\n\n private get orbitSceneRoot() {\n return this.getCachedLocalComponent<OrbitSceneRootUC>(\n OrbitSceneRootUC.type,\n );\n }\n\n private get toolRepo() {\n return this.getCachedSingleton<ToolRepository>(ToolRepository.type);\n }\n\n allow = (e: MouseInputEvent): boolean => {\n const orbitTool = this.toolRepo?.getTool(\"ORBIT\");\n if (!orbitTool) return false;\n\n const orbitToolIsActive = orbitTool.state === ToolState.ACTIVE;\n if (e.button === 0 && orbitToolIsActive) {\n return true;\n } else if (e.button === 2) {\n return true;\n }\n\n return false;\n };\n\n onDown = (e: MouseInputEvent) => {\n this.isOrbiting = false;\n if (!this.orbitSceneRoot) return;\n\n if (!this.allow(e)) return;\n\n const pixelPosition = e.position;\n this.orbitSceneRoot.initializeOrbit(pixelPosition);\n\n this.isOrbiting = true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.orbitSceneRoot) return;\n if (!this.isOrbiting) return;\n\n const currentPixelPos = e.position;\n this.orbitSceneRoot.doOrbit(currentPixelPos);\n };\n\n onUp = () => {\n if (!this.orbitSceneRoot) return;\n this.orbitSceneRoot.finishOrbit();\n this.isOrbiting = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseOrbit.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MouseOrbit.js","sourceRoot":"","sources":["../../../../src/SceneRoot/Controllers/MouseOrbit.ts"],"names":[],"mappings":";;;AAAA,sCAA6D;AAC7D,iDAI0B;AAC1B,uCAAwD;AACxD,yDAAwD;AAExD,MAAa,UACX,SAAQ,0BAAmB;IAM3B,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,uBAAuB,CACjC,iCAAgB,CAAC,IAAI,CACtB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAiB,sBAAc,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IA0CD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QArD5B,eAAU,GAAG,KAAK,CAAC;QAY3B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAE7B,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,KAAK,iBAAS,CAAC,MAAM,CAAC;YAC/D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YAEjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAE3B,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC;YACjC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE7B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,OAAO;YACjC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;QAKA,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;;AAlEH,gCAmEC;AA/DiB,eAAI,GAAG,YAAY,AAAf,CAAgB","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\nimport { ToolRepository, ToolState } from \"../../Tools\";\nimport { OrbitSceneRootUC } from \"../UC/OrbitSceneRoot\";\n\nexport class MouseOrbit\n extends AppObjectController\n implements MouseEventHandler\n{\n static readonly type = \"MouseOrbit\";\n private isOrbiting = false;\n\n private get orbitSceneRoot() {\n return this.getCachedLocalComponent<OrbitSceneRootUC>(\n OrbitSceneRootUC.type\n );\n }\n\n private get toolRepo() {\n return this.getCachedSingleton<ToolRepository>(ToolRepository.type);\n }\n\n allow = (e: MouseInputEvent): boolean => {\n const orbitTool = this.toolRepo?.getTool(\"ORBIT\");\n if (!orbitTool) return false;\n\n const orbitToolIsActive = orbitTool.state === ToolState.ACTIVE;\n if (e.button === 0 && orbitToolIsActive) {\n return true;\n } else if (e.button === 2) {\n return true;\n }\n\n return false;\n };\n\n onDown = (e: MouseInputEvent) => {\n this.isOrbiting = false;\n if (!this.orbitSceneRoot) return;\n\n if (!this.allow(e)) return;\n\n const pixelPosition = e.position;\n this.orbitSceneRoot.initializeOrbit(pixelPosition);\n\n this.isOrbiting = true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.orbitSceneRoot) return;\n if (!this.isOrbiting) return;\n\n const currentPixelPos = e.position;\n this.orbitSceneRoot.doOrbit(currentPixelPos);\n };\n\n onUp = () => {\n if (!this.orbitSceneRoot) return;\n this.orbitSceneRoot.finishOrbit();\n this.isOrbiting = false;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseOrbit.type);\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}