@ue-too/board 0.5.1 → 0.5.2

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 (270) hide show
  1. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js +475 -0
  2. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js.map +1 -0
  3. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js +340 -0
  4. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js.map +1 -0
  5. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/animation-and-lock.js +88 -0
  6. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/animation-and-lock.js.map +1 -0
  7. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js +5 -0
  8. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js.map +1 -0
  9. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.js +157 -0
  10. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.js.map +1 -0
  11. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.js +151 -0
  12. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.js.map +1 -0
  13. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.js +153 -0
  14. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.js.map +1 -0
  15. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js +4 -0
  16. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js.map +1 -0
  17. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js +2 -0
  18. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js.map +1 -0
  19. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js +38 -0
  20. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js.map +1 -0
  21. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js +454 -0
  22. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js.map +1 -0
  23. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js +6 -0
  24. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js.map +1 -0
  25. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js +124 -0
  26. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js.map +1 -0
  27. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js +71 -0
  28. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js.map +1 -0
  29. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js +4 -0
  30. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js.map +1 -0
  31. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js +97 -0
  32. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js.map +1 -0
  33. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js +91 -0
  34. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js.map +1 -0
  35. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js +128 -0
  36. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js.map +1 -0
  37. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js +76 -0
  38. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js.map +1 -0
  39. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js +258 -0
  40. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js.map +1 -0
  41. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js +9 -0
  42. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js.map +1 -0
  43. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js +2 -0
  44. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js.map +1 -0
  45. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js +74 -0
  46. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js.map +1 -0
  47. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js +150 -0
  48. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js.map +1 -0
  49. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js +6 -0
  50. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js.map +1 -0
  51. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js +421 -0
  52. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js.map +1 -0
  53. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js +177 -0
  54. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js.map +1 -0
  55. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js +122 -0
  56. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js.map +1 -0
  57. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js +46 -0
  58. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js.map +1 -0
  59. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js +6 -0
  60. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js.map +1 -0
  61. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js +4 -0
  62. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js.map +1 -0
  63. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js +5 -0
  64. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js.map +1 -0
  65. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js +191 -0
  66. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js.map +1 -0
  67. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-state-machine.js +342 -0
  68. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-state-machine.js.map +1 -0
  69. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js +62 -0
  70. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js.map +1 -0
  71. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-state-machine.js +173 -0
  72. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-state-machine.js.map +1 -0
  73. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js +3 -0
  74. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js.map +1 -0
  75. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.js +123 -0
  76. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.js.map +1 -0
  77. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.js +118 -0
  78. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.js.map +1 -0
  79. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js +2 -0
  80. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js.map +1 -0
  81. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js +99 -0
  82. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js.map +1 -0
  83. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js +184 -0
  84. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js.map +1 -0
  85. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js +10 -0
  86. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js.map +1 -0
  87. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js +450 -0
  88. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js.map +1 -0
  89. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js +192 -0
  90. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js.map +1 -0
  91. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js +27 -0
  92. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js.map +1 -0
  93. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js +9 -0
  94. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js.map +1 -0
  95. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js +47 -0
  96. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js.map +1 -0
  97. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js +21 -0
  98. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js.map +1 -0
  99. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js +102 -0
  100. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js.map +1 -0
  101. package/dist/board.tsbuildinfo +1 -0
  102. package/dist/boardify/index.d.ts +192 -0
  103. package/dist/camera/base.d.ts +189 -0
  104. package/dist/camera/camera-mux/animation-and-lock/animation-and-lock.d.ts +50 -0
  105. package/dist/camera/camera-mux/animation-and-lock/index.d.ts +4 -0
  106. package/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +137 -0
  107. package/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +131 -0
  108. package/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +143 -0
  109. package/dist/camera/camera-mux/index.d.ts +3 -0
  110. package/dist/camera/camera-mux/interface.d.ts +12 -0
  111. package/dist/camera/camera-mux/relay.d.ts +27 -0
  112. package/dist/camera/camera-rig/camera-rig.d.ts +207 -0
  113. package/dist/camera/camera-rig/index.d.ts +5 -0
  114. package/dist/camera/camera-rig/pan-handler.d.ts +113 -0
  115. package/dist/camera/camera-rig/rotation-handler.d.ts +78 -0
  116. package/dist/camera/camera-rig/update-batcher/index.d.ts +3 -0
  117. package/dist/camera/camera-rig/update-batcher/position-update-batcher.d.ts +58 -0
  118. package/dist/camera/camera-rig/update-batcher/rotation-update-batcher.d.ts +54 -0
  119. package/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +60 -0
  120. package/dist/camera/camera-rig/zoom-handler.d.ts +77 -0
  121. package/dist/camera/default-camera.d.ts +170 -0
  122. package/dist/camera/index.d.ts +8 -0
  123. package/dist/camera/interface.d.ts +59 -0
  124. package/dist/camera/update-publisher.d.ts +172 -0
  125. package/dist/camera/utils/coordinate-conversion.d.ts +75 -0
  126. package/dist/camera/utils/index.d.ts +5 -0
  127. package/dist/camera/utils/matrix.d.ts +114 -0
  128. package/dist/camera/utils/position.d.ts +71 -0
  129. package/dist/camera/utils/rotation.d.ts +64 -0
  130. package/dist/camera/utils/zoom.d.ts +25 -0
  131. package/dist/index.d.ts +5 -0
  132. package/dist/input-interpretation/index.d.ts +3 -0
  133. package/dist/input-interpretation/input-state-machine/index.d.ts +4 -0
  134. package/dist/input-interpretation/input-state-machine/kmt-input-context.d.ts +130 -0
  135. package/dist/input-interpretation/input-state-machine/kmt-input-state-machine.d.ts +194 -0
  136. package/dist/input-interpretation/input-state-machine/touch-input-context.d.ts +44 -0
  137. package/dist/input-interpretation/input-state-machine/touch-input-state-machine.d.ts +64 -0
  138. package/dist/input-interpretation/raw-input-parser/index.d.ts +2 -0
  139. package/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.d.ts +87 -0
  140. package/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.d.ts +55 -0
  141. package/dist/input-interpretation/raw-input-publisher/index.d.ts +1 -0
  142. package/dist/input-interpretation/raw-input-publisher/raw-input-publisher.d.ts +130 -0
  143. package/dist/package.json +39 -0
  144. package/dist/utils/canvas-position-dimension.d.ts +18 -0
  145. package/dist/utils/coorindate-conversion.d.ts +5 -0
  146. package/dist/utils/drawing-utils.d.ts +55 -0
  147. package/dist/utils/drawing.d.ts +30 -0
  148. package/dist/utils/handler-pipeline.d.ts +30 -0
  149. package/dist/utils/index.d.ts +8 -0
  150. package/dist/utils/observable.d.ts +9 -0
  151. package/dist/utils/ruler.d.ts +1 -0
  152. package/dist/utils/zoomlevel-adjustment.d.ts +28 -0
  153. package/jest.config.js +18 -0
  154. package/package.json +11 -10
  155. package/project.json +34 -0
  156. package/rollup.config.js +29 -0
  157. package/src/boardify/index.ts +562 -0
  158. package/src/camera/base.ts +387 -0
  159. package/src/camera/camera-mux/animation-and-lock/animation-and-lock.ts +114 -0
  160. package/src/camera/camera-mux/animation-and-lock/index.ts +4 -0
  161. package/src/camera/camera-mux/animation-and-lock/pan-control-state-machine.ts +248 -0
  162. package/src/camera/camera-mux/animation-and-lock/rotation-control-state-machine.ts +237 -0
  163. package/src/camera/camera-mux/animation-and-lock/zoom-control-state-machine.ts +263 -0
  164. package/src/camera/camera-mux/index.ts +3 -0
  165. package/src/camera/camera-mux/interface.ts +13 -0
  166. package/src/camera/camera-mux/relay.ts +50 -0
  167. package/src/camera/camera-rig/camera-rig.ts +560 -0
  168. package/src/camera/camera-rig/index.ts +5 -0
  169. package/src/camera/camera-rig/pan-handler.ts +192 -0
  170. package/src/camera/camera-rig/rotation-handler.ts +124 -0
  171. package/src/camera/camera-rig/update-batcher/index.ts +3 -0
  172. package/src/camera/camera-rig/update-batcher/position-update-batcher.ts +133 -0
  173. package/src/camera/camera-rig/update-batcher/rotation-update-batcher.ts +123 -0
  174. package/src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts +157 -0
  175. package/src/camera/camera-rig/zoom-handler.ts +123 -0
  176. package/src/camera/default-camera.ts +297 -0
  177. package/src/camera/index.ts +8 -0
  178. package/src/camera/interface.ts +45 -0
  179. package/src/camera/update-publisher.ts +222 -0
  180. package/src/camera/utils/coordinate-conversion.ts +160 -0
  181. package/src/camera/utils/index.ts +5 -0
  182. package/src/camera/utils/matrix.ts +558 -0
  183. package/src/camera/utils/position.ts +196 -0
  184. package/src/camera/utils/rotation.ts +147 -0
  185. package/src/camera/utils/zoom.ts +55 -0
  186. package/src/index.ts +5 -0
  187. package/src/input-interpretation/index.ts +3 -0
  188. package/src/input-interpretation/input-state-machine/index.ts +4 -0
  189. package/src/input-interpretation/input-state-machine/kmt-input-context.ts +283 -0
  190. package/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts +491 -0
  191. package/src/input-interpretation/input-state-machine/touch-input-context.ts +106 -0
  192. package/src/input-interpretation/input-state-machine/touch-input-state-machine.ts +215 -0
  193. package/src/input-interpretation/raw-input-parser/index.ts +2 -0
  194. package/src/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.ts +207 -0
  195. package/src/input-interpretation/raw-input-parser/vanilla-touch-event-parser.ts +169 -0
  196. package/src/input-interpretation/raw-input-publisher/index.ts +1 -0
  197. package/src/input-interpretation/raw-input-publisher/raw-input-publisher.ts +227 -0
  198. package/src/utils/canvas-position-dimension.ts +215 -0
  199. package/src/utils/coorindate-conversion.ts +12 -0
  200. package/src/utils/drawing-utils.ts +439 -0
  201. package/src/utils/drawing.ts +266 -0
  202. package/src/utils/handler-pipeline.ts +41 -0
  203. package/src/utils/index.ts +8 -0
  204. package/src/utils/observable.ts +63 -0
  205. package/src/utils/ruler.ts +18 -0
  206. package/src/utils/zoomlevel-adjustment.ts +108 -0
  207. package/test/board-camera/camera-rig.test.ts +78 -0
  208. package/test/board-camera/camera-utils.test.ts +263 -0
  209. package/test/board-camera/utils/coordinate-conversion.test.ts +26 -0
  210. package/test/board-camera/utils/matrix.test.ts +35 -0
  211. package/test/boardify/utils/canvas.test.ts +20 -0
  212. package/test/util/drawing.test.ts +83 -0
  213. package/test/util/handler-pipeline.test.ts +74 -0
  214. package/test/util/observable.test.ts +42 -0
  215. package/test/util/ruler.test.ts +41 -0
  216. package/tsconfig.json +23 -0
  217. package/tsconfig.spec.json +12 -0
  218. /package/{board.tsbuildinfo → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/board.tsbuildinfo} +0 -0
  219. /package/{boardify → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify}/index.d.ts +0 -0
  220. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/base.d.ts +0 -0
  221. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/animation-and-lock/animation-and-lock.d.ts +0 -0
  222. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/animation-and-lock/index.d.ts +0 -0
  223. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +0 -0
  224. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +0 -0
  225. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +0 -0
  226. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/index.d.ts +0 -0
  227. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/interface.d.ts +0 -0
  228. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-mux/relay.d.ts +0 -0
  229. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/camera-rig.d.ts +0 -0
  230. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/index.d.ts +0 -0
  231. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/pan-handler.d.ts +0 -0
  232. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/rotation-handler.d.ts +0 -0
  233. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/update-batcher/index.d.ts +0 -0
  234. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/update-batcher/position-update-batcher.d.ts +0 -0
  235. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/update-batcher/rotation-update-batcher.d.ts +0 -0
  236. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +0 -0
  237. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/camera-rig/zoom-handler.d.ts +0 -0
  238. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/default-camera.d.ts +0 -0
  239. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/index.d.ts +0 -0
  240. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/interface.d.ts +0 -0
  241. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/update-publisher.d.ts +0 -0
  242. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/coordinate-conversion.d.ts +0 -0
  243. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/index.d.ts +0 -0
  244. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/matrix.d.ts +0 -0
  245. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/position.d.ts +0 -0
  246. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/rotation.d.ts +0 -0
  247. /package/{camera → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera}/utils/zoom.d.ts +0 -0
  248. /package/{index.d.ts → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.d.ts} +0 -0
  249. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/index.d.ts +0 -0
  250. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/input-state-machine/index.d.ts +0 -0
  251. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/input-state-machine/kmt-input-context.d.ts +0 -0
  252. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/input-state-machine/kmt-input-state-machine.d.ts +0 -0
  253. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/input-state-machine/touch-input-context.d.ts +0 -0
  254. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/input-state-machine/touch-input-state-machine.d.ts +0 -0
  255. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/raw-input-parser/index.d.ts +0 -0
  256. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/raw-input-parser/vanilla-kmt-event-parser.d.ts +0 -0
  257. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/raw-input-parser/vanilla-touch-event-parser.d.ts +0 -0
  258. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/raw-input-publisher/index.d.ts +0 -0
  259. /package/{input-interpretation → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation}/raw-input-publisher/raw-input-publisher.d.ts +0 -0
  260. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/canvas-position-dimension.d.ts +0 -0
  261. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/coorindate-conversion.d.ts +0 -0
  262. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/drawing-utils.d.ts +0 -0
  263. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/drawing.d.ts +0 -0
  264. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/handler-pipeline.d.ts +0 -0
  265. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/index.d.ts +0 -0
  266. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/observable.d.ts +0 -0
  267. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/ruler.d.ts +0 -0
  268. /package/{utils → .rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils}/zoomlevel-adjustment.d.ts +0 -0
  269. /package/{index.js → dist/index.js} +0 -0
  270. /package/{index.js.map → dist/index.js.map} +0 -0
@@ -0,0 +1,71 @@
1
+ import { createHandlerChain } from "../../utils/handler-pipeline";
2
+ import { normalizeAngleZero2TwoPI, angleSpan, clampRotation } from "../utils/rotation";
3
+ /**
4
+ * @description This is the clamp handler for the "rotate by" handler pipeline.
5
+ * It clamps the delta to the range of the camera's rotation boundaries.
6
+ *
7
+ * @category Camera
8
+ */
9
+ export function clampRotateByHandler(delta, camera, config) {
10
+ if (!config.clampRotation) {
11
+ return delta;
12
+ }
13
+ const targetRotation = normalizeAngleZero2TwoPI(camera.rotation + delta);
14
+ const clampedRotation = clampRotation(targetRotation, camera.rotationBoundaries);
15
+ const diff = angleSpan(camera.rotation, clampedRotation);
16
+ return diff;
17
+ }
18
+ /**
19
+ * @description This is the restrict handler for the "rotate by" handler pipeline.
20
+ * It restricts the delta to the range of the camera's rotation boundaries.
21
+ *
22
+ * @category Camera
23
+ */
24
+ export function restrictRotateByHandler(delta, camera, config) {
25
+ if (config.restrictRotation) {
26
+ return 0;
27
+ }
28
+ return delta;
29
+ }
30
+ /**
31
+ * @description This is the clamp handler for the "rotate to" handler pipeline.
32
+ * It clamps the target rotation to the range of the camera's rotation boundaries.
33
+ *
34
+ * @category Camera
35
+ */
36
+ export function clampRotateToHandler(targetRotation, camera, config) {
37
+ if (!config.clampRotation) {
38
+ return targetRotation;
39
+ }
40
+ const clampedRotation = clampRotation(targetRotation, camera.rotationBoundaries);
41
+ return clampedRotation;
42
+ }
43
+ /**
44
+ * @description This is the restrict handler for the "rotate to" handler pipeline.
45
+ * It restricts the target rotation to the range of the camera's rotation boundaries.
46
+ *
47
+ * @category Camera
48
+ */
49
+ export function restrictRotateToHandler(targetRotation, camera, config) {
50
+ if (config.restrictRotation) {
51
+ return camera.rotation;
52
+ }
53
+ return targetRotation;
54
+ }
55
+ /**
56
+ * @description This is the create default handler chain function for the "rotate by" handler pipeline.
57
+ *
58
+ * @category Camera
59
+ */
60
+ export function createDefaultRotateByHandler() {
61
+ return createHandlerChain(restrictRotateByHandler, clampRotateByHandler);
62
+ }
63
+ /**
64
+ * @description This is the create default handler chain function for the "rotate to" handler pipeline.
65
+ *
66
+ * @category Camera
67
+ */
68
+ export function createDefaultRotateToHandler() {
69
+ return createHandlerChain(restrictRotateToHandler, clampRotateToHandler);
70
+ }
71
+ //# sourceMappingURL=rotation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotation-handler.js","sourceRoot":"","sources":["../../../src/camera/camera-rig/rotation-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA2CvF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,MAAmB,EAAE,MAAkC;IACvG,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa,EAAE,MAAmB,EAAE,MAAqC;IAC7G,IAAG,MAAM,CAAC,gBAAgB,EAAC,CAAC;QACxB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,cAAsB,EAAE,MAAmB,EAAE,MAAkC;IAChH,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;QACtB,OAAO,cAAc,CAAC;IAC1B,CAAC;IACD,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjF,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,cAAsB,EAAE,MAAmB,EAAE,MAAqC;IACtH,IAAG,MAAM,CAAC,gBAAgB,EAAC,CAAC;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC3B,CAAC;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IACxC,OAAO,kBAAkB,CACrB,uBAAuB,EACvB,oBAAoB,CACvB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IACxC,OAAO,kBAAkB,CACrB,uBAAuB,EACvB,oBAAoB,CACvB,CAAC;AACN,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./position-update-batcher";
2
+ export * from "./rotation-update-batcher";
3
+ export * from "./zoom-udpate-batcher";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/camera/camera-rig/update-batcher/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,97 @@
1
+ import { Observable } from "../../../utils/observable";
2
+ export class CameraPositionUpdateBatcher {
3
+ constructor() {
4
+ this.nextPosition = null;
5
+ this.delta = { x: 0, y: 0 };
6
+ // Debug counters
7
+ this.queuePositionUpdateCount = 0;
8
+ this.queuePositionUpdateToCount = 0;
9
+ this.queuePositionUpdateByCount = 0;
10
+ this.lastUpdateCount = 0;
11
+ this.observable = new Observable();
12
+ }
13
+ /**
14
+ * Queue an absolute position update to be processed in the next animation frame
15
+ */
16
+ queuePositionUpdate(x, y) {
17
+ this.queuePositionUpdateCount++;
18
+ this.queuePositionUpdateTo({ x, y });
19
+ }
20
+ /**
21
+ * Queue a position update to a specific destination to be processed in the next animation frame
22
+ * This will override any pending delta updates
23
+ */
24
+ queuePositionUpdateTo(destination) {
25
+ this.queuePositionUpdateToCount++;
26
+ this.nextPosition = { ...destination };
27
+ this.delta = { x: 0, y: 0 }; // Reset any pending deltas
28
+ }
29
+ /**
30
+ * Queue a position update by delta to be processed in the next animation frame
31
+ * This will be ignored if there's a pending destination update
32
+ */
33
+ queuePositionUpdateBy(delta) {
34
+ this.queuePositionUpdateByCount++;
35
+ // If we have a pending destination update, add the delta to it
36
+ if (this.nextPosition !== null) {
37
+ this.nextPosition = {
38
+ x: this.nextPosition.x + delta.x,
39
+ y: this.nextPosition.y + delta.y
40
+ };
41
+ return;
42
+ }
43
+ this.delta = {
44
+ x: this.delta.x + delta.x,
45
+ y: this.delta.y + delta.y
46
+ };
47
+ }
48
+ /**
49
+ * Process and clear all queued position updates
50
+ * @returns the update to apply to the position, with type information
51
+ */
52
+ processQueuedUpdates() {
53
+ this.lastUpdateCount = this.queuePositionUpdateCount + this.queuePositionUpdateToCount + this.queuePositionUpdateByCount;
54
+ // Reset counters after update
55
+ this.queuePositionUpdateCount = 0;
56
+ this.queuePositionUpdateToCount = 0;
57
+ this.queuePositionUpdateByCount = 0;
58
+ if (this.nextPosition !== null) {
59
+ const update = {
60
+ ...this.nextPosition,
61
+ type: 'destination'
62
+ };
63
+ this.nextPosition = null;
64
+ this.delta = { x: 0, y: 0 };
65
+ this.observable.notify(update);
66
+ return update;
67
+ }
68
+ else if (this.delta.x !== 0 || this.delta.y !== 0) {
69
+ const update = {
70
+ ...this.delta,
71
+ type: 'delta'
72
+ };
73
+ this.delta = { x: 0, y: 0 };
74
+ this.observable.notify(update);
75
+ return update;
76
+ }
77
+ return null;
78
+ }
79
+ /**
80
+ * Subscribe to position updates
81
+ */
82
+ subscribe(observer, options) {
83
+ return this.observable.subscribe(observer, options);
84
+ }
85
+ /**
86
+ * Get debug information about queue method calls since last update
87
+ */
88
+ getDebugInfo() {
89
+ return {
90
+ lastUpdateTotalCalls: this.lastUpdateCount,
91
+ queuePositionUpdateCalls: this.queuePositionUpdateCount,
92
+ queuePositionUpdateToCalls: this.queuePositionUpdateToCount,
93
+ queuePositionUpdateByCalls: this.queuePositionUpdateByCount
94
+ };
95
+ }
96
+ }
97
+ //# sourceMappingURL=position-update-batcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position-update-batcher.js","sourceRoot":"","sources":["../../../../src/camera/camera-rig/update-batcher/position-update-batcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { Observable } from "../../../utils/observable";
2
+ export class CameraRotationUpdateBatcher {
3
+ constructor() {
4
+ this.nextRotation = null;
5
+ this.delta = 0;
6
+ // Debug counters
7
+ this.queueRotationUpdateCount = 0;
8
+ this.queueRotationUpdateToCount = 0;
9
+ this.queueRotationUpdateByCount = 0;
10
+ this.lastUpdateCount = 0;
11
+ this.observable = new Observable();
12
+ }
13
+ /**
14
+ * Queue an absolute rotation update to be processed in the next animation frame
15
+ */
16
+ queueRotationUpdate(rotation) {
17
+ this.queueRotationUpdateCount++;
18
+ this.queueRotationUpdateTo(rotation);
19
+ }
20
+ /**
21
+ * Queue a rotation update to a specific destination to be processed in the next animation frame
22
+ * This will override any pending delta updates
23
+ */
24
+ queueRotationUpdateTo(destination) {
25
+ this.queueRotationUpdateToCount++;
26
+ this.nextRotation = destination;
27
+ this.delta = 0; // Reset any pending deltas
28
+ }
29
+ /**
30
+ * Queue a rotation update by delta to be processed in the next animation frame
31
+ * This will be ignored if there's a pending destination update
32
+ */
33
+ queueRotationUpdateBy(delta) {
34
+ this.queueRotationUpdateByCount++;
35
+ // If we have a pending destination update, add the delta to it
36
+ if (this.nextRotation !== null) {
37
+ this.nextRotation = this.nextRotation + delta;
38
+ return;
39
+ }
40
+ this.delta = this.delta + delta;
41
+ }
42
+ /**
43
+ * Process and clear all queued rotation updates
44
+ * @returns the update to apply to the rotation, with type information
45
+ */
46
+ processQueuedUpdates() {
47
+ this.lastUpdateCount = this.queueRotationUpdateCount + this.queueRotationUpdateToCount + this.queueRotationUpdateByCount;
48
+ // Reset counters after update
49
+ this.queueRotationUpdateCount = 0;
50
+ this.queueRotationUpdateToCount = 0;
51
+ this.queueRotationUpdateByCount = 0;
52
+ if (this.nextRotation !== null) {
53
+ const update = {
54
+ destination: this.nextRotation,
55
+ type: 'destination'
56
+ };
57
+ this.nextRotation = null;
58
+ this.delta = 0;
59
+ this.observable.notify(update);
60
+ return update;
61
+ }
62
+ else if (this.delta !== 0) {
63
+ const update = {
64
+ delta: this.delta,
65
+ type: 'delta'
66
+ };
67
+ this.delta = 0;
68
+ this.observable.notify(update);
69
+ return update;
70
+ }
71
+ return null;
72
+ }
73
+ /**
74
+ * Subscribe to rotation updates
75
+ */
76
+ subscribe(observer, options) {
77
+ return this.observable.subscribe(observer, options);
78
+ }
79
+ /**
80
+ * Get debug information about queue method calls since last update
81
+ */
82
+ getDebugInfo() {
83
+ return {
84
+ lastUpdateTotalCalls: this.lastUpdateCount,
85
+ queueRotationUpdateCalls: this.queueRotationUpdateCount,
86
+ queueRotationUpdateToCalls: this.queueRotationUpdateToCount,
87
+ queueRotationUpdateByCalls: this.queueRotationUpdateByCount
88
+ };
89
+ }
90
+ }
91
+ //# sourceMappingURL=rotation-update-batcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotation-update-batcher.js","sourceRoot":"","sources":["../../../../src/camera/camera-rig/update-batcher/rotation-update-batcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiC,MAAM,2BAA2B,CAAC;AAkBtF,MAAM,OAAO,2BAA2B;IAUpC;QATQ,iBAAY,GAAoB,IAAI,CAAC;QACrC,UAAK,GAAa,CAAC,CAAC;QAE5B,iBAAiB;QACT,6BAAwB,GAAW,CAAC,CAAC;QACrC,+BAA0B,GAAW,CAAC,CAAC;QACvC,+BAA0B,GAAW,CAAC,CAAC;QACvC,oBAAe,GAAW,CAAC,CAAC;QAGhC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAoB,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,QAAkB;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,WAAqB;QAC9C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,2BAA2B;IAC/C,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,KAAe;QACxC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,+DAA+D;QAC/D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,oBAAoB;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,CAAC;QACzH,8BAA8B;QAC9B,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,GAA8B;gBACtC,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,IAAI,EAAE,aAAa;aACtB,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAwB;gBAChC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,OAAO;aAChB,CAAC;YACF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,QAAoC,EAAE,OAA6B;QAChF,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,YAAY;QAMf,OAAO;YACH,oBAAoB,EAAE,IAAI,CAAC,eAAe;YAC1C,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;YAC3D,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;SAC9D,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,128 @@
1
+ import { Observable } from "../../../utils/observable";
2
+ export class CameraZoomUpdateBatcher {
3
+ constructor() {
4
+ this.nextZoom = null;
5
+ this.anchor = null;
6
+ this.delta = 0;
7
+ this.anchorCoordinateSystem = 'viewport';
8
+ // Debug counters
9
+ this.queueZoomUpdateCount = 0;
10
+ this.queueZoomUpdateToCount = 0;
11
+ this.lastUpdateCount = 0;
12
+ this.observable = new Observable();
13
+ }
14
+ /**
15
+ * Queue a zoom update to a specific destination to be processed in the next animation frame
16
+ */
17
+ queueZoomUpdateTo(destination, anchor) {
18
+ if (this.anchorCoordinateSystem === 'world') {
19
+ this.anchorCoordinateSystem = 'viewport';
20
+ this.nextZoom = null;
21
+ this.delta = 0;
22
+ }
23
+ this.anchor = anchor;
24
+ this.nextZoom = destination;
25
+ if (this.delta !== 0) {
26
+ this.delta = 0;
27
+ }
28
+ }
29
+ /**
30
+ * Queue a zoom update by delta to be processed in the next animation frame
31
+ */
32
+ queueZoomUpdateBy(delta, anchor) {
33
+ if (this.anchorCoordinateSystem === 'world') {
34
+ this.anchorCoordinateSystem = 'viewport';
35
+ this.nextZoom = null;
36
+ this.delta = 0;
37
+ }
38
+ if (this.nextZoom === null) {
39
+ this.delta += delta;
40
+ }
41
+ else {
42
+ this.nextZoom += delta;
43
+ }
44
+ this.anchor = anchor;
45
+ }
46
+ /**
47
+ * Queue a zoom update by delta at a world anchor to be processed in the next animation frame
48
+ */
49
+ queueZoomByAtWorld(delta, worldAnchor) {
50
+ if (this.anchorCoordinateSystem === 'viewport') {
51
+ this.anchorCoordinateSystem = 'world';
52
+ this.nextZoom = null;
53
+ this.delta = 0;
54
+ }
55
+ this.anchor = worldAnchor;
56
+ if (this.nextZoom === null) {
57
+ this.delta += delta;
58
+ }
59
+ else {
60
+ this.nextZoom += delta;
61
+ }
62
+ }
63
+ /**
64
+ * Queue a zoom update to a specific destination at a world anchor to be processed in the next animation frame
65
+ */
66
+ queueZoomToAtWorld(destination, worldAnchor) {
67
+ if (this.anchorCoordinateSystem === 'viewport') {
68
+ this.anchorCoordinateSystem = 'world';
69
+ this.nextZoom = null;
70
+ this.delta = 0;
71
+ }
72
+ this.anchor = worldAnchor;
73
+ this.nextZoom = destination;
74
+ if (this.delta !== 0) {
75
+ this.delta = 0;
76
+ }
77
+ }
78
+ /**
79
+ * Process and clear all queued zoom updates
80
+ * @returns the update to apply to the zoom level, with type information
81
+ */
82
+ processQueuedUpdates() {
83
+ if (this.nextZoom === null && this.delta === 0) {
84
+ return null;
85
+ }
86
+ const delta = this.delta;
87
+ const nextZoom = this.nextZoom;
88
+ const anchor = this.anchor;
89
+ this.delta = 0;
90
+ this.nextZoom = null;
91
+ this.anchor = null;
92
+ if (delta !== 0) {
93
+ return {
94
+ anchorCoordinateSystem: this.anchorCoordinateSystem,
95
+ update: {
96
+ type: 'delta',
97
+ delta: delta,
98
+ anchor: anchor,
99
+ }
100
+ };
101
+ }
102
+ return {
103
+ anchorCoordinateSystem: this.anchorCoordinateSystem,
104
+ update: {
105
+ type: 'destination',
106
+ destination: nextZoom,
107
+ anchor: anchor
108
+ }
109
+ };
110
+ }
111
+ /**
112
+ * Subscribe to zoom updates
113
+ */
114
+ subscribe(observer, options) {
115
+ return this.observable.subscribe(observer, options);
116
+ }
117
+ /**
118
+ * Get debug information about queue method calls since last update
119
+ */
120
+ getDebugInfo() {
121
+ return {
122
+ lastUpdateTotalCalls: this.lastUpdateCount,
123
+ queueZoomUpdateCalls: this.queueZoomUpdateCount,
124
+ queueZoomUpdateToCalls: this.queueZoomUpdateToCount
125
+ };
126
+ }
127
+ }
128
+ //# sourceMappingURL=zoom-udpate-batcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-udpate-batcher.js","sourceRoot":"","sources":["../../../../src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { createHandlerChain } from "../../utils/handler-pipeline";
2
+ import { clampZoomLevel } from "../utils/zoom";
3
+ /**
4
+ * @description The function that is part of the zoom to handler pipeline.
5
+ * Clamps the zoom level to the zoom boundaries.
6
+ *
7
+ * @see {@link createHandlerChain}
8
+ * @category Camera
9
+ */
10
+ export function clampZoomToHandler(destination, camera, config) {
11
+ if (!config.clampZoom) {
12
+ return destination;
13
+ }
14
+ return clampZoomLevel(destination, camera.zoomBoundaries);
15
+ }
16
+ /**
17
+ * @description The function that is part of the zoom by handler pipeline.
18
+ * Clamps the zoom level to the zoom boundaries.
19
+ *
20
+ * @see {@link createHandlerChain}
21
+ * @category Camera
22
+ */
23
+ export function clampZoomByHandler(delta, camera, config) {
24
+ if (!config.clampZoom) {
25
+ return delta;
26
+ }
27
+ let targetZoom = camera.zoomLevel + delta;
28
+ targetZoom = clampZoomLevel(targetZoom, camera.zoomBoundaries);
29
+ delta = targetZoom - camera.zoomLevel;
30
+ return delta;
31
+ }
32
+ /**
33
+ * @description The function that is part of the zoom to handler pipeline.
34
+ * Restricts the zoom level to the zoom boundaries.
35
+ *
36
+ * @see {@link createHandlerChain}
37
+ * @category Camera
38
+ */
39
+ export function restrictZoomToHandler(destination, camera, config) {
40
+ if (config.restrictZoom) {
41
+ return camera.zoomLevel;
42
+ }
43
+ return destination;
44
+ }
45
+ /**
46
+ * @description The function that is part of the zoom by handler pipeline.
47
+ * Restricts the zoom level to the zoom boundaries.
48
+ *
49
+ * @see {@link createHandlerChain}
50
+ * @category Camera
51
+ */
52
+ export function restrictZoomByHandler(delta, camera, config) {
53
+ if (config.restrictZoom) {
54
+ return 0;
55
+ }
56
+ return delta;
57
+ }
58
+ /**
59
+ * @description The function that creates the default zoom to only handler.
60
+ * clamp -> restrict -> base
61
+ * @see {@link createHandlerChain}
62
+ * @category Camera
63
+ */
64
+ export function createDefaultZoomToOnlyHandler() {
65
+ return createHandlerChain(clampZoomToHandler, restrictZoomToHandler);
66
+ }
67
+ /**
68
+ * @description The function that creates the default zoom by only handler.
69
+ * clamp -> restrict -> base
70
+ * @see {@link createHandlerChain}
71
+ * @category Camera
72
+ */
73
+ export function createDefaultZoomByOnlyHandler() {
74
+ return createHandlerChain(clampZoomByHandler, restrictZoomByHandler);
75
+ }
76
+ //# sourceMappingURL=zoom-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zoom-handler.js","sourceRoot":"","sources":["../../../src/camera/camera-rig/zoom-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAqC/C;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAmB,EAAE,MAA8B;IACvG,IAAG,CAAC,MAAM,CAAC,SAAS,EAAC,CAAC;QAClB,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,MAAmB,EAAE,MAA8B;IACjG,IAAG,CAAC,MAAM,CAAC,SAAS,EAAC,CAAC;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAC1C,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/D,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;IACtC,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,MAAmB,EAAE,MAAiC;IAC7G,IAAG,MAAM,CAAC,YAAY,EAAC,CAAC;QACpB,OAAO,MAAM,CAAC,SAAS,CAAC;IAC5B,CAAC;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,MAAmB,EAAE,MAAiC;IACvG,IAAG,MAAM,CAAC,YAAY,EAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B;IAC1C,OAAO,kBAAkB,CACrB,kBAAkB,EAClB,qBAAqB,CACxB,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B;IAC1C,OAAO,kBAAkB,CACrB,kBAAkB,EAClB,qBAAqB,CACxB,CAAC;AACN,CAAC"}