@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.
- package/package.json +10 -11
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js +0 -475
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js +0 -340
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/base.js.map +0 -1
- 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
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js +0 -5
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/animation-and-lock/index.js.map +0 -1
- 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
- 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
- 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
- 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
- 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
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js +0 -4
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js +0 -2
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/interface.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js +0 -38
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-mux/relay.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js +0 -454
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/camera-rig.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js +0 -6
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js +0 -124
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/pan-handler.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js +0 -71
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/rotation-handler.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js +0 -4
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/position-update-batcher.js +0 -97
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/rotation-update-batcher.js +0 -91
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.js +0 -128
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js +0 -76
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/camera-rig/zoom-handler.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js +0 -258
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/default-camera.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js +0 -9
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js +0 -2
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/interface.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js +0 -74
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/update-publisher.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js +0 -150
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/coordinate-conversion.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js +0 -6
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js +0 -421
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/matrix.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js +0 -177
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/position.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js +0 -122
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/rotation.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js +0 -46
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera/utils/zoom.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js +0 -6
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js +0 -4
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js +0 -5
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/kmt-input-context.js +0 -191
- 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
- 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
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/input-state-machine/touch-input-context.js +0 -62
- 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
- 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
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js +0 -3
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-parser/index.js.map +0 -1
- 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
- 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
- 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
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js +0 -2
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation/raw-input-publisher/raw-input-publisher.js +0 -99
- 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
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js +0 -184
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/canvas-position-dimension.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js +0 -10
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/coorindate-conversion.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js +0 -450
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing-utils.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js +0 -192
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/drawing.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js +0 -27
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/handler-pipeline.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js +0 -9
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js +0 -47
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/observable.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js +0 -21
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/ruler.js.map +0 -1
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js +0 -102
- package/.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils/zoomlevel-adjustment.js.map +0 -1
- package/dist/board.tsbuildinfo +0 -1
- package/dist/boardify/index.d.ts +0 -192
- package/dist/camera/base.d.ts +0 -189
- package/dist/camera/camera-mux/animation-and-lock/animation-and-lock.d.ts +0 -50
- package/dist/camera/camera-mux/animation-and-lock/index.d.ts +0 -4
- package/dist/camera/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +0 -137
- package/dist/camera/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +0 -131
- package/dist/camera/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +0 -143
- package/dist/camera/camera-mux/index.d.ts +0 -3
- package/dist/camera/camera-mux/interface.d.ts +0 -12
- package/dist/camera/camera-mux/relay.d.ts +0 -27
- package/dist/camera/camera-rig/camera-rig.d.ts +0 -207
- package/dist/camera/camera-rig/index.d.ts +0 -5
- package/dist/camera/camera-rig/pan-handler.d.ts +0 -113
- package/dist/camera/camera-rig/rotation-handler.d.ts +0 -78
- package/dist/camera/camera-rig/update-batcher/index.d.ts +0 -3
- package/dist/camera/camera-rig/update-batcher/position-update-batcher.d.ts +0 -58
- package/dist/camera/camera-rig/update-batcher/rotation-update-batcher.d.ts +0 -54
- package/dist/camera/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +0 -60
- package/dist/camera/camera-rig/zoom-handler.d.ts +0 -77
- package/dist/camera/default-camera.d.ts +0 -170
- package/dist/camera/index.d.ts +0 -8
- package/dist/camera/interface.d.ts +0 -59
- package/dist/camera/update-publisher.d.ts +0 -172
- package/dist/camera/utils/coordinate-conversion.d.ts +0 -75
- package/dist/camera/utils/index.d.ts +0 -5
- package/dist/camera/utils/matrix.d.ts +0 -114
- package/dist/camera/utils/position.d.ts +0 -71
- package/dist/camera/utils/rotation.d.ts +0 -64
- package/dist/camera/utils/zoom.d.ts +0 -25
- package/dist/index.d.ts +0 -5
- package/dist/input-interpretation/index.d.ts +0 -3
- package/dist/input-interpretation/input-state-machine/index.d.ts +0 -4
- package/dist/input-interpretation/input-state-machine/kmt-input-context.d.ts +0 -130
- package/dist/input-interpretation/input-state-machine/kmt-input-state-machine.d.ts +0 -194
- package/dist/input-interpretation/input-state-machine/touch-input-context.d.ts +0 -44
- package/dist/input-interpretation/input-state-machine/touch-input-state-machine.d.ts +0 -64
- package/dist/input-interpretation/raw-input-parser/index.d.ts +0 -2
- package/dist/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.d.ts +0 -87
- package/dist/input-interpretation/raw-input-parser/vanilla-touch-event-parser.d.ts +0 -55
- package/dist/input-interpretation/raw-input-publisher/index.d.ts +0 -1
- package/dist/input-interpretation/raw-input-publisher/raw-input-publisher.d.ts +0 -130
- package/dist/package.json +0 -39
- package/dist/utils/canvas-position-dimension.d.ts +0 -18
- package/dist/utils/coorindate-conversion.d.ts +0 -5
- package/dist/utils/drawing-utils.d.ts +0 -55
- package/dist/utils/drawing.d.ts +0 -30
- package/dist/utils/handler-pipeline.d.ts +0 -30
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/observable.d.ts +0 -9
- package/dist/utils/ruler.d.ts +0 -1
- package/dist/utils/zoomlevel-adjustment.d.ts +0 -28
- package/jest.config.js +0 -18
- package/project.json +0 -34
- package/rollup.config.js +0 -29
- package/src/boardify/index.ts +0 -562
- package/src/camera/base.ts +0 -387
- package/src/camera/camera-mux/animation-and-lock/animation-and-lock.ts +0 -114
- package/src/camera/camera-mux/animation-and-lock/index.ts +0 -4
- package/src/camera/camera-mux/animation-and-lock/pan-control-state-machine.ts +0 -248
- package/src/camera/camera-mux/animation-and-lock/rotation-control-state-machine.ts +0 -237
- package/src/camera/camera-mux/animation-and-lock/zoom-control-state-machine.ts +0 -263
- package/src/camera/camera-mux/index.ts +0 -3
- package/src/camera/camera-mux/interface.ts +0 -13
- package/src/camera/camera-mux/relay.ts +0 -50
- package/src/camera/camera-rig/camera-rig.ts +0 -560
- package/src/camera/camera-rig/index.ts +0 -5
- package/src/camera/camera-rig/pan-handler.ts +0 -192
- package/src/camera/camera-rig/rotation-handler.ts +0 -124
- package/src/camera/camera-rig/update-batcher/index.ts +0 -3
- package/src/camera/camera-rig/update-batcher/position-update-batcher.ts +0 -133
- package/src/camera/camera-rig/update-batcher/rotation-update-batcher.ts +0 -123
- package/src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts +0 -157
- package/src/camera/camera-rig/zoom-handler.ts +0 -123
- package/src/camera/default-camera.ts +0 -297
- package/src/camera/index.ts +0 -8
- package/src/camera/interface.ts +0 -45
- package/src/camera/update-publisher.ts +0 -222
- package/src/camera/utils/coordinate-conversion.ts +0 -160
- package/src/camera/utils/index.ts +0 -5
- package/src/camera/utils/matrix.ts +0 -558
- package/src/camera/utils/position.ts +0 -196
- package/src/camera/utils/rotation.ts +0 -147
- package/src/camera/utils/zoom.ts +0 -55
- package/src/index.ts +0 -5
- package/src/input-interpretation/index.ts +0 -3
- package/src/input-interpretation/input-state-machine/index.ts +0 -4
- package/src/input-interpretation/input-state-machine/kmt-input-context.ts +0 -283
- package/src/input-interpretation/input-state-machine/kmt-input-state-machine.ts +0 -491
- package/src/input-interpretation/input-state-machine/touch-input-context.ts +0 -106
- package/src/input-interpretation/input-state-machine/touch-input-state-machine.ts +0 -215
- package/src/input-interpretation/raw-input-parser/index.ts +0 -2
- package/src/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.ts +0 -207
- package/src/input-interpretation/raw-input-parser/vanilla-touch-event-parser.ts +0 -169
- package/src/input-interpretation/raw-input-publisher/index.ts +0 -1
- package/src/input-interpretation/raw-input-publisher/raw-input-publisher.ts +0 -227
- package/src/utils/canvas-position-dimension.ts +0 -215
- package/src/utils/coorindate-conversion.ts +0 -12
- package/src/utils/drawing-utils.ts +0 -439
- package/src/utils/drawing.ts +0 -266
- package/src/utils/handler-pipeline.ts +0 -41
- package/src/utils/index.ts +0 -8
- package/src/utils/observable.ts +0 -63
- package/src/utils/ruler.ts +0 -18
- package/src/utils/zoomlevel-adjustment.ts +0 -108
- package/test/board-camera/camera-rig.test.ts +0 -78
- package/test/board-camera/camera-utils.test.ts +0 -263
- package/test/board-camera/utils/coordinate-conversion.test.ts +0 -26
- package/test/board-camera/utils/matrix.test.ts +0 -35
- package/test/boardify/utils/canvas.test.ts +0 -20
- package/test/util/drawing.test.ts +0 -83
- package/test/util/handler-pipeline.test.ts +0 -74
- package/test/util/observable.test.ts +0 -42
- package/test/util/ruler.test.ts +0 -41
- package/tsconfig.json +0 -23
- package/tsconfig.spec.json +0 -12
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/board.tsbuildinfo → board.tsbuildinfo} +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/boardify → boardify}/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/base.d.ts +0 -0
- /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
- /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
- /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
- /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
- /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
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/interface.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-mux/relay.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/camera-rig.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/pan-handler.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/rotation-handler.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/update-batcher/index.d.ts +0 -0
- /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
- /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
- /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
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/camera-rig/zoom-handler.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/default-camera.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/interface.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/update-publisher.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/coordinate-conversion.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/matrix.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/position.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/rotation.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/camera → camera}/utils/zoom.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/index.js.map → index.js.map} +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/input-interpretation → input-interpretation}/index.d.ts +0 -0
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /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
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/canvas-position-dimension.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/coorindate-conversion.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing-utils.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/drawing.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/handler-pipeline.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/index.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/observable.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/ruler.d.ts +0 -0
- /package/{.rollup.cache/home/runner/work/ue-too/ue-too/packages/board/dist/utils → utils}/zoomlevel-adjustment.d.ts +0 -0
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { Point } from "@ue-too/math";
|
|
2
|
-
import { Observable, Observer, SubscriptionOptions } from "../utils/observable";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @description The payload for the pan event.
|
|
6
|
-
*
|
|
7
|
-
* @category Camera
|
|
8
|
-
*/
|
|
9
|
-
export type CameraPanEventPayload = {
|
|
10
|
-
diff: Point;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @description The payload for the zoom event.
|
|
15
|
-
*
|
|
16
|
-
* @category Camera
|
|
17
|
-
*/
|
|
18
|
-
export type CameraZoomEventPayload = {
|
|
19
|
-
deltaZoomAmount: number;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @description The payload for the rotate event.
|
|
24
|
-
*
|
|
25
|
-
* @category Camera
|
|
26
|
-
*/
|
|
27
|
-
export type CameraRotateEventPayload = {
|
|
28
|
-
deltaRotation: number;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @description The mapping of the camera events.
|
|
33
|
-
* This is primarily used for type inference.
|
|
34
|
-
*
|
|
35
|
-
* @category Camera
|
|
36
|
-
*/
|
|
37
|
-
export type CameraEventMap = {
|
|
38
|
-
"pan": CameraPanEventPayload,
|
|
39
|
-
"zoom": CameraZoomEventPayload,
|
|
40
|
-
"rotate": CameraRotateEventPayload,
|
|
41
|
-
"all": AllCameraEventPayload,
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* @description The type of the camera rotate event.
|
|
46
|
-
* The type is for discriminating the event type when the all event is triggered.
|
|
47
|
-
*
|
|
48
|
-
* @category Camera
|
|
49
|
-
*/
|
|
50
|
-
export type CameraRotateEvent = {
|
|
51
|
-
type: "rotate",
|
|
52
|
-
} & CameraRotateEventPayload;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* @description The type of the camera pan event.
|
|
56
|
-
* The type is for discriminating the event type when the all event is triggered.
|
|
57
|
-
*
|
|
58
|
-
* @category Camera
|
|
59
|
-
*/
|
|
60
|
-
export type CameraPanEvent = {
|
|
61
|
-
type: "pan",
|
|
62
|
-
} & CameraPanEventPayload;
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* @description The type of the camera zoom event.
|
|
66
|
-
* The type is for discriminating the event type when the all event is triggered.
|
|
67
|
-
*
|
|
68
|
-
* @category Camera
|
|
69
|
-
*/
|
|
70
|
-
export type CameraZoomEvent = {
|
|
71
|
-
type: "zoom",
|
|
72
|
-
} & CameraZoomEventPayload;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @description The type of the camera state.
|
|
76
|
-
*
|
|
77
|
-
* @category Camera
|
|
78
|
-
*/
|
|
79
|
-
export type CameraState = {
|
|
80
|
-
position: Point;
|
|
81
|
-
zoomLevel: number;
|
|
82
|
-
rotation: number;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @description The payload type of the "all" camera event payload.
|
|
87
|
-
*
|
|
88
|
-
* @category Camera
|
|
89
|
-
*/
|
|
90
|
-
export type AllCameraEventPayload = CameraRotateEvent | CameraPanEvent | CameraZoomEvent;
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* @description The callback function type for the camera event.
|
|
94
|
-
*
|
|
95
|
-
* @category Camera
|
|
96
|
-
*/
|
|
97
|
-
export type Callback<K extends keyof CameraEventMap> = (event: CameraEventMap[K], cameraState: CameraState)=>void;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* @description The callback function type for the "all" camera event.
|
|
101
|
-
*
|
|
102
|
-
* @category Camera
|
|
103
|
-
*/
|
|
104
|
-
export type ConslidateCallback = (payload: AllCameraEventPayload, cameraState: CameraState) => void;
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* @description The type of the unsubscribe function.
|
|
108
|
-
*
|
|
109
|
-
* @category Camera
|
|
110
|
-
*/
|
|
111
|
-
export type UnSubscribe = () => void;
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* @description The observer type for the pan event.
|
|
115
|
-
*
|
|
116
|
-
* @category Camera
|
|
117
|
-
*/
|
|
118
|
-
export type PanObserver = Callback<"pan">;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* @description The observer type for the zoom event.
|
|
122
|
-
*
|
|
123
|
-
* @category Camera
|
|
124
|
-
*/
|
|
125
|
-
export type ZoomObserver = Callback<"zoom">;
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* @description The observer type for the rotate event.
|
|
129
|
-
*
|
|
130
|
-
* @category Camera
|
|
131
|
-
*/
|
|
132
|
-
export type RotateObserver = Callback<"rotate">;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* @description The observer type for the "all" camera event.
|
|
136
|
-
*
|
|
137
|
-
* @category Camera
|
|
138
|
-
*/
|
|
139
|
-
export type AllObserver = Callback<"all">;
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* @description The camera update publisher.
|
|
143
|
-
*
|
|
144
|
-
* @category Camera
|
|
145
|
-
*/
|
|
146
|
-
export class CameraUpdatePublisher {
|
|
147
|
-
|
|
148
|
-
private pan: Observable<Parameters<Callback<"pan">>>;
|
|
149
|
-
private zoom: Observable<Parameters<Callback<"zoom">>>;
|
|
150
|
-
private rotate: Observable<Parameters<Callback<"rotate">>>;
|
|
151
|
-
private all: Observable<Parameters<Callback<"all">>>;
|
|
152
|
-
|
|
153
|
-
constructor() {
|
|
154
|
-
this.pan = new Observable<Parameters<Callback<"pan">>>();
|
|
155
|
-
this.zoom = new Observable<Parameters<Callback<"zoom">>>();
|
|
156
|
-
this.rotate = new Observable<Parameters<Callback<"rotate">>>();
|
|
157
|
-
this.all = new Observable<Parameters<Callback<"all">>>();
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* @description Notify the pan event.
|
|
162
|
-
* Will also notify the "all" event.
|
|
163
|
-
*
|
|
164
|
-
* @category Camera
|
|
165
|
-
*/
|
|
166
|
-
notifyPan(event: CameraEventMap["pan"], cameraState: CameraState): void {
|
|
167
|
-
this.pan.notify(event, cameraState);
|
|
168
|
-
this.all.notify({type: "pan", diff: event.diff}, cameraState);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* @description Notify the zoom event.
|
|
173
|
-
* Will also notify the "all" event.
|
|
174
|
-
*
|
|
175
|
-
* @category Camera
|
|
176
|
-
*/
|
|
177
|
-
notifyZoom(event: CameraEventMap["zoom"], cameraState: CameraState): void {
|
|
178
|
-
this.zoom.notify(event, cameraState);
|
|
179
|
-
this.all.notify({type: "zoom", deltaZoomAmount: event.deltaZoomAmount}, cameraState);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* @description Notify the rotate event.
|
|
184
|
-
* Will also notify the "all" event.
|
|
185
|
-
*
|
|
186
|
-
* @category Camera
|
|
187
|
-
*/
|
|
188
|
-
notifyRotate(event: CameraEventMap["rotate"], cameraState: CameraState): void {
|
|
189
|
-
this.rotate.notify(event, cameraState);
|
|
190
|
-
this.all.notify({type: "rotate", deltaRotation: event.deltaRotation}, cameraState);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* @description Subscribe to the camera event.
|
|
195
|
-
* You can also pass in the abort controller signal within the options to cancel the subscription. Like this:
|
|
196
|
-
* ```ts
|
|
197
|
-
* const controller = new AbortController();
|
|
198
|
-
* const unSubscribe = on("pan", (event, cameraState)=>{}, {signal: controller.signal});
|
|
199
|
-
*
|
|
200
|
-
* // later in other place where you want to unsubscribe
|
|
201
|
-
* controller.abort();
|
|
202
|
-
*
|
|
203
|
-
* ```
|
|
204
|
-
* This means you can cancel multiple subscriptions by aborting the same controller. Just like regular event listeners.
|
|
205
|
-
*
|
|
206
|
-
* @category Camera
|
|
207
|
-
*/
|
|
208
|
-
on<K extends keyof CameraEventMap>(eventName: K, callback: (event: CameraEventMap[K], cameraState: CameraState)=>void, options?: SubscriptionOptions): UnSubscribe {
|
|
209
|
-
switch (eventName){
|
|
210
|
-
case "pan":
|
|
211
|
-
return this.pan.subscribe(callback as Observer<Parameters<Callback<"pan">>>, options);
|
|
212
|
-
case "zoom":
|
|
213
|
-
return this.zoom.subscribe(callback as Observer<Parameters<Callback<"zoom">>>, options);
|
|
214
|
-
case "rotate":
|
|
215
|
-
return this.rotate.subscribe(callback as Observer<Parameters<Callback<"rotate">>>, options);
|
|
216
|
-
case "all":
|
|
217
|
-
return this.all.subscribe(callback as Observer<Parameters<Callback<"all">>>, options);
|
|
218
|
-
default:
|
|
219
|
-
throw new Error(`Invalid event name: ${eventName}`);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { Point, PointCal } from "@ue-too/math";
|
|
2
|
-
import { multiplyMatrix, TransformationMatrix } from "./matrix";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @description Finds the world space coordinate of the interest point if the camera is at target position.
|
|
6
|
-
* The target position is the "would be" position of the camera in world space.
|
|
7
|
-
* The interest point is the point in view port space where the "bottom left" corner is the origin.
|
|
8
|
-
*
|
|
9
|
-
* @category Camera
|
|
10
|
-
*/
|
|
11
|
-
export function convert2WorldSpaceWRT(targetPosition: Point, interestPoint: Point, viewPortWidth: number, viewPortHeight: number, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
12
|
-
let cameraFrameCenter = {x: viewPortWidth / 2, y: viewPortHeight / 2};
|
|
13
|
-
let delta2Point = PointCal.subVector(interestPoint, cameraFrameCenter);
|
|
14
|
-
delta2Point = PointCal.multiplyVectorByScalar(delta2Point, 1 / cameraZoomLevel);
|
|
15
|
-
delta2Point = PointCal.rotatePoint(delta2Point, cameraRotation);
|
|
16
|
-
return PointCal.addVector(targetPosition, delta2Point);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @description Converts the point to world space.
|
|
21
|
-
* The point is in the viewport space where the "bottom left" corner is the origin.
|
|
22
|
-
* Camera position is the position of the camera in world space.
|
|
23
|
-
*
|
|
24
|
-
* @category Camera
|
|
25
|
-
*/
|
|
26
|
-
export function convert2WorldSpace(point: Point, viewPortWidth: number, viewPortHeight: number, cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
27
|
-
let cameraFrameCenter = {x: viewPortWidth / 2, y: viewPortHeight / 2};
|
|
28
|
-
let delta2Point = PointCal.subVector(point, cameraFrameCenter);
|
|
29
|
-
delta2Point = PointCal.multiplyVectorByScalar(delta2Point, 1 / cameraZoomLevel);
|
|
30
|
-
delta2Point = PointCal.rotatePoint(delta2Point, cameraRotation);
|
|
31
|
-
return PointCal.addVector(cameraPosition, delta2Point);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @description Converts the point to world space.
|
|
36
|
-
* The point is in the viewport space where the origin is at the center of the viewport.
|
|
37
|
-
* Camera position is the position of the camera in world space.
|
|
38
|
-
*
|
|
39
|
-
* @category Camera
|
|
40
|
-
*/
|
|
41
|
-
export function convert2WorldSpaceAnchorAtCenter(point: Point, cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
42
|
-
const scaledBack = PointCal.multiplyVectorByScalar(point, 1 / cameraZoomLevel);
|
|
43
|
-
const rotatedBack = PointCal.rotatePoint(scaledBack, cameraRotation);
|
|
44
|
-
const withOffset = PointCal.addVector(rotatedBack, cameraPosition);
|
|
45
|
-
return withOffset;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* @description Converts a point in "stage/context/world" space to view port space.
|
|
50
|
-
* The origin of the viewport is at the center of the viewport.
|
|
51
|
-
* The point is in world space.
|
|
52
|
-
* The camera position is the position of the camera in world space.
|
|
53
|
-
*
|
|
54
|
-
* @category Camera
|
|
55
|
-
*/
|
|
56
|
-
export function convert2ViewPortSpaceAnchorAtCenter(point: Point, cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
57
|
-
const withOffset = PointCal.subVector(point, cameraPosition);
|
|
58
|
-
const scaled = PointCal.multiplyVectorByScalar(withOffset, cameraZoomLevel);
|
|
59
|
-
const rotated = PointCal.rotatePoint(scaled, -cameraRotation);
|
|
60
|
-
return rotated;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* @description Converts a point in "stage/context/world" space to view port space.
|
|
65
|
-
* The origin of the view port is at the bottom left corner.
|
|
66
|
-
* The point is in world space.
|
|
67
|
-
* The camera position is the position of the camera in world space.
|
|
68
|
-
*
|
|
69
|
-
* @category Camera
|
|
70
|
-
*/
|
|
71
|
-
export function invertFromWorldSpace(point: Point, viewPortWidth: number, viewPortHeight: number, cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
72
|
-
let cameraFrameCenter = {x: viewPortWidth / 2, y: viewPortHeight / 2};
|
|
73
|
-
let delta2Point = PointCal.subVector(point, cameraPosition);
|
|
74
|
-
delta2Point = PointCal.rotatePoint(delta2Point, -cameraRotation);
|
|
75
|
-
delta2Point = PointCal.multiplyVectorByScalar(delta2Point, cameraZoomLevel);
|
|
76
|
-
return PointCal.addVector(cameraFrameCenter, delta2Point);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* @description Checks if a point is in the view port.
|
|
81
|
-
* The point is in world space.
|
|
82
|
-
* The camera position is the position of the camera in world space.
|
|
83
|
-
*
|
|
84
|
-
* @category Camera
|
|
85
|
-
*/
|
|
86
|
-
export function pointIsInViewPort(point: Point, viewPortWidth: number, viewPortHeight: number, cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): boolean{
|
|
87
|
-
const pointInCameraFrame = invertFromWorldSpace(point, viewPortWidth, viewPortHeight, cameraPosition, cameraZoomLevel, cameraRotation);
|
|
88
|
-
if(pointInCameraFrame.x < 0 || pointInCameraFrame.x > viewPortWidth || pointInCameraFrame.y < 0 || pointInCameraFrame.y > viewPortHeight){
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
return true;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @description Converts a delta in view port space to world space.
|
|
96
|
-
* The delta is in view port space.
|
|
97
|
-
*
|
|
98
|
-
* @category Camera
|
|
99
|
-
*/
|
|
100
|
-
export function convertDeltaInViewPortToWorldSpace(delta: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
101
|
-
return PointCal.multiplyVectorByScalar(PointCal.rotatePoint(delta, cameraRotation), 1 / cameraZoomLevel);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @description Converts a delta in world space to view port space.
|
|
106
|
-
* The delta is in world space.
|
|
107
|
-
*
|
|
108
|
-
* @category Camera
|
|
109
|
-
*/
|
|
110
|
-
export function convertDeltaInWorldToViewPortSpace(delta: Point, cameraZoomLevel: number, cameraRotation: number): Point{
|
|
111
|
-
return PointCal.multiplyVectorByScalar(PointCal.rotatePoint(delta, -cameraRotation), cameraZoomLevel);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* @description Calculates the camera position to get a point in "stage/context/world" space to be at a certain point in view port space.
|
|
116
|
-
* This is useful to coordinate camera pan and zoom at the same time.
|
|
117
|
-
*
|
|
118
|
-
* @category Camera
|
|
119
|
-
*/
|
|
120
|
-
export function cameraPositionToGet(pointInWorld: Point, toPointInViewPort: Point, cameraZoomLevel: number, cameraRotation: number): Point {
|
|
121
|
-
const scaled = PointCal.multiplyVectorByScalar(toPointInViewPort, 1 / cameraZoomLevel);
|
|
122
|
-
const rotated = PointCal.rotatePoint(scaled, cameraRotation);
|
|
123
|
-
return PointCal.subVector(pointInWorld, rotated);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
export function transformationMatrixFromCamera(cameraPosition: Point, cameraZoomLevel: number, cameraRotation: number): TransformationMatrix{
|
|
127
|
-
const cos = Math.cos(cameraRotation);
|
|
128
|
-
const sin = Math.sin(cameraRotation);
|
|
129
|
-
const trMatrix = multiplyMatrix({
|
|
130
|
-
a: 1,
|
|
131
|
-
b: 0,
|
|
132
|
-
c: 0,
|
|
133
|
-
d: 1,
|
|
134
|
-
e: cameraPosition.x,
|
|
135
|
-
f: cameraPosition.y
|
|
136
|
-
}, {
|
|
137
|
-
a: cos,
|
|
138
|
-
b: sin,
|
|
139
|
-
c: -sin,
|
|
140
|
-
d: cos,
|
|
141
|
-
e: 0,
|
|
142
|
-
f: 0
|
|
143
|
-
});
|
|
144
|
-
const trsMatrix = multiplyMatrix(trMatrix, {
|
|
145
|
-
a: 1 / cameraZoomLevel,
|
|
146
|
-
b: 0,
|
|
147
|
-
c: 0,
|
|
148
|
-
d: 1 / cameraZoomLevel,
|
|
149
|
-
e: 0,
|
|
150
|
-
f: 0
|
|
151
|
-
});
|
|
152
|
-
return trsMatrix;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
export function convert2WorldSpaceWithTransformationMatrix(point: Point, transformationMatrix: TransformationMatrix): Point{
|
|
156
|
-
return {
|
|
157
|
-
x: point.x * transformationMatrix.a + point.y * transformationMatrix.c + transformationMatrix.e,
|
|
158
|
-
y: point.x * transformationMatrix.b + point.y * transformationMatrix.d + transformationMatrix.f
|
|
159
|
-
}
|
|
160
|
-
}
|