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