@ue-too/board 0.5.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/README.md +188 -0
  2. package/board.tsbuildinfo +1 -0
  3. package/{dist/boardify → boardify}/index.d.ts +26 -44
  4. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/base.d.ts +1 -1
  5. package/camera/camera-edge-auto-input.d.ts +13 -0
  6. package/{dist/camera → camera}/camera-rig/camera-rig.d.ts +1 -0
  7. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/pan-handler.d.ts +1 -0
  8. package/{dist/camera → camera}/default-camera.d.ts +3 -3
  9. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/index.d.ts +1 -0
  10. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/position.d.ts +2 -2
  11. package/index.js +2 -0
  12. package/index.js.map +1 -0
  13. package/{dist/input-interpretation → input-interpretation}/input-state-machine/kmt-input-context.d.ts +77 -11
  14. package/{dist/input-interpretation → input-interpretation}/input-state-machine/kmt-input-state-machine.d.ts +26 -16
  15. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/input-state-machine/touch-input-context.d.ts +4 -4
  16. package/{dist/input-interpretation → input-interpretation}/raw-input-parser/vanilla-kmt-event-parser.d.ts +3 -2
  17. package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/raw-input-parser/vanilla-touch-event-parser.d.ts +2 -7
  18. package/package.json +10 -11
  19. package/{dist/utils → utils}/canvas-position-dimension.d.ts +7 -5
  20. package/utils/observable.d.ts +18 -0
  21. package/{dist/utils → utils}/zoomlevel-adjustment.d.ts +1 -1
  22. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/board.tsbuildinfo +0 -1
  23. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.d.ts +0 -192
  24. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js +0 -475
  25. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js.map +0 -1
  26. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js +0 -340
  27. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js.map +0 -1
  28. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/animation-and-lock.js +0 -88
  29. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/animation-and-lock.js.map +0 -1
  30. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js +0 -5
  31. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js.map +0 -1
  32. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.js +0 -157
  33. 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 +0 -1
  34. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.js +0 -151
  35. 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 +0 -1
  36. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.js +0 -153
  37. 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 +0 -1
  38. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js +0 -4
  39. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js.map +0 -1
  40. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js +0 -2
  41. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js.map +0 -1
  42. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js +0 -38
  43. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js.map +0 -1
  44. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.d.ts +0 -207
  45. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js +0 -454
  46. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js.map +0 -1
  47. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js +0 -6
  48. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js.map +0 -1
  49. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js +0 -124
  50. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js.map +0 -1
  51. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js +0 -71
  52. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js.map +0 -1
  53. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js +0 -4
  54. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js.map +0 -1
  55. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js +0 -97
  56. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js.map +0 -1
  57. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js +0 -91
  58. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js.map +0 -1
  59. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js +0 -128
  60. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js.map +0 -1
  61. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js +0 -76
  62. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js.map +0 -1
  63. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.d.ts +0 -170
  64. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js +0 -258
  65. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js.map +0 -1
  66. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js +0 -9
  67. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js.map +0 -1
  68. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js +0 -2
  69. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js.map +0 -1
  70. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js +0 -74
  71. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js.map +0 -1
  72. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js +0 -150
  73. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js.map +0 -1
  74. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js +0 -6
  75. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js.map +0 -1
  76. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js +0 -421
  77. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js.map +0 -1
  78. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js +0 -177
  79. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js.map +0 -1
  80. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js +0 -122
  81. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js.map +0 -1
  82. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js +0 -46
  83. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js.map +0 -1
  84. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js +0 -6
  85. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js.map +0 -1
  86. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js +0 -4
  87. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js.map +0 -1
  88. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js +0 -5
  89. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js.map +0 -1
  90. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.d.ts +0 -130
  91. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js +0 -191
  92. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js.map +0 -1
  93. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-state-machine.d.ts +0 -194
  94. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-state-machine.js +0 -342
  95. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-state-machine.js.map +0 -1
  96. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js +0 -62
  97. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js.map +0 -1
  98. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-state-machine.js +0 -173
  99. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-state-machine.js.map +0 -1
  100. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js +0 -3
  101. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js.map +0 -1
  102. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.d.ts +0 -87
  103. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.js +0 -123
  104. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.js.map +0 -1
  105. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.js +0 -118
  106. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.js.map +0 -1
  107. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js +0 -2
  108. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js.map +0 -1
  109. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js +0 -99
  110. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js.map +0 -1
  111. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.d.ts +0 -18
  112. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js +0 -184
  113. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js.map +0 -1
  114. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js +0 -10
  115. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js.map +0 -1
  116. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js +0 -450
  117. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js.map +0 -1
  118. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js +0 -192
  119. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js.map +0 -1
  120. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js +0 -27
  121. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js.map +0 -1
  122. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js +0 -9
  123. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js.map +0 -1
  124. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.d.ts +0 -9
  125. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js +0 -47
  126. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js.map +0 -1
  127. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js +0 -21
  128. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js.map +0 -1
  129. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.d.ts +0 -28
  130. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js +0 -102
  131. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js.map +0 -1
  132. package/dist/board.tsbuildinfo +0 -1
  133. package/dist/camera/base.d.ts +0 -189
  134. package/dist/camera/camera-mux/animation-and-lock/animation-and-lock.d.ts +0 -50
  135. package/dist/camera/camera-mux/animation-and-lock/index.d.ts +0 -4
  136. package/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +0 -137
  137. package/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +0 -131
  138. package/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +0 -143
  139. package/dist/camera/camera-mux/index.d.ts +0 -3
  140. package/dist/camera/camera-mux/interface.d.ts +0 -12
  141. package/dist/camera/camera-mux/relay.d.ts +0 -27
  142. package/dist/camera/camera-rig/index.d.ts +0 -5
  143. package/dist/camera/camera-rig/pan-handler.d.ts +0 -113
  144. package/dist/camera/camera-rig/rotation-handler.d.ts +0 -78
  145. package/dist/camera/camera-rig/update-batcher/index.d.ts +0 -3
  146. package/dist/camera/camera-rig/update-batcher/position-update-batcher.d.ts +0 -58
  147. package/dist/camera/camera-rig/update-batcher/rotation-update-batcher.d.ts +0 -54
  148. package/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +0 -60
  149. package/dist/camera/camera-rig/zoom-handler.d.ts +0 -77
  150. package/dist/camera/index.d.ts +0 -8
  151. package/dist/camera/interface.d.ts +0 -59
  152. package/dist/camera/update-publisher.d.ts +0 -172
  153. package/dist/camera/utils/coordinate-conversion.d.ts +0 -75
  154. package/dist/camera/utils/index.d.ts +0 -5
  155. package/dist/camera/utils/matrix.d.ts +0 -114
  156. package/dist/camera/utils/position.d.ts +0 -71
  157. package/dist/camera/utils/rotation.d.ts +0 -64
  158. package/dist/camera/utils/zoom.d.ts +0 -25
  159. package/dist/index.d.ts +0 -5
  160. package/dist/index.js +0 -2
  161. package/dist/index.js.map +0 -1
  162. package/dist/input-interpretation/index.d.ts +0 -3
  163. package/dist/input-interpretation/input-state-machine/index.d.ts +0 -4
  164. package/dist/input-interpretation/input-state-machine/touch-input-context.d.ts +0 -44
  165. package/dist/input-interpretation/input-state-machine/touch-input-state-machine.d.ts +0 -64
  166. package/dist/input-interpretation/raw-input-parser/index.d.ts +0 -2
  167. package/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.d.ts +0 -55
  168. package/dist/input-interpretation/raw-input-publisher/index.d.ts +0 -1
  169. package/dist/input-interpretation/raw-input-publisher/raw-input-publisher.d.ts +0 -130
  170. package/dist/package.json +0 -39
  171. package/dist/utils/coorindate-conversion.d.ts +0 -5
  172. package/dist/utils/drawing-utils.d.ts +0 -55
  173. package/dist/utils/drawing.d.ts +0 -30
  174. package/dist/utils/handler-pipeline.d.ts +0 -30
  175. package/dist/utils/index.d.ts +0 -8
  176. package/dist/utils/observable.d.ts +0 -9
  177. package/dist/utils/ruler.d.ts +0 -1
  178. package/jest.config.js +0 -18
  179. package/project.json +0 -34
  180. package/rollup.config.js +0 -29
  181. package/src/boardify/index.ts +0 -562
  182. package/src/camera/base.ts +0 -387
  183. package/src/camera/camera-mux/animation-and-lock/animation-and-lock.ts +0 -114
  184. package/src/camera/camera-mux/animation-and-lock/index.ts +0 -4
  185. package/src/camera/camera-mux/animation-and-lock/pan-control-state-machine.ts +0 -248
  186. package/src/camera/camera-mux/animation-and-lock/rotation-control-state-machine.ts +0 -237
  187. package/src/camera/camera-mux/animation-and-lock/zoom-control-state-machine.ts +0 -263
  188. package/src/camera/camera-mux/index.ts +0 -3
  189. package/src/camera/camera-mux/interface.ts +0 -13
  190. package/src/camera/camera-mux/relay.ts +0 -50
  191. package/src/camera/camera-rig/camera-rig.ts +0 -560
  192. package/src/camera/camera-rig/index.ts +0 -5
  193. package/src/camera/camera-rig/pan-handler.ts +0 -192
  194. package/src/camera/camera-rig/rotation-handler.ts +0 -124
  195. package/src/camera/camera-rig/update-batcher/index.ts +0 -3
  196. package/src/camera/camera-rig/update-batcher/position-update-batcher.ts +0 -133
  197. package/src/camera/camera-rig/update-batcher/rotation-update-batcher.ts +0 -123
  198. package/src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts +0 -157
  199. package/src/camera/camera-rig/zoom-handler.ts +0 -123
  200. package/src/camera/default-camera.ts +0 -297
  201. package/src/camera/index.ts +0 -8
  202. package/src/camera/interface.ts +0 -45
  203. package/src/camera/update-publisher.ts +0 -222
  204. package/src/camera/utils/coordinate-conversion.ts +0 -160
  205. package/src/camera/utils/index.ts +0 -5
  206. package/src/camera/utils/matrix.ts +0 -558
  207. package/src/camera/utils/position.ts +0 -196
  208. package/src/camera/utils/rotation.ts +0 -147
  209. package/src/camera/utils/zoom.ts +0 -55
  210. package/src/index.ts +0 -5
  211. package/src/input-interpretation/index.ts +0 -3
  212. package/src/input-interpretation/input-state-machine/index.ts +0 -4
  213. package/src/input-interpretation/input-state-machine/kmt-input-context.ts +0 -283
  214. package/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts +0 -491
  215. package/src/input-interpretation/input-state-machine/touch-input-context.ts +0 -106
  216. package/src/input-interpretation/input-state-machine/touch-input-state-machine.ts +0 -215
  217. package/src/input-interpretation/raw-input-parser/index.ts +0 -2
  218. package/src/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.ts +0 -207
  219. package/src/input-interpretation/raw-input-parser/vanilla-touch-event-parser.ts +0 -169
  220. package/src/input-interpretation/raw-input-publisher/index.ts +0 -1
  221. package/src/input-interpretation/raw-input-publisher/raw-input-publisher.ts +0 -227
  222. package/src/utils/canvas-position-dimension.ts +0 -215
  223. package/src/utils/coorindate-conversion.ts +0 -12
  224. package/src/utils/drawing-utils.ts +0 -439
  225. package/src/utils/drawing.ts +0 -266
  226. package/src/utils/handler-pipeline.ts +0 -41
  227. package/src/utils/index.ts +0 -8
  228. package/src/utils/observable.ts +0 -63
  229. package/src/utils/ruler.ts +0 -18
  230. package/src/utils/zoomlevel-adjustment.ts +0 -108
  231. package/test/board-camera/camera-rig.test.ts +0 -78
  232. package/test/board-camera/camera-utils.test.ts +0 -263
  233. package/test/board-camera/utils/coordinate-conversion.test.ts +0 -26
  234. package/test/board-camera/utils/matrix.test.ts +0 -35
  235. package/test/boardify/utils/canvas.test.ts +0 -20
  236. package/test/util/drawing.test.ts +0 -83
  237. package/test/util/handler-pipeline.test.ts +0 -74
  238. package/test/util/observable.test.ts +0 -42
  239. package/test/util/ruler.test.ts +0 -41
  240. package/tsconfig.json +0 -23
  241. package/tsconfig.spec.json +0 -12
  242. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/animation-and-lock/animation-and-lock.d.ts +0 -0
  243. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/animation-and-lock/index.d.ts +0 -0
  244. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +0 -0
  245. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +0 -0
  246. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +0 -0
  247. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/index.d.ts +0 -0
  248. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/interface.d.ts +0 -0
  249. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/relay.d.ts +0 -0
  250. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/index.d.ts +0 -0
  251. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/rotation-handler.d.ts +0 -0
  252. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/index.d.ts +0 -0
  253. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/position-update-batcher.d.ts +0 -0
  254. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/rotation-update-batcher.d.ts +0 -0
  255. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +0 -0
  256. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/zoom-handler.d.ts +0 -0
  257. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/interface.d.ts +0 -0
  258. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/update-publisher.d.ts +0 -0
  259. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/coordinate-conversion.d.ts +0 -0
  260. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/index.d.ts +0 -0
  261. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/matrix.d.ts +0 -0
  262. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/rotation.d.ts +0 -0
  263. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/zoom.d.ts +0 -0
  264. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.d.ts → index.d.ts} +0 -0
  265. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/index.d.ts +0 -0
  266. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/input-state-machine/index.d.ts +0 -0
  267. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/input-state-machine/touch-input-state-machine.d.ts +0 -0
  268. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/raw-input-parser/index.d.ts +0 -0
  269. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/raw-input-publisher/index.d.ts +0 -0
  270. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/raw-input-publisher/raw-input-publisher.d.ts +0 -0
  271. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/coorindate-conversion.d.ts +0 -0
  272. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing-utils.d.ts +0 -0
  273. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing.d.ts +0 -0
  274. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/handler-pipeline.d.ts +0 -0
  275. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/index.d.ts +0 -0
  276. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/ruler.d.ts +0 -0
@@ -1,450 +0,0 @@
1
- import { PointCal } from "@ue-too/math";
2
- import { calculateOrderOfMagnitude } from "./ruler";
3
- import { boundariesFullyDefined, translationHeightOf, translationWidthOf } from "../camera/utils/position";
4
- /**
5
- * @description Draws a crosshair on the canvas.
6
- * @deprecated
7
- *
8
- * @category Board
9
- */
10
- export function drawCrossHair(context, pos, cameraZoomLevel, alignCoordinateSystem, size, color = "red") {
11
- // size is the pixel shown in the viewport
12
- let halfSize = size / 2;
13
- halfSize = halfSize / cameraZoomLevel;
14
- context.beginPath();
15
- context.strokeStyle = color;
16
- context.lineWidth = 2 / cameraZoomLevel;
17
- if (alignCoordinateSystem) {
18
- context.moveTo(pos.x - halfSize, pos.y);
19
- context.lineTo(pos.x + halfSize, pos.y);
20
- context.moveTo(pos.x, pos.y - halfSize);
21
- context.lineTo(pos.x, pos.y + halfSize);
22
- }
23
- else {
24
- context.moveTo(pos.x - halfSize, -pos.y);
25
- context.lineTo(pos.x + halfSize, -pos.y);
26
- context.moveTo(pos.x, -pos.y - halfSize);
27
- context.lineTo(pos.x, -pos.y + halfSize);
28
- }
29
- context.stroke();
30
- context.lineWidth = 3;
31
- }
32
- /**
33
- * @description Draws a bounding box on the canvas.
34
- * @deprecated
35
- *
36
- * @category Board
37
- */
38
- export function drawBoundingBox(context, boundaries, alignCoordinateSystem) {
39
- if (!boundariesFullyDefined(boundaries)) {
40
- return;
41
- }
42
- const width = translationWidthOf(boundaries);
43
- const height = translationHeightOf(boundaries);
44
- const curMin = boundaries == undefined ? undefined : boundaries.min;
45
- const curMinX = curMin == undefined ? undefined : curMin.x;
46
- const curMinY = curMin == undefined ? undefined : curMin.y;
47
- if (curMinX == undefined || curMinY == undefined || width == undefined || height == undefined) {
48
- return;
49
- }
50
- context.beginPath();
51
- context.strokeStyle = "blue";
52
- context.lineWidth = 100;
53
- if (alignCoordinateSystem) {
54
- context.roundRect(curMinX, curMinY, width, height, 5);
55
- }
56
- else {
57
- context.roundRect(curMinX, -curMinY, width, -height, 5);
58
- }
59
- context.stroke();
60
- context.lineWidth = 3;
61
- context.strokeStyle = "black";
62
- }
63
- /**
64
- * @description Draws the axis of the board.
65
- * @deprecated
66
- *
67
- * @category Board
68
- */
69
- export function drawAxis(context, boundaries, zoomLevel, alignCoordinateSystem) {
70
- if (!boundariesFullyDefined(boundaries)) {
71
- // one of the direction is not defined
72
- return;
73
- }
74
- const width = translationWidthOf(boundaries);
75
- const height = translationHeightOf(boundaries);
76
- const curMin = boundaries == undefined ? undefined : boundaries.min;
77
- const curMinX = curMin == undefined ? undefined : curMin.x;
78
- const curMinY = curMin == undefined ? undefined : curMin.y;
79
- if (curMinX == undefined || curMinY == undefined || width == undefined || height == undefined) {
80
- return;
81
- }
82
- context.lineWidth = 1 / zoomLevel;
83
- // y axis
84
- context.beginPath();
85
- context.strokeStyle = `rgba(87, 173, 72, 0.8)`;
86
- context.moveTo(0, 0);
87
- if (alignCoordinateSystem) {
88
- context.lineTo(0, curMinY + (height));
89
- }
90
- else {
91
- context.lineTo(0, -curMinY - (height));
92
- }
93
- context.stroke();
94
- // x axis
95
- context.beginPath();
96
- context.strokeStyle = `rgba(220, 59, 59, 0.8)`;
97
- context.moveTo(0, 0);
98
- context.lineTo(curMinX + width, 0);
99
- context.stroke();
100
- context.strokeStyle = "black";
101
- }
102
- /**
103
- * @description Draws the grid of the board.
104
- * argument points are in world space
105
- * @deprecated
106
- *
107
- * @category Board
108
- */
109
- export function drawGrid(context, topLeftCorner, topRightCorner, bottomLeftCorner, bottomRightCorner, alignCoordinateSystem, cameraZoomLevel) {
110
- let leftRightDirection = PointCal.unitVectorFromA2B(topLeftCorner, topRightCorner);
111
- let topDownDirection = PointCal.unitVectorFromA2B(bottomLeftCorner, topLeftCorner);
112
- let width = PointCal.distanceBetweenPoints(topLeftCorner, topRightCorner);
113
- let height = PointCal.distanceBetweenPoints(topLeftCorner, bottomLeftCorner);
114
- let orderOfMagnitude = calculateOrderOfMagnitude(width);
115
- let divisor = Math.pow(10, orderOfMagnitude);
116
- let subDivisor = divisor / 10;
117
- let minHorizontalSmallTick = Math.ceil(topLeftCorner.x / subDivisor) * subDivisor;
118
- let maxHorizontalSmallTick = Math.floor(topRightCorner.x / subDivisor) * subDivisor;
119
- let minVerticalSmallTick = alignCoordinateSystem ? Math.floor(topLeftCorner.y / subDivisor) * subDivisor : Math.ceil(bottomLeftCorner.y / subDivisor) * subDivisor;
120
- let maxVerticalSmallTick = alignCoordinateSystem ? Math.ceil(bottomLeftCorner.y / subDivisor) * subDivisor : Math.floor(topLeftCorner.y / subDivisor) * subDivisor;
121
- ;
122
- // vertical lines
123
- for (let i = minHorizontalSmallTick; i <= maxHorizontalSmallTick; i += subDivisor) {
124
- const startPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(leftRightDirection, subDivisor));
125
- const endPoint = PointCal.addVector({ x: i, y: bottomLeftCorner.y }, PointCal.multiplyVectorByScalar(leftRightDirection, subDivisor));
126
- context.beginPath();
127
- context.strokeStyle = "black";
128
- context.fillStyle = "black";
129
- context.lineWidth = 0.5 / cameraZoomLevel;
130
- context.moveTo(startPoint.x, startPoint.y);
131
- context.lineTo(endPoint.x, endPoint.y);
132
- context.stroke();
133
- }
134
- for (let i = minVerticalSmallTick; i <= maxVerticalSmallTick; i += subDivisor) {
135
- const startPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(topDownDirection, subDivisor));
136
- const endPoint = PointCal.addVector({ x: topRightCorner.x, y: i }, PointCal.multiplyVectorByScalar(topDownDirection, subDivisor));
137
- context.beginPath();
138
- context.strokeStyle = "black";
139
- context.fillStyle = "black";
140
- context.lineWidth = 0.5 / cameraZoomLevel;
141
- context.moveTo(startPoint.x, startPoint.y);
142
- context.lineTo(endPoint.x, endPoint.y);
143
- context.stroke();
144
- }
145
- }
146
- /**
147
- * @description Draws a ruler on the canvas.
148
- * argument points are in world space
149
- * @deprecated
150
- *
151
- * @category Board
152
- */
153
- export function drawRulerLegacy(context, topLeftCorner, topRightCorner, bottomLeftCorner, bottomRightCorner, alignCoordinateSystem, cameraZoomLevel) {
154
- let leftRightDirection = PointCal.unitVectorFromA2B(topLeftCorner, topRightCorner);
155
- let topDownDirection = PointCal.unitVectorFromA2B(bottomLeftCorner, topLeftCorner);
156
- let width = PointCal.distanceBetweenPoints(topLeftCorner, topRightCorner);
157
- let orderOfMagnitude = calculateOrderOfMagnitude(width);
158
- let divisor = Math.pow(10, orderOfMagnitude);
159
- // console.log("divisor", divisor);
160
- let halfDivisor = divisor / 2;
161
- let subDivisor = divisor / 10;
162
- let scaling = 1;
163
- if (orderOfMagnitude <= 0) {
164
- scaling = Math.pow(10, -orderOfMagnitude + 1);
165
- }
166
- let minHorizontalLargeTick = Math.ceil(topLeftCorner.x / divisor) * divisor;
167
- let maxHorizontalLargeTick = Math.floor(topRightCorner.x / divisor) * divisor;
168
- let minVerticalLargeTick = alignCoordinateSystem ? Math.ceil(topLeftCorner.y / divisor) * divisor : Math.floor(bottomLeftCorner.y / divisor) * divisor;
169
- let maxVerticalLargeTick = alignCoordinateSystem ? Math.floor(bottomLeftCorner.y / divisor) * divisor : Math.ceil(topLeftCorner.y / divisor) * divisor;
170
- let minHorizontalMediumTick = Math.ceil(topLeftCorner.x / halfDivisor) * halfDivisor;
171
- let maxHorizontalMediumTick = Math.floor(topRightCorner.x / halfDivisor) * halfDivisor;
172
- let minVerticalMediumTick = alignCoordinateSystem ? Math.ceil(topLeftCorner.y / halfDivisor) * halfDivisor : Math.floor(bottomLeftCorner.y / halfDivisor) * halfDivisor;
173
- let maxVerticalMediumTick = alignCoordinateSystem ? Math.floor(bottomLeftCorner.y / halfDivisor) * halfDivisor : Math.ceil(topLeftCorner.y / halfDivisor) * halfDivisor;
174
- let minHorizontalSmallTick = Math.ceil(topLeftCorner.x / subDivisor) * subDivisor;
175
- let maxHorizontalSmallTick = Math.floor(topRightCorner.x / subDivisor) * subDivisor;
176
- let minVerticalSmallTick = alignCoordinateSystem ? Math.ceil(topLeftCorner.y / subDivisor) * subDivisor : Math.floor(bottomLeftCorner.y / subDivisor) * subDivisor;
177
- let maxVerticalSmallTick = alignCoordinateSystem ? Math.floor(bottomLeftCorner.y / subDivisor) * subDivisor : Math.ceil(topLeftCorner.y / subDivisor) * subDivisor;
178
- let divisorInActualPixel = divisor * cameraZoomLevel;
179
- let halfDivisorInActualPixel = halfDivisor * cameraZoomLevel;
180
- let subDivisorInActualPixel = subDivisor * cameraZoomLevel;
181
- context.font = `bold ${20 / cameraZoomLevel}px Helvetica`;
182
- const midBaseLineTextDimensions = context.measureText(`${-(halfDivisor + minHorizontalMediumTick)}`);
183
- const midBaseLineHeight = midBaseLineTextDimensions.fontBoundingBoxAscent + midBaseLineTextDimensions.fontBoundingBoxDescent;
184
- const subBaseLineTextDimensions = context.measureText(`${-(subDivisor + minHorizontalSmallTick)}`);
185
- const subBaseLineHeight = subBaseLineTextDimensions.fontBoundingBoxAscent + subBaseLineTextDimensions.fontBoundingBoxDescent;
186
- const largeHorizontalStep = Math.ceil((maxHorizontalLargeTick - minHorizontalLargeTick) / divisor);
187
- for (let index = 0; index <= largeHorizontalStep; index++) {
188
- const i = minHorizontalLargeTick + index * divisor;
189
- context.beginPath();
190
- context.strokeStyle = "black";
191
- context.fillStyle = "black";
192
- context.lineWidth = 5 / cameraZoomLevel;
193
- let resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, 50 / cameraZoomLevel));
194
- if (!alignCoordinateSystem) {
195
- context.moveTo(resPoint.x, -resPoint.y);
196
- }
197
- else {
198
- context.moveTo(resPoint.x, resPoint.y);
199
- }
200
- resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, -50 / cameraZoomLevel));
201
- if (!alignCoordinateSystem) {
202
- context.lineTo(resPoint.x, -resPoint.y);
203
- }
204
- else {
205
- context.lineTo(resPoint.x, resPoint.y);
206
- }
207
- context.textAlign = "center";
208
- context.textBaseline = "middle";
209
- context.font = `bold ${20 / cameraZoomLevel}px Helvetica`;
210
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
211
- const height = textDimensions.fontBoundingBoxAscent + textDimensions.fontBoundingBoxDescent;
212
- if (!alignCoordinateSystem) {
213
- resPoint = PointCal.addVector(resPoint, { x: 0, y: -height / 2 - height * 0.2 });
214
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, -resPoint.y);
215
- }
216
- else {
217
- resPoint = PointCal.addVector(resPoint, { x: 0, y: height / 2 + height * 0.2 });
218
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
219
- }
220
- context.stroke();
221
- }
222
- const largeVerticalStep = Math.ceil((maxHorizontalLargeTick - minHorizontalLargeTick) / divisor);
223
- for (let index = 0; index <= largeVerticalStep; index++) {
224
- const i = minVerticalLargeTick + index * divisor;
225
- context.beginPath();
226
- context.strokeStyle = "black";
227
- context.fillStyle = "black";
228
- context.lineWidth = 5 / cameraZoomLevel;
229
- let resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, -50 / cameraZoomLevel));
230
- if (!alignCoordinateSystem) {
231
- context.moveTo(resPoint.x, -resPoint.y);
232
- }
233
- else {
234
- context.moveTo(resPoint.x, resPoint.y);
235
- }
236
- resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, 50 / cameraZoomLevel));
237
- if (!alignCoordinateSystem) {
238
- context.lineTo(resPoint.x, -resPoint.y);
239
- }
240
- else {
241
- context.lineTo(resPoint.x, resPoint.y);
242
- }
243
- context.textAlign = "center";
244
- context.textBaseline = "middle";
245
- context.font = `bold ${20 / cameraZoomLevel}px Helvetica`;
246
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
247
- resPoint = PointCal.addVector(resPoint, { x: textDimensions.width / 2 + textDimensions.width * 0.3, y: 0 });
248
- if (!alignCoordinateSystem) {
249
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, -resPoint.y);
250
- }
251
- else {
252
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
253
- }
254
- context.stroke();
255
- }
256
- const mediumHorizontalStep = Math.ceil((maxHorizontalMediumTick - minHorizontalMediumTick) / halfDivisor);
257
- for (let index = 0; index <= mediumHorizontalStep; index++) {
258
- const i = minHorizontalMediumTick + index * halfDivisor;
259
- if (Math.floor(i * scaling) % Math.floor(divisor * scaling) == 0)
260
- continue;
261
- context.beginPath();
262
- context.strokeStyle = "black";
263
- context.fillStyle = "black";
264
- context.lineWidth = 3 / cameraZoomLevel;
265
- let resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, 25 / cameraZoomLevel));
266
- if (!alignCoordinateSystem) {
267
- context.moveTo(resPoint.x, -resPoint.y);
268
- }
269
- else {
270
- context.moveTo(resPoint.x, resPoint.y);
271
- }
272
- resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, -25 / cameraZoomLevel));
273
- if (!alignCoordinateSystem) {
274
- context.lineTo(resPoint.x, -resPoint.y);
275
- }
276
- else {
277
- context.lineTo(resPoint.x, resPoint.y);
278
- }
279
- context.font = `${15 / cameraZoomLevel}px Helvetica`;
280
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
281
- if (halfDivisorInActualPixel > midBaseLineTextDimensions.width * 2) {
282
- context.textAlign = "center";
283
- context.textBaseline = "middle";
284
- const height = textDimensions.fontBoundingBoxAscent + textDimensions.fontBoundingBoxDescent;
285
- if (!alignCoordinateSystem) {
286
- resPoint = PointCal.addVector(resPoint, { x: 0, y: -height / 2 - height * 0.2 });
287
- resPoint = PointCal.flipYAxis(resPoint);
288
- }
289
- else {
290
- resPoint = PointCal.addVector(resPoint, { x: 0, y: height / 2 + height * 0.2 });
291
- }
292
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
293
- }
294
- context.stroke();
295
- }
296
- const mediumVerticalStep = Math.ceil((maxVerticalMediumTick - minVerticalMediumTick) / halfDivisor);
297
- for (let index = 0; index <= mediumVerticalStep; index++) {
298
- const i = minVerticalMediumTick + index * halfDivisor;
299
- if (Math.floor(i * scaling) % Math.floor(divisor * scaling) == 0)
300
- continue;
301
- context.beginPath();
302
- context.strokeStyle = "black";
303
- context.fillStyle = "black";
304
- context.lineWidth = 3 / cameraZoomLevel;
305
- let resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, -25 / cameraZoomLevel));
306
- if (!alignCoordinateSystem) {
307
- context.moveTo(resPoint.x, -resPoint.y);
308
- }
309
- else {
310
- context.moveTo(resPoint.x, resPoint.y);
311
- }
312
- resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, 25 / cameraZoomLevel));
313
- if (!alignCoordinateSystem) {
314
- context.lineTo(resPoint.x, -resPoint.y);
315
- }
316
- else {
317
- context.lineTo(resPoint.x, resPoint.y);
318
- }
319
- context.font = `${18 / cameraZoomLevel}px Helvetica`;
320
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
321
- const height = textDimensions.fontBoundingBoxAscent + textDimensions.fontBoundingBoxDescent;
322
- if (halfDivisorInActualPixel > midBaseLineHeight * 2) {
323
- context.textAlign = "center";
324
- context.textBaseline = "middle";
325
- resPoint = PointCal.addVector(resPoint, { x: textDimensions.width / 2 + textDimensions.width * 0.3, y: 0 });
326
- if (!alignCoordinateSystem) {
327
- resPoint = PointCal.flipYAxis(resPoint);
328
- }
329
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
330
- }
331
- context.stroke();
332
- }
333
- const smallHorizontalStep = Math.ceil((maxHorizontalSmallTick - minHorizontalSmallTick) / subDivisor);
334
- for (let index = 0; index <= smallHorizontalStep; index++) {
335
- const i = minHorizontalSmallTick + index * subDivisor;
336
- if (Math.floor(i * scaling) % Math.floor(divisor * scaling) == 0 || Math.floor(i * scaling) % Math.floor(halfDivisor * scaling) == 0)
337
- continue;
338
- context.beginPath();
339
- context.strokeStyle = "black";
340
- context.fillStyle = "black";
341
- context.lineWidth = 1 / cameraZoomLevel;
342
- let resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, 12.5 / cameraZoomLevel));
343
- if (!alignCoordinateSystem) {
344
- context.moveTo(resPoint.x, -resPoint.y);
345
- }
346
- else {
347
- context.moveTo(resPoint.x, resPoint.y);
348
- }
349
- resPoint = PointCal.addVector({ x: i, y: topLeftCorner.y }, PointCal.multiplyVectorByScalar(topDownDirection, -12.5 / cameraZoomLevel));
350
- if (!alignCoordinateSystem) {
351
- context.lineTo(resPoint.x, -resPoint.y);
352
- }
353
- else {
354
- context.lineTo(resPoint.x, resPoint.y);
355
- }
356
- context.font = `${10 / cameraZoomLevel}px Helvetica`;
357
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
358
- if (subDivisorInActualPixel > subBaseLineTextDimensions.width * 2) {
359
- context.textAlign = "center";
360
- context.textBaseline = "middle";
361
- const height = textDimensions.fontBoundingBoxAscent + textDimensions.fontBoundingBoxDescent;
362
- if (!alignCoordinateSystem) {
363
- resPoint = PointCal.addVector(resPoint, { x: 0, y: -height / 2 - height * 0.2 });
364
- resPoint = PointCal.flipYAxis(resPoint);
365
- }
366
- else {
367
- resPoint = PointCal.addVector(resPoint, { x: 0, y: height / 2 + height * 0.2 });
368
- }
369
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
370
- }
371
- context.stroke();
372
- }
373
- const smallVerticalStep = Math.ceil((maxVerticalSmallTick - minVerticalSmallTick) / subDivisor);
374
- for (let index = 0; index <= smallVerticalStep; index++) {
375
- const i = minVerticalSmallTick + index * subDivisor;
376
- if (Math.floor(i * scaling) % Math.floor(divisor * scaling) == 0 || Math.floor(i * scaling) % Math.floor(halfDivisor * scaling) == 0)
377
- continue;
378
- context.beginPath();
379
- context.strokeStyle = "black";
380
- context.fillStyle = "black";
381
- context.lineWidth = 1 / cameraZoomLevel;
382
- let resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, -12.5 / cameraZoomLevel));
383
- if (!alignCoordinateSystem) {
384
- context.moveTo(resPoint.x, -resPoint.y);
385
- }
386
- else {
387
- context.moveTo(resPoint.x, resPoint.y);
388
- }
389
- resPoint = PointCal.addVector({ x: topLeftCorner.x, y: i }, PointCal.multiplyVectorByScalar(leftRightDirection, 12.5 / cameraZoomLevel));
390
- if (!alignCoordinateSystem) {
391
- context.lineTo(resPoint.x, -resPoint.y);
392
- }
393
- else {
394
- context.lineTo(resPoint.x, resPoint.y);
395
- }
396
- context.font = `${12 / cameraZoomLevel}px Helvetica`;
397
- const textDimensions = context.measureText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`);
398
- const height = textDimensions.fontBoundingBoxAscent + textDimensions.fontBoundingBoxDescent;
399
- if (subDivisorInActualPixel > subBaseLineHeight * 2) {
400
- context.textAlign = "center";
401
- context.textBaseline = "middle";
402
- resPoint = PointCal.addVector(resPoint, { x: textDimensions.width / 2 + textDimensions.width * 0.3, y: 0 });
403
- if (!alignCoordinateSystem) {
404
- resPoint = PointCal.flipYAxis(resPoint);
405
- }
406
- context.fillText(`${Math.abs(i) % 1 == 0 ? i.toFixed(0) : i.toFixed(2)}`, resPoint.x, resPoint.y);
407
- }
408
- context.stroke();
409
- }
410
- }
411
- /**
412
- * @description Draws the position text on the canvas.
413
- * argument points are in world space
414
- * @deprecated
415
- *
416
- * @category Board
417
- */
418
- export function drawPositionText(context, pos, cameraZoomLevel, alignCoordinateSystem, offset = 20, color = "red") {
419
- offset = offset / cameraZoomLevel;
420
- context.font = `${20 / cameraZoomLevel}px Arial`;
421
- context.fillStyle = color;
422
- if (alignCoordinateSystem) {
423
- context.fillText(`x: ${pos.x.toFixed(2)}, y: ${pos.y.toFixed(2)}`, pos.x + offset, pos.y + offset);
424
- }
425
- else {
426
- context.fillText(`x: ${pos.x.toFixed(2)}, y: ${pos.y.toFixed(2)}`, pos.x + offset, -pos.y - offset);
427
- }
428
- context.fillStyle = "black";
429
- }
430
- /**
431
- * @description Draws a reference circle on the canvas.
432
- * argument points are in world space
433
- * @deprecated
434
- *
435
- * @category Board
436
- */
437
- export function drawReferenceCircle(context, pos, alignCoordinateSystem) {
438
- context.beginPath();
439
- context.strokeStyle = `rgba(87, 173, 72, 0.8)`;
440
- // context.moveTo(pos.x, -pos.y);
441
- if (alignCoordinateSystem) {
442
- context.arc(pos.x, pos.y, 5, 0, 2 * Math.PI);
443
- }
444
- else {
445
- context.arc(pos.x, -pos.y, 5, 0, 2 * Math.PI);
446
- }
447
- context.stroke();
448
- context.strokeStyle = "black";
449
- }
450
- //# sourceMappingURL=drawing-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawing-utils.js","sourceRoot":"","sources":["../../src/utils/drawing-utils.ts"],"names":[],"mappings":"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"}