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