@ue-too/board 0.5.2 → 0.6.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 (270) hide show
  1. package/package.json +10 -11
  2. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js +0 -475
  3. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js.map +0 -1
  4. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js +0 -340
  5. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js.map +0 -1
  6. 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
  7. 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
  8. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js +0 -5
  9. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js.map +0 -1
  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 +0 -157
  11. 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
  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 +0 -151
  13. 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
  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 +0 -153
  15. 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
  16. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js +0 -4
  17. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js.map +0 -1
  18. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js +0 -2
  19. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js.map +0 -1
  20. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js +0 -38
  21. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js.map +0 -1
  22. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js +0 -454
  23. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js.map +0 -1
  24. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js +0 -6
  25. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js.map +0 -1
  26. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js +0 -124
  27. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js.map +0 -1
  28. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js +0 -71
  29. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js.map +0 -1
  30. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js +0 -4
  31. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js.map +0 -1
  32. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js +0 -97
  33. 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
  34. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js +0 -91
  35. 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
  36. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js +0 -128
  37. 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
  38. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js +0 -76
  39. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js.map +0 -1
  40. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js +0 -258
  41. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js.map +0 -1
  42. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js +0 -9
  43. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js.map +0 -1
  44. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js +0 -2
  45. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js.map +0 -1
  46. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js +0 -74
  47. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js.map +0 -1
  48. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js +0 -150
  49. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js.map +0 -1
  50. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js +0 -6
  51. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js.map +0 -1
  52. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js +0 -421
  53. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js.map +0 -1
  54. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js +0 -177
  55. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js.map +0 -1
  56. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js +0 -122
  57. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js.map +0 -1
  58. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js +0 -46
  59. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js.map +0 -1
  60. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js +0 -6
  61. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js.map +0 -1
  62. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js +0 -4
  63. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js.map +0 -1
  64. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js +0 -5
  65. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js.map +0 -1
  66. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js +0 -191
  67. 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
  68. 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
  69. 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
  70. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js +0 -62
  71. 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
  72. 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
  73. 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
  74. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js +0 -3
  75. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js.map +0 -1
  76. 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
  77. 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
  78. 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
  79. 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
  80. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js +0 -2
  81. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js.map +0 -1
  82. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js +0 -99
  83. 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
  84. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js +0 -184
  85. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js.map +0 -1
  86. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js +0 -10
  87. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js.map +0 -1
  88. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js +0 -450
  89. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js.map +0 -1
  90. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js +0 -192
  91. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js.map +0 -1
  92. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js +0 -27
  93. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js.map +0 -1
  94. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js +0 -9
  95. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js.map +0 -1
  96. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js +0 -47
  97. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js.map +0 -1
  98. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js +0 -21
  99. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js.map +0 -1
  100. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js +0 -102
  101. package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js.map +0 -1
  102. package/dist/board.tsbuildinfo +0 -1
  103. package/dist/boardify/index.d.ts +0 -192
  104. package/dist/camera/base.d.ts +0 -189
  105. package/dist/camera/camera-mux/animation-and-lock/animation-and-lock.d.ts +0 -50
  106. package/dist/camera/camera-mux/animation-and-lock/index.d.ts +0 -4
  107. package/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +0 -137
  108. package/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +0 -131
  109. package/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +0 -143
  110. package/dist/camera/camera-mux/index.d.ts +0 -3
  111. package/dist/camera/camera-mux/interface.d.ts +0 -12
  112. package/dist/camera/camera-mux/relay.d.ts +0 -27
  113. package/dist/camera/camera-rig/camera-rig.d.ts +0 -207
  114. package/dist/camera/camera-rig/index.d.ts +0 -5
  115. package/dist/camera/camera-rig/pan-handler.d.ts +0 -113
  116. package/dist/camera/camera-rig/rotation-handler.d.ts +0 -78
  117. package/dist/camera/camera-rig/update-batcher/index.d.ts +0 -3
  118. package/dist/camera/camera-rig/update-batcher/position-update-batcher.d.ts +0 -58
  119. package/dist/camera/camera-rig/update-batcher/rotation-update-batcher.d.ts +0 -54
  120. package/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +0 -60
  121. package/dist/camera/camera-rig/zoom-handler.d.ts +0 -77
  122. package/dist/camera/default-camera.d.ts +0 -170
  123. package/dist/camera/index.d.ts +0 -8
  124. package/dist/camera/interface.d.ts +0 -59
  125. package/dist/camera/update-publisher.d.ts +0 -172
  126. package/dist/camera/utils/coordinate-conversion.d.ts +0 -75
  127. package/dist/camera/utils/index.d.ts +0 -5
  128. package/dist/camera/utils/matrix.d.ts +0 -114
  129. package/dist/camera/utils/position.d.ts +0 -71
  130. package/dist/camera/utils/rotation.d.ts +0 -64
  131. package/dist/camera/utils/zoom.d.ts +0 -25
  132. package/dist/index.d.ts +0 -5
  133. package/dist/input-interpretation/index.d.ts +0 -3
  134. package/dist/input-interpretation/input-state-machine/index.d.ts +0 -4
  135. package/dist/input-interpretation/input-state-machine/kmt-input-context.d.ts +0 -130
  136. package/dist/input-interpretation/input-state-machine/kmt-input-state-machine.d.ts +0 -194
  137. package/dist/input-interpretation/input-state-machine/touch-input-context.d.ts +0 -44
  138. package/dist/input-interpretation/input-state-machine/touch-input-state-machine.d.ts +0 -64
  139. package/dist/input-interpretation/raw-input-parser/index.d.ts +0 -2
  140. package/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.d.ts +0 -87
  141. package/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.d.ts +0 -55
  142. package/dist/input-interpretation/raw-input-publisher/index.d.ts +0 -1
  143. package/dist/input-interpretation/raw-input-publisher/raw-input-publisher.d.ts +0 -130
  144. package/dist/package.json +0 -39
  145. package/dist/utils/canvas-position-dimension.d.ts +0 -18
  146. package/dist/utils/coorindate-conversion.d.ts +0 -5
  147. package/dist/utils/drawing-utils.d.ts +0 -55
  148. package/dist/utils/drawing.d.ts +0 -30
  149. package/dist/utils/handler-pipeline.d.ts +0 -30
  150. package/dist/utils/index.d.ts +0 -8
  151. package/dist/utils/observable.d.ts +0 -9
  152. package/dist/utils/ruler.d.ts +0 -1
  153. package/dist/utils/zoomlevel-adjustment.d.ts +0 -28
  154. package/jest.config.js +0 -18
  155. package/project.json +0 -34
  156. package/rollup.config.js +0 -29
  157. package/src/boardify/index.ts +0 -562
  158. package/src/camera/base.ts +0 -387
  159. package/src/camera/camera-mux/animation-and-lock/animation-and-lock.ts +0 -114
  160. package/src/camera/camera-mux/animation-and-lock/index.ts +0 -4
  161. package/src/camera/camera-mux/animation-and-lock/pan-control-state-machine.ts +0 -248
  162. package/src/camera/camera-mux/animation-and-lock/rotation-control-state-machine.ts +0 -237
  163. package/src/camera/camera-mux/animation-and-lock/zoom-control-state-machine.ts +0 -263
  164. package/src/camera/camera-mux/index.ts +0 -3
  165. package/src/camera/camera-mux/interface.ts +0 -13
  166. package/src/camera/camera-mux/relay.ts +0 -50
  167. package/src/camera/camera-rig/camera-rig.ts +0 -560
  168. package/src/camera/camera-rig/index.ts +0 -5
  169. package/src/camera/camera-rig/pan-handler.ts +0 -192
  170. package/src/camera/camera-rig/rotation-handler.ts +0 -124
  171. package/src/camera/camera-rig/update-batcher/index.ts +0 -3
  172. package/src/camera/camera-rig/update-batcher/position-update-batcher.ts +0 -133
  173. package/src/camera/camera-rig/update-batcher/rotation-update-batcher.ts +0 -123
  174. package/src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts +0 -157
  175. package/src/camera/camera-rig/zoom-handler.ts +0 -123
  176. package/src/camera/default-camera.ts +0 -297
  177. package/src/camera/index.ts +0 -8
  178. package/src/camera/interface.ts +0 -45
  179. package/src/camera/update-publisher.ts +0 -222
  180. package/src/camera/utils/coordinate-conversion.ts +0 -160
  181. package/src/camera/utils/index.ts +0 -5
  182. package/src/camera/utils/matrix.ts +0 -558
  183. package/src/camera/utils/position.ts +0 -196
  184. package/src/camera/utils/rotation.ts +0 -147
  185. package/src/camera/utils/zoom.ts +0 -55
  186. package/src/index.ts +0 -5
  187. package/src/input-interpretation/index.ts +0 -3
  188. package/src/input-interpretation/input-state-machine/index.ts +0 -4
  189. package/src/input-interpretation/input-state-machine/kmt-input-context.ts +0 -283
  190. package/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts +0 -491
  191. package/src/input-interpretation/input-state-machine/touch-input-context.ts +0 -106
  192. package/src/input-interpretation/input-state-machine/touch-input-state-machine.ts +0 -215
  193. package/src/input-interpretation/raw-input-parser/index.ts +0 -2
  194. package/src/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.ts +0 -207
  195. package/src/input-interpretation/raw-input-parser/vanilla-touch-event-parser.ts +0 -169
  196. package/src/input-interpretation/raw-input-publisher/index.ts +0 -1
  197. package/src/input-interpretation/raw-input-publisher/raw-input-publisher.ts +0 -227
  198. package/src/utils/canvas-position-dimension.ts +0 -215
  199. package/src/utils/coorindate-conversion.ts +0 -12
  200. package/src/utils/drawing-utils.ts +0 -439
  201. package/src/utils/drawing.ts +0 -266
  202. package/src/utils/handler-pipeline.ts +0 -41
  203. package/src/utils/index.ts +0 -8
  204. package/src/utils/observable.ts +0 -63
  205. package/src/utils/ruler.ts +0 -18
  206. package/src/utils/zoomlevel-adjustment.ts +0 -108
  207. package/test/board-camera/camera-rig.test.ts +0 -78
  208. package/test/board-camera/camera-utils.test.ts +0 -263
  209. package/test/board-camera/utils/coordinate-conversion.test.ts +0 -26
  210. package/test/board-camera/utils/matrix.test.ts +0 -35
  211. package/test/boardify/utils/canvas.test.ts +0 -20
  212. package/test/util/drawing.test.ts +0 -83
  213. package/test/util/handler-pipeline.test.ts +0 -74
  214. package/test/util/observable.test.ts +0 -42
  215. package/test/util/ruler.test.ts +0 -41
  216. package/tsconfig.json +0 -23
  217. package/tsconfig.spec.json +0 -12
  218. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/board.tsbuildinfo → board.tsbuildinfo} +0 -0
  219. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify → boardify}/index.d.ts +0 -0
  220. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/base.d.ts +0 -0
  221. /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
  222. /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
  223. /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
  224. /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
  225. /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
  226. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/index.d.ts +0 -0
  227. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/interface.d.ts +0 -0
  228. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/relay.d.ts +0 -0
  229. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/camera-rig.d.ts +0 -0
  230. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/index.d.ts +0 -0
  231. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/pan-handler.d.ts +0 -0
  232. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/rotation-handler.d.ts +0 -0
  233. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/index.d.ts +0 -0
  234. /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
  235. /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
  236. /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
  237. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/zoom-handler.d.ts +0 -0
  238. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/default-camera.d.ts +0 -0
  239. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/index.d.ts +0 -0
  240. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/interface.d.ts +0 -0
  241. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/update-publisher.d.ts +0 -0
  242. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/coordinate-conversion.d.ts +0 -0
  243. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/index.d.ts +0 -0
  244. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/matrix.d.ts +0 -0
  245. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/position.d.ts +0 -0
  246. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/rotation.d.ts +0 -0
  247. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/zoom.d.ts +0 -0
  248. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.d.ts → index.d.ts} +0 -0
  249. /package/{dist/index.js → index.js} +0 -0
  250. /package/{dist/index.js.map → index.js.map} +0 -0
  251. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/index.d.ts +0 -0
  252. /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
  253. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/input-state-machine/kmt-input-context.d.ts +0 -0
  254. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/input-state-machine/kmt-input-state-machine.d.ts +0 -0
  255. /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 +0 -0
  256. /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
  257. /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
  258. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/raw-input-parser/vanilla-kmt-event-parser.d.ts +0 -0
  259. /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 +0 -0
  260. /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
  261. /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
  262. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/canvas-position-dimension.d.ts +0 -0
  263. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/coorindate-conversion.d.ts +0 -0
  264. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing-utils.d.ts +0 -0
  265. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing.d.ts +0 -0
  266. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/handler-pipeline.d.ts +0 -0
  267. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/index.d.ts +0 -0
  268. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/observable.d.ts +0 -0
  269. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/ruler.d.ts +0 -0
  270. /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/zoomlevel-adjustment.d.ts +0 -0
@@ -1,421 +0,0 @@
1
- /**
2
- * Decomposes a camera transformation matrix back to camera parameters
3
- *
4
- * Transformation order:
5
- * 1. Scale by device pixel ratio
6
- * 2. Translate to canvas center
7
- * 3. Rotate by -camera.rotation
8
- * 4. Scale by zoom level
9
- * 5. Translate by -camera.position
10
- *
11
- * Final matrix: M = S1 * T1 * R * S2 * T2
12
- */
13
- export function decomposeCameraMatrix(transformMatrix, devicePixelRatio, canvasWidth, canvasHeight) {
14
- // Extract matrix elements (assuming 2D transformation matrix)
15
- // [a c tx] [m00 m02 m04]
16
- // [b d ty] = [m01 m03 m05]
17
- // [0 0 1 ] [0 0 1 ]
18
- const a = transformMatrix.a; // m00
19
- const b = transformMatrix.b; // m01
20
- const c = transformMatrix.c; // m02
21
- const d = transformMatrix.d; // m03
22
- const tx = transformMatrix.e; // m04
23
- const ty = transformMatrix.f; // m05
24
- // Step 1: Extract rotation
25
- // The rotation is preserved in the orientation of the transformation
26
- const rotation = -Math.atan2(b, a); // Negative because we applied -camera.rotation
27
- // Step 2: Extract total scale and zoom
28
- const totalScale = Math.sqrt(a * a + b * b);
29
- const zoom = totalScale / devicePixelRatio;
30
- // Step 3: Extract camera position
31
- // We need to reverse the transformation chain:
32
- // Final translation = DPR * (center + R * Z * (-camera_position))
33
- // Start with the matrix translation
34
- let reverse = [tx, ty];
35
- // Remove DPR scaling
36
- reverse = [reverse[0] / devicePixelRatio, reverse[1] / devicePixelRatio];
37
- // Remove canvas center translation
38
- reverse = [reverse[0] - canvasWidth / 2, reverse[1] - canvasHeight / 2];
39
- // Apply inverse rotation (rotate by positive camera rotation)
40
- const cos_r = Math.cos(rotation); // Note: positive for inverse
41
- const sin_r = Math.sin(rotation);
42
- reverse = [
43
- cos_r * reverse[0] - sin_r * reverse[1],
44
- sin_r * reverse[0] + cos_r * reverse[1]
45
- ];
46
- // Apply inverse zoom scaling
47
- reverse = [reverse[0] / zoom, reverse[1] / zoom];
48
- // Negate to get original camera position (since we applied -camera.position)
49
- const cameraX = -reverse[0];
50
- const cameraY = -reverse[1];
51
- return {
52
- position: { x: cameraX, y: cameraY },
53
- zoom: zoom,
54
- rotation: rotation
55
- };
56
- }
57
- // Alternative implementation using matrix operations for clarity
58
- function decomposeCameraMatrixVerbose(transformMatrix, devicePixelRatio, canvasWidth, canvasHeight) {
59
- const a = transformMatrix.a;
60
- const b = transformMatrix.b;
61
- const c = transformMatrix.c;
62
- const d = transformMatrix.d;
63
- const tx = transformMatrix.e;
64
- const ty = transformMatrix.f;
65
- console.log('Input matrix:');
66
- console.log(`[${a.toFixed(3)}, ${c.toFixed(3)}, ${tx.toFixed(3)}]`);
67
- console.log(`[${b.toFixed(3)}, ${d.toFixed(3)}, ${ty.toFixed(3)}]`);
68
- console.log('[0.000, 0.000, 1.000]');
69
- // Extract rotation
70
- const rotation = -Math.atan2(b, a);
71
- console.log(`\nExtracted rotation: ${(rotation * 180 / Math.PI).toFixed(2)}°`);
72
- // Extract zoom
73
- const totalScale = Math.sqrt(a * a + b * b);
74
- const zoom = totalScale / devicePixelRatio;
75
- console.log(`Extracted zoom: ${zoom.toFixed(3)}`);
76
- // Extract camera position
77
- const centerX = canvasWidth / 2;
78
- const centerY = canvasHeight / 2;
79
- // First remove DPR scaling from the final translation
80
- const unscaledTx = tx / devicePixelRatio;
81
- const unscaledTy = ty / devicePixelRatio;
82
- console.log(`After removing DPR: [${unscaledTx.toFixed(3)}, ${unscaledTy.toFixed(3)}]`);
83
- // Then remove canvas center offset
84
- const adjustedTx = unscaledTx - centerX;
85
- const adjustedTy = unscaledTy - centerY;
86
- console.log(`After removing canvas center: [${adjustedTx.toFixed(3)}, ${adjustedTy.toFixed(3)}]`);
87
- // Reverse rotation
88
- const cos_r = Math.cos(-rotation);
89
- const sin_r = Math.sin(-rotation);
90
- const rotatedBackX = cos_r * adjustedTx + sin_r * adjustedTy;
91
- const rotatedBackY = -sin_r * adjustedTx + cos_r * adjustedTy;
92
- console.log(`After inverse rotation: [${rotatedBackX.toFixed(3)}, ${rotatedBackY.toFixed(3)}]`);
93
- // Reverse zoom scaling and negate (because we applied -camera.position)
94
- const cameraX = -rotatedBackX / zoom;
95
- const cameraY = -rotatedBackY / zoom;
96
- console.log(`Final camera position: [${cameraX.toFixed(3)}, ${cameraY.toFixed(3)}]`);
97
- return {
98
- position: { x: cameraX, y: cameraY },
99
- zoom: zoom,
100
- rotation: rotation
101
- };
102
- }
103
- // Helper function to create the transformation matrix from camera parameters
104
- // canvas width and height are the css style width and height, not the canvas.width and canvas.height
105
- export function createCameraMatrix(cameraPos, zoom, rotation, devicePixelRatio, canvasWidth, canvasHeight) {
106
- // Step 1: Scale by device pixel ratio
107
- let matrix = {
108
- a: devicePixelRatio,
109
- b: 0,
110
- c: 0,
111
- d: devicePixelRatio,
112
- e: 0,
113
- f: 0
114
- };
115
- // Step 2: Translate to canvas center
116
- const multipliedMatrix = multiplyMatrix(matrix, {
117
- a: 1,
118
- b: 0,
119
- c: 0,
120
- d: 1,
121
- e: canvasWidth / 2,
122
- f: canvasHeight / 2
123
- });
124
- // Step 3: Rotate (negative camera rotation)
125
- const cos_r = Math.cos(-rotation);
126
- const sin_r = Math.sin(-rotation);
127
- const rotatedMatrix = multiplyMatrix(multipliedMatrix, {
128
- a: cos_r,
129
- b: sin_r,
130
- c: -sin_r,
131
- d: cos_r,
132
- e: 0,
133
- f: 0
134
- });
135
- // Step 4: Scale by zoom
136
- const zoomedMatrix = multiplyMatrix(rotatedMatrix, {
137
- a: zoom,
138
- b: 0,
139
- c: 0,
140
- d: zoom,
141
- e: 0,
142
- f: 0
143
- });
144
- // Step 5: Translate by negative camera position
145
- const translatedMatrix = multiplyMatrix(zoomedMatrix, {
146
- a: 1,
147
- b: 0,
148
- c: 0,
149
- d: 1,
150
- e: -cameraPos.x,
151
- f: -cameraPos.y
152
- });
153
- return translatedMatrix;
154
- }
155
- // Matrix multiplication helper (2D transformation matrices)
156
- export function multiplyMatrix(m1, m2) {
157
- const a1 = m1.a;
158
- const b1 = m1.b;
159
- const c1 = m1.c;
160
- const d1 = m1.d;
161
- const tx1 = m1.e;
162
- const ty1 = m1.f;
163
- const a2 = m2.a;
164
- const b2 = m2.b;
165
- const c2 = m2.c;
166
- const d2 = m2.d;
167
- const tx2 = m2.e;
168
- const ty2 = m2.f;
169
- return {
170
- a: a1 * a2 + c1 * b2, // a
171
- b: b1 * a2 + d1 * b2, // b
172
- c: a1 * c2 + c1 * d2, // c
173
- d: b1 * c2 + d1 * d2, // d
174
- e: a1 * tx2 + c1 * ty2 + tx1, // tx
175
- f: b1 * tx2 + d1 * ty2 + ty1 // ty
176
- };
177
- }
178
- /**
179
- * Decomposes a 2D transformation matrix into Translation, Rotation, and Scale (TRS)
180
- *
181
- * @param matrix - The transformation matrix to decompose
182
- * @returns Object containing translation, rotation (in radians), and scale components
183
- *
184
- * @category Matrix
185
- */
186
- export function decomposeTRS(matrix) {
187
- const { a, b, c, d, e, f } = matrix;
188
- // Translation is directly available in the matrix
189
- const translation = { x: e, y: f };
190
- // Extract rotation and scale using QR decomposition
191
- // For 2D matrices, we can use a simpler approach
192
- // Calculate the determinant to check if the matrix is valid
193
- const det = a * d - b * c;
194
- if (Math.abs(det) < 1e-10) {
195
- // Matrix is singular or nearly singular
196
- throw new Error('Matrix is singular and cannot be decomposed');
197
- }
198
- // Extract rotation using atan2
199
- // The rotation is the angle of the first column vector (a, b)
200
- const rotation = Math.atan2(b, a);
201
- // Extract scale by normalizing the rotation component
202
- const cos_r = Math.cos(rotation);
203
- const sin_r = Math.sin(rotation);
204
- // Remove rotation from the matrix to get pure scaling
205
- // R^(-1) * M = S
206
- const scaleX = a * cos_r + b * sin_r;
207
- const scaleY = c * (-sin_r) + d * cos_r;
208
- // Handle negative scales by adjusting rotation
209
- let finalRotation = rotation;
210
- let finalScaleX = scaleX;
211
- let finalScaleY = scaleY;
212
- if (scaleX < 0) {
213
- finalScaleX = -scaleX;
214
- finalRotation += Math.PI;
215
- }
216
- if (scaleY < 0) {
217
- finalScaleY = -scaleY;
218
- finalRotation += Math.PI;
219
- }
220
- // Normalize rotation to [-π, π]
221
- while (finalRotation > Math.PI)
222
- finalRotation -= 2 * Math.PI;
223
- while (finalRotation < -Math.PI)
224
- finalRotation += 2 * Math.PI;
225
- return {
226
- translation,
227
- rotation: finalRotation,
228
- scale: { x: finalScaleX, y: finalScaleY }
229
- };
230
- }
231
- /**
232
- * Creates a transformation matrix from TRS components
233
- *
234
- * @param translation - Translation vector
235
- * @param rotation - Rotation in radians
236
- * @param scale - Scale vector
237
- * @returns Transformation matrix
238
- *
239
- * @category Matrix
240
- */
241
- export function createTRSMatrix(translation, rotation, scale) {
242
- const cos_r = Math.cos(rotation);
243
- const sin_r = Math.sin(rotation);
244
- return {
245
- a: scale.x * cos_r,
246
- b: scale.x * sin_r,
247
- c: -scale.y * sin_r,
248
- d: scale.y * cos_r,
249
- e: translation.x,
250
- f: translation.y
251
- };
252
- }
253
- /**
254
- * Decomposes a matrix using SVD (Singular Value Decomposition) approach
255
- * This is an alternative method that can handle more complex transformations
256
- *
257
- * @param matrix - The transformation matrix to decompose
258
- * @returns Object containing translation, rotation, and scale components
259
- *
260
- * @category Matrix
261
- */
262
- export function decomposeTRSSVD(matrix) {
263
- const { a, b, c, d, e, f } = matrix;
264
- // Translation is directly available
265
- const translation = { x: e, y: f };
266
- // Extract the 2x2 transformation part
267
- const m11 = a, m12 = c;
268
- const m21 = b, m22 = d;
269
- // Compute SVD: M = U * S * V^T
270
- // For 2x2 matrices, we can compute this analytically
271
- // Compute M^T * M = V * S^2 * V^T
272
- const mtm11 = m11 * m11 + m21 * m21;
273
- const mtm12 = m11 * m12 + m21 * m22;
274
- const mtm21 = mtm12;
275
- const mtm22 = m12 * m12 + m22 * m22;
276
- // Compute eigenvalues of M^T * M
277
- const trace = mtm11 + mtm22;
278
- const det = mtm11 * mtm22 - mtm12 * mtm21;
279
- const discriminant = trace * trace - 4 * det;
280
- if (discriminant < 0) {
281
- throw new Error('Invalid transformation matrix');
282
- }
283
- const sqrtDisc = Math.sqrt(discriminant);
284
- const lambda1 = (trace + sqrtDisc) / 2;
285
- const lambda2 = (trace - sqrtDisc) / 2;
286
- // Singular values are square roots of eigenvalues
287
- const s1 = Math.sqrt(Math.max(0, lambda1));
288
- const s2 = Math.sqrt(Math.max(0, lambda2));
289
- // Scale is the singular values
290
- const scale = { x: s1, y: s2 };
291
- // Compute rotation from U matrix
292
- // U = M * V * S^(-1)
293
- let rotation = 0;
294
- if (s1 > 1e-10) {
295
- // Compute V matrix (eigenvectors of M^T * M)
296
- const v11 = mtm12;
297
- const v12 = lambda1 - mtm11;
298
- const v21 = lambda2 - mtm22;
299
- const v22 = mtm21;
300
- // Normalize V
301
- const vNorm1 = Math.sqrt(v11 * v11 + v21 * v21);
302
- const vNorm2 = Math.sqrt(v12 * v12 + v22 * v22);
303
- if (vNorm1 > 1e-10 && vNorm2 > 1e-10) {
304
- const v11n = v11 / vNorm1;
305
- const v21n = v21 / vNorm1;
306
- const v12n = v12 / vNorm2;
307
- const v22n = v22 / vNorm2;
308
- // Compute U = M * V * S^(-1)
309
- const u11 = (m11 * v11n + m12 * v21n) / s1;
310
- const u21 = (m21 * v11n + m22 * v21n) / s1;
311
- rotation = Math.atan2(u21, u11);
312
- }
313
- }
314
- return {
315
- translation,
316
- rotation,
317
- scale
318
- };
319
- }
320
- // Example usage and test
321
- function testDecomposition() {
322
- // Test parameters
323
- const originalCamera = {
324
- position: { x: 100, y: 50 },
325
- zoom: 2.0,
326
- rotation: Math.PI / 6 // 30 degrees
327
- };
328
- const devicePixelRatio = 1.5;
329
- const canvasWidth = 800;
330
- const canvasHeight = 600;
331
- console.log('=== Testing Camera Matrix Decomposition ===');
332
- console.log('Original camera parameters:');
333
- console.log(`Position: (${originalCamera.position.x}, ${originalCamera.position.y})`);
334
- console.log(`Zoom: ${originalCamera.zoom}`);
335
- console.log(`Rotation: ${(originalCamera.rotation * 180 / Math.PI).toFixed(2)}°`);
336
- console.log(`Device Pixel Ratio: ${devicePixelRatio}`);
337
- console.log(`Canvas: ${canvasWidth}x${canvasHeight}`);
338
- // Create transformation matrix
339
- const matrix = createCameraMatrix(originalCamera.position, originalCamera.zoom, originalCamera.rotation, devicePixelRatio, canvasWidth, canvasHeight);
340
- console.log('\n=== Decomposition Process ===');
341
- // Decompose the matrix
342
- const decomposed = decomposeCameraMatrixVerbose(matrix, devicePixelRatio, canvasWidth, canvasHeight);
343
- console.log('\n=== Results ===');
344
- console.log('Decomposed camera parameters:');
345
- console.log(`Position: (${decomposed.position.x.toFixed(3)}, ${decomposed.position.y.toFixed(3)})`);
346
- console.log(`Zoom: ${decomposed.zoom.toFixed(3)}`);
347
- console.log(`Rotation: ${(decomposed.rotation * 180 / Math.PI).toFixed(2)}°`);
348
- // Check accuracy
349
- const posError = Math.sqrt(Math.pow(originalCamera.position.x - decomposed.position.x, 2) +
350
- Math.pow(originalCamera.position.y - decomposed.position.y, 2));
351
- const zoomError = Math.abs(originalCamera.zoom - decomposed.zoom);
352
- const rotError = Math.abs(originalCamera.rotation - decomposed.rotation);
353
- console.log('\n=== Accuracy Check ===');
354
- console.log(`Position error: ${posError.toFixed(6)}`);
355
- console.log(`Zoom error: ${zoomError.toFixed(6)}`);
356
- console.log(`Rotation error: ${rotError.toFixed(6)} radians`);
357
- }
358
- /**
359
- * Test function for TRS decomposition
360
- */
361
- function testTRSDecomposition() {
362
- console.log('=== Testing TRS Decomposition ===');
363
- // Test case 1: Simple translation
364
- console.log('\n--- Test 1: Simple Translation ---');
365
- const translation = { x: 10, y: 20 };
366
- const rotation = 0;
367
- const scale = { x: 1, y: 1 };
368
- const matrix1 = createTRSMatrix(translation, rotation, scale);
369
- const decomposed1 = decomposeTRS(matrix1);
370
- console.log('Original:', { translation, rotation, scale });
371
- console.log('Decomposed:', decomposed1);
372
- // Test case 2: Translation + Rotation
373
- console.log('\n--- Test 2: Translation + Rotation ---');
374
- const translation2 = { x: 15, y: 25 };
375
- const rotation2 = Math.PI / 4; // 45 degrees
376
- const scale2 = { x: 1, y: 1 };
377
- const matrix2 = createTRSMatrix(translation2, rotation2, scale2);
378
- const decomposed2 = decomposeTRS(matrix2);
379
- console.log('Original:', { translation: translation2, rotation: rotation2, scale: scale2 });
380
- console.log('Decomposed:', decomposed2);
381
- // Test case 3: Translation + Rotation + Scale
382
- console.log('\n--- Test 3: Translation + Rotation + Scale ---');
383
- const translation3 = { x: 30, y: 40 };
384
- const rotation3 = Math.PI / 3; // 60 degrees
385
- const scale3 = { x: 2, y: 1.5 };
386
- const matrix3 = createTRSMatrix(translation3, rotation3, scale3);
387
- const decomposed3 = decomposeTRS(matrix3);
388
- console.log('Original:', { translation: translation3, rotation: rotation3, scale: scale3 });
389
- console.log('Decomposed:', decomposed3);
390
- // Test case 4: Negative scale
391
- console.log('\n--- Test 4: Negative Scale ---');
392
- const translation4 = { x: 50, y: 60 };
393
- const rotation4 = Math.PI / 6; // 30 degrees
394
- const scale4 = { x: -1.5, y: 2 };
395
- const matrix4 = createTRSMatrix(translation4, rotation4, scale4);
396
- const decomposed4 = decomposeTRS(matrix4);
397
- console.log('Original:', { translation: translation4, rotation: rotation4, scale: scale4 });
398
- console.log('Decomposed:', decomposed4);
399
- // Test case 5: Compare with SVD method
400
- console.log('\n--- Test 5: Compare TRS vs SVD ---');
401
- const decomposed5TRS = decomposeTRS(matrix3);
402
- const decomposed5SVD = decomposeTRSSVD(matrix3);
403
- console.log('TRS method:', decomposed5TRS);
404
- console.log('SVD method:', decomposed5SVD);
405
- // Test reconstruction
406
- console.log('\n--- Test 6: Matrix Reconstruction ---');
407
- const reconstructed = createTRSMatrix(decomposed3.translation, decomposed3.rotation, decomposed3.scale);
408
- console.log('Original matrix:', matrix3);
409
- console.log('Reconstructed matrix:', reconstructed);
410
- const matrixError = Math.sqrt(Math.pow(matrix3.a - reconstructed.a, 2) +
411
- Math.pow(matrix3.b - reconstructed.b, 2) +
412
- Math.pow(matrix3.c - reconstructed.c, 2) +
413
- Math.pow(matrix3.d - reconstructed.d, 2) +
414
- Math.pow(matrix3.e - reconstructed.e, 2) +
415
- Math.pow(matrix3.f - reconstructed.f, 2));
416
- console.log(`Matrix reconstruction error: ${matrixError.toFixed(10)}`);
417
- }
418
- // Run the test
419
- // testDecomposition();
420
- // testTRSDecomposition();
421
- //# sourceMappingURL=matrix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../../src/camera/utils/matrix.ts"],"names":[],"mappings":"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"}
@@ -1,177 +0,0 @@
1
- import { PointCal } from "@ue-too/math";
2
- import { convert2WorldSpaceWRT } from "./coordinate-conversion";
3
- /**
4
- * @description Checks if a point is within the boundaries.
5
- *
6
- * @category Camera
7
- */
8
- export function withinBoundaries(point, boundaries) {
9
- if (boundaries == undefined) {
10
- // no boundaries
11
- return true;
12
- }
13
- let leftSide = false;
14
- let rightSide = false;
15
- let topSide = false;
16
- let bottomSide = false;
17
- // check within boundaries horizontally
18
- if (boundaries.max == undefined || boundaries.max.x == undefined || point.x <= boundaries.max.x) {
19
- rightSide = true;
20
- }
21
- if (boundaries.min == undefined || boundaries.min.x == undefined || point.x >= boundaries.min.x) {
22
- leftSide = true;
23
- }
24
- if (boundaries.max == undefined || boundaries.max.y == undefined || point.y <= boundaries.max.y) {
25
- topSide = true;
26
- }
27
- if (boundaries.min == undefined || boundaries.min.y == undefined || point.y >= boundaries.min.y) {
28
- bottomSide = true;
29
- }
30
- return leftSide && rightSide && topSide && bottomSide;
31
- }
32
- /**
33
- * @description Checks if the boundaries are valid.
34
- *
35
- * @category Camera
36
- */
37
- export function isValidBoundaries(boundaries) {
38
- if (boundaries == undefined) {
39
- return true;
40
- }
41
- const minX = boundaries.min?.x;
42
- const maxX = boundaries.max?.x;
43
- if (minX != undefined && maxX != undefined && minX >= maxX) {
44
- return false;
45
- }
46
- const minY = boundaries.min?.y;
47
- const maxY = boundaries.max?.y;
48
- if (minY != undefined && maxY != undefined && minY >= maxY) {
49
- return false;
50
- }
51
- return true;
52
- }
53
- /**
54
- * @description Checks if the boundaries are fully defined.
55
- *
56
- * @category Camera
57
- */
58
- export function boundariesFullyDefined(boundaries) {
59
- if (boundaries == undefined) {
60
- return false;
61
- }
62
- if (boundaries.max == undefined || boundaries.min == undefined) {
63
- return false;
64
- }
65
- if (boundaries.max.x == undefined || boundaries.max.y == undefined || boundaries.min.x == undefined || boundaries.min.y == undefined) {
66
- return false;
67
- }
68
- return true;
69
- }
70
- /**
71
- * @description Clamps a point to the boundaries.
72
- *
73
- * @category Camera
74
- */
75
- export function clampPoint(point, boundaries) {
76
- if (withinBoundaries(point, boundaries) || boundaries == undefined) {
77
- return point;
78
- }
79
- let manipulatePoint = { x: point.x, y: point.y };
80
- let limit = boundaries.min;
81
- if (limit != undefined) {
82
- if (limit.x != undefined) {
83
- manipulatePoint.x = Math.max(manipulatePoint.x, limit.x);
84
- }
85
- if (limit.y != undefined) {
86
- manipulatePoint.y = Math.max(manipulatePoint.y, limit.y);
87
- }
88
- }
89
- limit = boundaries.max;
90
- if (limit != undefined) {
91
- if (limit.x != undefined) {
92
- manipulatePoint.x = Math.min(manipulatePoint.x, limit.x);
93
- }
94
- if (limit.y != undefined) {
95
- manipulatePoint.y = Math.min(manipulatePoint.y, limit.y);
96
- }
97
- }
98
- return manipulatePoint;
99
- }
100
- /**
101
- * @description Gets the translation width of the boundaries.
102
- *
103
- * @category Camera
104
- */
105
- export function translationWidthOf(boundaries) {
106
- if (boundaries == undefined || boundaries.min == undefined || boundaries.max == undefined || boundaries.min.x == undefined || boundaries.max.x == undefined) {
107
- return undefined;
108
- }
109
- return boundaries.max.x - boundaries.min.x;
110
- }
111
- /**
112
- * @description Gets the half translation width of the boundaries.
113
- *
114
- * @category Camera
115
- */
116
- export function halfTranslationWidthOf(boundaries) {
117
- const translationWidth = translationWidthOf(boundaries);
118
- return translationWidth != undefined ? translationWidth / 2 : undefined;
119
- }
120
- /**
121
- * @description Gets the translation height of the boundaries.
122
- *
123
- * @category Camera
124
- */
125
- export function translationHeightOf(boundaries) {
126
- if (boundaries == undefined || boundaries.min == undefined || boundaries.max == undefined || boundaries.min.y == undefined || boundaries.max.y == undefined) {
127
- return undefined;
128
- }
129
- return boundaries.max.y - boundaries.min.y;
130
- }
131
- /**
132
- * @description Gets the half translation height of the boundaries.
133
- *
134
- * @category Camera
135
- */
136
- export function halfTranslationHeightOf(boundaries) {
137
- const translationHeight = translationHeightOf(boundaries);
138
- return translationHeight != undefined ? translationHeight / 2 : undefined;
139
- }
140
- /**
141
- * @description Clamps the entire viewport within the boundaries
142
- *
143
- * @category Camera
144
- */
145
- export function clampPointEntireViewPort(point, viewPortWidth, viewPortHeight, boundaries, cameraZoomLevel, cameraRotation) {
146
- if (boundaries == undefined) {
147
- return point;
148
- }
149
- let topLeftCorner = convert2WorldSpaceWRT(point, { x: 0, y: viewPortHeight }, viewPortWidth, viewPortHeight, cameraZoomLevel, cameraRotation);
150
- let bottomLeftCorner = convert2WorldSpaceWRT(point, { x: 0, y: 0 }, viewPortWidth, viewPortHeight, cameraZoomLevel, cameraRotation);
151
- let topRightCorner = convert2WorldSpaceWRT(point, { x: viewPortWidth, y: viewPortHeight }, viewPortWidth, viewPortHeight, cameraZoomLevel, cameraRotation);
152
- let bottomRightCorner = convert2WorldSpaceWRT(point, { x: viewPortWidth, y: 0 }, viewPortWidth, viewPortHeight, cameraZoomLevel, cameraRotation);
153
- let topLeftCornerClamped = clampPoint(topLeftCorner, boundaries);
154
- let topRightCornerClamped = clampPoint(topRightCorner, boundaries);
155
- let bottomLeftCornerClamped = clampPoint(bottomLeftCorner, boundaries);
156
- let bottomRightCornerClamped = clampPoint(bottomRightCorner, boundaries);
157
- let topLeftCornerDiff = PointCal.subVector(topLeftCornerClamped, topLeftCorner);
158
- let topRightCornerDiff = PointCal.subVector(topRightCornerClamped, topRightCorner);
159
- let bottomLeftCornerDiff = PointCal.subVector(bottomLeftCornerClamped, bottomLeftCorner);
160
- let bottomRightCornerDiff = PointCal.subVector(bottomRightCornerClamped, bottomRightCorner);
161
- let diffs = [topLeftCornerDiff, topRightCornerDiff, bottomLeftCornerDiff, bottomRightCornerDiff];
162
- let maxXDiff = Math.abs(diffs[0].x);
163
- let maxYDiff = Math.abs(diffs[0].y);
164
- let delta = diffs[0];
165
- diffs.forEach((diff) => {
166
- if (Math.abs(diff.x) > maxXDiff) {
167
- maxXDiff = Math.abs(diff.x);
168
- delta.x = diff.x;
169
- }
170
- if (Math.abs(diff.y) > maxYDiff) {
171
- maxYDiff = Math.abs(diff.y);
172
- delta.y = diff.y;
173
- }
174
- });
175
- return PointCal.addVector(point, delta);
176
- }
177
- //# sourceMappingURL=position.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/camera/utils/position.ts"],"names":[],"mappings":"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"}