@ue-too/board 0.5.1
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/LICENSE.txt +19 -0
- package/board.tsbuildinfo +1 -0
- package/boardify/index.d.ts +192 -0
- package/camera/base.d.ts +189 -0
- package/camera/camera-mux/animation-and-lock/animation-and-lock.d.ts +50 -0
- package/camera/camera-mux/animation-and-lock/index.d.ts +4 -0
- package/camera/camera-mux/animation-and-lock/pan-control-state-machine.d.ts +137 -0
- package/camera/camera-mux/animation-and-lock/rotation-control-state-machine.d.ts +131 -0
- package/camera/camera-mux/animation-and-lock/zoom-control-state-machine.d.ts +143 -0
- package/camera/camera-mux/index.d.ts +3 -0
- package/camera/camera-mux/interface.d.ts +12 -0
- package/camera/camera-mux/relay.d.ts +27 -0
- package/camera/camera-rig/camera-rig.d.ts +207 -0
- package/camera/camera-rig/index.d.ts +5 -0
- package/camera/camera-rig/pan-handler.d.ts +113 -0
- package/camera/camera-rig/rotation-handler.d.ts +78 -0
- package/camera/camera-rig/update-batcher/index.d.ts +3 -0
- package/camera/camera-rig/update-batcher/position-update-batcher.d.ts +58 -0
- package/camera/camera-rig/update-batcher/rotation-update-batcher.d.ts +54 -0
- package/camera/camera-rig/update-batcher/zoom-udpate-batcher.d.ts +60 -0
- package/camera/camera-rig/zoom-handler.d.ts +77 -0
- package/camera/default-camera.d.ts +170 -0
- package/camera/index.d.ts +8 -0
- package/camera/interface.d.ts +59 -0
- package/camera/update-publisher.d.ts +172 -0
- package/camera/utils/coordinate-conversion.d.ts +75 -0
- package/camera/utils/index.d.ts +5 -0
- package/camera/utils/matrix.d.ts +114 -0
- package/camera/utils/position.d.ts +71 -0
- package/camera/utils/rotation.d.ts +64 -0
- package/camera/utils/zoom.d.ts +25 -0
- package/index.d.ts +5 -0
- package/index.js +2 -0
- package/index.js.map +1 -0
- package/input-interpretation/index.d.ts +3 -0
- package/input-interpretation/input-state-machine/index.d.ts +4 -0
- package/input-interpretation/input-state-machine/kmt-input-context.d.ts +130 -0
- package/input-interpretation/input-state-machine/kmt-input-state-machine.d.ts +194 -0
- package/input-interpretation/input-state-machine/touch-input-context.d.ts +44 -0
- package/input-interpretation/input-state-machine/touch-input-state-machine.d.ts +64 -0
- package/input-interpretation/raw-input-parser/index.d.ts +2 -0
- package/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.d.ts +87 -0
- package/input-interpretation/raw-input-parser/vanilla-touch-event-parser.d.ts +55 -0
- package/input-interpretation/raw-input-publisher/index.d.ts +1 -0
- package/input-interpretation/raw-input-publisher/raw-input-publisher.d.ts +130 -0
- package/package.json +39 -0
- package/utils/canvas-position-dimension.d.ts +18 -0
- package/utils/coorindate-conversion.d.ts +5 -0
- package/utils/drawing-utils.d.ts +55 -0
- package/utils/drawing.d.ts +30 -0
- package/utils/handler-pipeline.d.ts +30 -0
- package/utils/index.d.ts +8 -0
- package/utils/observable.d.ts +9 -0
- package/utils/ruler.d.ts +1 -0
- package/utils/zoomlevel-adjustment.d.ts +28 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (c) 2023 niuee
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the “Software”), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
16
|
+
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/typescript@5.7.3/node_modules/typescript/lib/lib.es2020.full.d.ts","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.d.ts","../../math/dist/index.d.ts","../src/utils/observable.ts","../src/camera/update-publisher.ts","../src/camera/utils/rotation.ts","../src/camera/utils/zoom.ts","../src/camera/utils/matrix.ts","../src/camera/utils/coordinate-conversion.ts","../src/camera/utils/position.ts","../src/camera/interface.ts","../src/camera/base.ts","../src/camera/default-camera.ts","../../being/dist/interface.d.ts","../../being/dist/index.d.ts","../src/camera/camera-mux/interface.ts","../src/utils/handler-pipeline.ts","../src/camera/camera-rig/zoom-handler.ts","../src/camera/camera-rig/pan-handler.ts","../src/camera/camera-rig/rotation-handler.ts","../src/camera/camera-mux/animation-and-lock/pan-control-state-machine.ts","../src/camera/camera-mux/animation-and-lock/zoom-control-state-machine.ts","../src/camera/camera-mux/animation-and-lock/rotation-control-state-machine.ts","../src/camera/camera-rig/update-batcher/position-update-batcher.ts","../src/camera/camera-rig/update-batcher/rotation-update-batcher.ts","../src/camera/camera-rig/update-batcher/zoom-udpate-batcher.ts","../src/camera/camera-rig/update-batcher/index.ts","../src/camera/utils/index.ts","../src/camera/camera-rig/camera-rig.ts","../src/camera/camera-rig/index.ts","../src/camera/camera-mux/relay.ts","../src/camera/camera-mux/animation-and-lock/animation-and-lock.ts","../src/camera/camera-mux/animation-and-lock/index.ts","../src/camera/camera-mux/index.ts","../src/input-interpretation/raw-input-publisher/raw-input-publisher.ts","../src/input-interpretation/raw-input-publisher/index.ts","../src/utils/coorindate-conversion.ts","../src/utils/ruler.ts","../src/utils/canvas-position-dimension.ts","../src/utils/drawing-utils.ts","../src/utils/drawing.ts","../src/utils/zoomlevel-adjustment.ts","../src/utils/index.ts","../src/input-interpretation/input-state-machine/kmt-input-context.ts","../src/input-interpretation/input-state-machine/touch-input-context.ts","../src/input-interpretation/input-state-machine/touch-input-state-machine.ts","../src/input-interpretation/input-state-machine/kmt-input-state-machine.ts","../src/input-interpretation/input-state-machine/index.ts","../src/input-interpretation/raw-input-parser/vanilla-kmt-event-parser.ts","../src/input-interpretation/raw-input-parser/vanilla-touch-event-parser.ts","../src/input-interpretation/raw-input-parser/index.ts","../src/boardify/index.ts","../src/camera/index.ts","../src/input-interpretation/index.ts","../src/index.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/@types+jest@29.5.14/node_modules/@types/jest/index.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.20.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.13.4/node_modules/@types/node/index.d.ts"],"fileIdsList":[[120,163],[108,120,163],[110,113,120,163],[120,160,163],[120,162,163],[163],[120,163,168,198],[120,163,164,169,175,176,183,195,206],[120,163,164,165,175,183],[115,116,117,120,163],[120,163,166,207],[120,163,167,168,176,184],[120,163,168,195,203],[120,163,169,171,175,183],[120,162,163,170],[120,163,171,172],[120,163,175],[120,163,173,175],[120,162,163,175],[120,163,175,176,177,195,206],[120,163,175,176,177,190,195,198],[120,158,163,211],[120,158,163,171,175,178,183,195,206],[120,163,175,176,178,179,183,195,203,206],[120,163,178,180,195,203,206],[118,119,120,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[120,163,175,181],[120,163,182,206],[120,163,171,175,183,195],[120,163,184],[120,163,185],[120,162,163,186],[120,160,161,162,163,164,165,166,167,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[120,163,188],[120,163,189],[120,163,175,190,191],[120,163,190,192,207,209],[120,163,175,195,196,197,198],[120,163,195,197],[120,163,195,196],[120,163,198],[120,163,199],[120,160,163,195],[120,163,175,201,202],[120,163,201,202],[120,163,168,183,195,203],[120,163,204],[120,163,183,205],[120,163,178,189,206],[120,163,168,207],[120,163,195,208],[120,163,182,209],[120,163,210],[120,163,168,175,177,186,195,206,209,211],[120,163,195,212],[106,112,120,163],[110,120,163],[107,111,120,163],[109,120,163],[120,130,134,163,206],[120,130,163,195,206],[120,125,163],[120,127,130,163,203,206],[120,163,183,203],[120,163,213],[120,125,163,213],[120,127,130,163,183,206],[120,122,123,126,129,163,175,195,206],[120,130,137,163],[120,122,128,163],[120,130,151,152,163],[120,126,130,163,198,206,213],[120,151,163,213],[120,124,125,163,213],[120,130,163],[120,124,125,126,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,152,153,154,155,156,157,163],[120,130,145,163],[120,130,137,138,163],[120,128,130,138,139,163],[120,129,163],[120,122,125,130,163],[120,130,134,138,139,163],[120,134,163],[120,128,130,133,163,206],[120,122,127,130,137,163],[120,163,195],[120,125,130,151,163,211,213],[64,120,163],[52,53,55,60,61,63,80,84,86,93,98,101,120,163],[52,53,56,57,58,59,60,61,120,163],[52,53,61,66,71,72,73,80,120,163],[52,71,72,73,82,120,163],[52,53,61,65,120,163],[52,61,65,120,163],[52,53,65,120,163],[52,66,81,83,120,163],[52,53,120,163],[52,53,61,63,66,80,120,163],[52,53,61,63,68,69,70,71,72,73,77,78,120,163],[52,68,69,70,77,79,120,163],[52,53,60,61,67,120,163],[52,56,61,67,120,163],[52,74,75,76,120,163],[52,54,120,163],[52,53,54,120,163],[52,57,61,67,120,163],[52,53,54,55,56,57,58,59,60,61,62,120,163],[52,55,61,62,63,78,80,84,120,163],[52,53,54,55,56,57,60,120,163],[52,53,58,120,163],[52,56,57,58,59,60,120,163],[52,120,163],[52,53,59,120,163],[52,93,102,103,104,120,163],[52,86,98,101,120,163],[52,94,95,96,97,120,163],[52,53,65,86,93,120,163],[52,53,65,94,120,163],[52,53,65,86,94,120,163],[52,53,65,95,120,163],[52,99,100,120,163],[52,98,120,163],[52,95,96,120,163],[52,85,120,163],[52,53,54,61,84,120,163],[52,53,60,88,120,163],[52,53,88,120,163],[52,54,67,87,88,89,90,91,92,120,163],[52,57,60,120,163]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},"c4361f6412caabef1b8609a6052bef331a5378d8a5ca3c94a81ac21b9ec2989e","aee5441aa962156ad88d5f815756ca155996bed6a6cdc37fb86c37dcb302581a","f3bfd2312c25a85eb56b94059f25dae4a7064f8e7f31033356895f6ea67fc4f9","14c912ed5888abb8e570269a852a80fc840b681bc19fcca54e73d0d56d4500ac","110df0287579efe3c4f497b467ec789f50e29e926524fd239a39ab6a6efd1904","f2f783aeeaab3f26eae9d7a9de2d0d7cac1bb63df4a426042307138e353e86bb","30183b1aa79abbe98aa3ef405c2a440b85dfbe1877e3b9e7452032bd20cff2a2","fa09ba77d9fc28e39ac58936d7f0d2a6a4a1870edc9c1e0398bcbbd4174e23fe","a1bc83a2978ec447d75b31ce86bc6c0da5be4340e3e93ef45c49848b8397b907","52c0fc34c5c1d9b67ae89ca1cd6fdb578b41e233d85c5ddcbab18e640a725d8f","06ca488ea92323c47ff52116a1b5ae52d05516c5731940ec99413752ec801079","059dbac92226173c88dfa23aae28bc77af048f4d202df410adb552944807edd3","8798c5909b3c4bbf6dd77e770b1f571cde525edf28e64accda6ded5be9c2baac","2507f110a6ef44703a72018964e91a72f947c3de594310d05fded25f30fd6504","9d34b972f4297d7b79fa23aaf4d1380d493e7a4cb193e86299aeae8fcb4fced9","bc45f9ac6bb5f68ac086dba670d3f14fb091f83b1385ae6536415e750a7b090b","5966d272acb1a0c37ca3d564931abaa4454ed23377a814712b41e88efb30b70d","275b64e7f863133553b770f2d8b482609cecef5f1a43b99b700ce5de3825c134","41df6759411c467594355caf112bfde0cf19be057dfb8d2a04606033aab6373c","ce4e4193b0dc4d1f35f3e41fd673ea8b0947306d3c3246373d06da82a29212a4","ca4ca7b66cb841a3585c5a934b938bf45f252ef8c078cf7cc1152be56d2164b0","d6680f03806b3c1b282d5f59f45003629ea091676bc40c7deba6fc29f7da4c2a","0cfd91af5d90776c10847a9f1cdc7475a6dc845e981e7912205bd81f24464ec4","61fc66a169db88278dba58fb5d6d43f0f8047f125965b151296698a6e7eafd7f","f7c7a3de86d163cd6623f6ea8828071031bf883786ba7278ea79b2f634e4e871","52b1e5d3fe19bd1268627eed0a0b20174a45aa550c23ea9ec4cc17c75325d3f7","e63e881f6c05e56c2cc66a2de3031b5a9c8812a844c89067617cbcc49309bbf7","9d02194b1fc3512c4eb65162231fc55d1e186ab508d6c2e65c6be95a15bb3bbd","2e03fa2a0a1a56f7ec5a070da930b67dea7a20b12ff139ce1ff6125d15adc074","a9e5e2c267dc6388dd6d094cb658065e3a5d14e5c9b0ad17bfdedbd4979b54da","148c967d969885211c6406fbeb3bcf73d47c6603d840d8930013f5855f513891","9796119af0edde8935fa60af0a420213b94c062addf8e52310d088c3791676a5","0456826dcb5741497072cab0b252691a520f168bba8b015f68eaca9c71f8cd6a","18216ab20d9ce3bb4a6d98daf7488846467756622ac17d4f64603dbc0c4f03f0","d28fdf32d31050260ed9d4b85870b9a7667bc782b354d0418ae35ea34fc60aff","39e5291130224165d3d5cbb842a73573d9fe9b4002b2ac7a4e515ae85fdbb769","320d00099d36fb8070b71e1f6429607aba598ef4bcff1b85dca503ad750781f9","149251914edc942f464a36ad3962d15a5d5aebcb13e63e524836418a3f3fc1ef","718be7f80db492d5f859fe12df74f3996f5616d934457b32e1bf050b5dee552f","b1e4776c05f63feec419777418aee153198b070521043e5c0261c07b2a86aceb","8bd8affb20126a93322853e190aae36595f20e502ca8b420b1ed2b2e06c42b67","23df4c166b59edd64748259790e0e212e886ad5734d9e4b06d3e0309d80dcee8","017a5b280afdfe4bb52ce47c3727a34ccb2d8825a84c47ebec88a2e7b173b242","3dd7788507492e95d827c6f8776952867b89e6f18d7491ddbf756f7ebcd74ae0","0b10692693c5cb2d07b8405da884d4e6c969651fcb7c5b5a5c542036bf145995","ed2db4edfc8f45f9361dddfa83a57e1d1c89acd070c32e494c413b0b3a0623c0","c0089cd88f741444c8e9c15299eca84c8bcb20a37e600f02f1a073e3fdf3edeb","2bed6716df0ca5bacd687207c26ddb1b9d8be684246b6e0af962b17f541c80ff","42f9cdca85622d7c6c9d496bf6b206c0ce5d8ccb1dd3196f892f6ab9676aeb0d","912bbcb6cb36bfe4c12cd382a0200f4b1716ea299e93e3ca3336e3d225bb6cab","2497a701bd317fd78e3fa86a0791d4cec992fba2958f5cb30424238b3cac59dc","7d7ebfd1784276a604cc9b49778ae1732aca0a1590fc79137dd4186e28779858","69c2349dac938f601b3c9403c0c9675c79d703876799ff0aa4b4ce7c043a5e56",{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"13af9e8fb6757946c48117315866177b95e554d1e773577bb6ca6e40083b6d73","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"b11cb909327c874a4e81bfb390bf0d231e5bf9439052689ab80ba8afa50da17b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"1cbae62b67f180291d211f0e1045fb923a8ec800cfbf9caa13223d769013dae2","impliedFormat":1},{"version":"b52d379b4939681f3781d1cfd5b2c3cbb35e7e76f2425172e165782f8a08228c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[[54,63],[66,105]],"options":{"allowImportingTsExtensions":false,"composite":true,"declaration":true,"declarationMap":false,"emitDeclarationOnly":false,"esModuleInterop":true,"importHelpers":true,"module":99,"noEmitHelpers":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":false,"target":7,"tsBuildInfoFile":"./board.tsbuildinfo"},"referencedMap":[[106,1],[109,2],[108,1],[114,3],[160,4],[161,4],[162,5],[120,6],[163,7],[164,8],[165,9],[115,1],[118,10],[116,1],[117,1],[166,11],[167,12],[168,13],[169,14],[170,15],[171,16],[172,16],[174,17],[173,18],[175,19],[176,20],[177,21],[159,22],[119,1],[178,23],[179,24],[180,25],[213,26],[181,27],[182,28],[183,29],[184,30],[185,31],[186,32],[187,33],[188,34],[189,35],[190,36],[191,36],[192,37],[193,1],[194,1],[195,38],[197,39],[196,40],[198,41],[199,42],[200,43],[201,44],[202,45],[203,46],[204,47],[205,48],[206,49],[207,50],[208,51],[209,52],[210,53],[211,54],[212,55],[121,1],[107,1],[113,56],[111,57],[112,58],[110,59],[52,1],[49,1],[50,1],[10,1],[8,1],[9,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[23,1],[24,1],[4,1],[25,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[51,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[1,1],[12,1],[11,1],[137,60],[147,61],[136,60],[157,62],[128,63],[127,64],[156,65],[150,66],[155,67],[130,68],[144,69],[129,70],[153,71],[125,72],[124,65],[154,73],[126,74],[131,75],[132,1],[135,75],[122,1],[158,76],[148,77],[139,78],[140,79],[142,80],[138,81],[141,82],[151,65],[133,83],[134,84],[143,85],[123,86],[146,77],[145,75],[149,1],[152,87],[65,88],[64,1],[102,89],[62,90],[82,91],[83,92],[71,93],[73,94],[72,95],[84,96],[66,97],[81,98],[79,99],[80,100],[69,101],[70,102],[77,103],[74,104],[75,104],[76,105],[68,106],[63,107],[103,108],[61,109],[55,105],[59,110],[78,111],[58,112],[60,113],[56,112],[57,112],[105,114],[104,115],[98,116],[94,117],[97,118],[95,119],[96,120],[101,121],[99,122],[100,123],[86,124],[85,125],[89,104],[87,97],[90,126],[91,127],[67,112],[93,128],[54,112],[88,112],[92,129],[53,1]],"emitSignatures":[[54,"7a9a3d0a1787653a07d327f430931cc1eedfddff2e142f8f1c820c6e6ea67e20"],[55,"42f4b9943778e48e89e499b47632e50d062ace5d913b3feff32c45199d844e68"],[56,"9af1781092bb46e01545baf828e0622d81eabfb55f7420189f713a839ee97924"],[57,"bfe16085eb790d50f6e806b3029b1e12792e43ce3181d25b94bf75411956a110"],[58,"b25b731ceadd87f46a57dd043acae4cb70dd85bc1fe2f3d07c74c2a64c9e659a"],[59,"6733f83d2e28a7dc565930c73f98d45470b71108ab61660527f399b09b9c3543"],[60,"c5b1e1dd5b1c880989d8cd54b78d127b7c149ce09e83dbc2603c7a42ba54a89c"],[61,"19cb059f6d059c90f52e6d35f97405d49353c0c5ec419e98175bde5ccce0ce8e"],[62,"f78a6646f1662e16375c4b6ddc5cfe6d8016d4aa44607e68ab996468093275a5"],[63,"e3e013ba74aea746507647cc9f81c488343c13922a78dae792aab0436e456b31"],[66,"a022d9d71dfae8301abaae31b2455b47d23ca8bfe3b41fed1c6656068a8af84f"],[67,"550954bca845635feff4cfc1cf0428b2f55bb927fd4f148075c26c8c680fb74e"],[68,"7a555aa6124f4b729a4a83d9f21750a0f8dd28dd355400020648191461c17d43"],[69,"f606a9623f7efd0e9862dd901b445144a015367b61bcdfbcab0d7d98557a4ee9"],[70,"098eaf51f2cffb2b51c7511073ac70d729375f4a1e632896a04bdbd1edac16f1"],[71,"219f2b2a40b9171a33a161bb505e76872afc5796a3ec390faa2e042c506ad6a2"],[72,"91e479f67b1a7b34c79ff410b9930f7574cfd82e74342eacdc55814a8e208fa8"],[73,"5f04515daf56bc2b7a7a5f268850c3f84eb679a491cc4618c0cd2baf99d1a9f8"],[74,"d73b4575d82a19e0ceeed0d9bee7ea5cb7c90c5c56fd83f36c4fd251c3a07847"],[75,"69a3357e38d4eeb59cd4dda498d19f0f9b01aef645c9cac6bd1381c33584c0a9"],[76,"b107339795c89639cb4184a9d9a07d500b35ebee4bb1df7bb9d7af4709dc6f8d"],[79,"f529920d2dd708f1c552c8841cfbda9e44a0464fb85ac54ed1855860539b5d06"],[81,"080d630942ef930e6586a14f83985590300ca647e3247213ff98e9d00bb127f2"],[82,"22920c5f8f9662c8aa08d542b9b41c3e1bb42338da63274b472fce1086cafe9f"],[85,"fd5c5e87c89dc7594416d082f9da58c9edd11d549cc9cb8db8752f70562e8aca"],[87,"4eabfb49ad27a9f2fcd8ae6f3509c0124505e40b1c6ae45c1409c315605c488b"],[88,"2a653beb115ced57b239e7604280968c5c01d9605ca9f5fe0f84deb7f94362f1"],[89,"9351aae07268f489c70df040e6a2f02ebc27665214c92d3871b4ad6faa1784ff"],[90,"f70c7ec845c0a702fba0cea9007f2bc79272878e20346fffc03ef264baf35f41"],[91,"fc47d0d77cc02ede4ce77109c8e1570c7f8ac83d4b7de8bacfe36537ab45b4dc"],[92,"eadafebd4d0eac465f6d5edb1c58d2a752270fc0fe454ce80299a166ea198d95"],[94,"5c6607dd8ebb913e1bc76d1d08875fe43acb4eae4ef416f7f001129c3088fc75"],[95,"54138915afc091cb70afc530231567359a087d711b9ec2c3c26e9c6a1ed28cb1"],[96,"06b956c0a362f0942238ff4f587a4ff1ba10ae8a49e0295f2dc822610da128b4"],[97,"6d9999dfb52497aa24be8fc4f780556384b4252c88eaefc8090c673404d03a9c"],[99,"0e6b1128f53c02d2b2a16cad7e7dcc6bdac5d90d96d1314a72a4425ba9f7393c"],[100,"544906d18567fe36541304b58063f3904ae072213e9de209dca5dafebd54cf82"],[102,"2e21823c803db4efb858fdd152a51e1ef4395d255dadd0aadbc056a00ed60564"]],"latestChangedDtsFile":"./index.d.ts","version":"5.7.3"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { ObservableBoardCamera } from '../camera/interface';
|
|
2
|
+
import { KMTEventParser, EventTargetWithPointerEvents } from '../input-interpretation/raw-input-parser';
|
|
3
|
+
import { TouchEventParser } from '../input-interpretation/raw-input-parser';
|
|
4
|
+
import { Point } from '@ue-too/math';
|
|
5
|
+
import { CameraEventMap, CameraState, UnSubscribe } from '../camera/update-publisher';
|
|
6
|
+
import { UnsubscribeToUserRawInput, RawUserInputEventMap } from '../input-interpretation/raw-input-publisher';
|
|
7
|
+
import { CameraMux } from '../camera/camera-mux';
|
|
8
|
+
import { CameraRig } from '../camera/camera-rig';
|
|
9
|
+
/**
|
|
10
|
+
* Usage
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { Board } from "@niuee/board";
|
|
13
|
+
*
|
|
14
|
+
* // however you prefer to get a canvas element that is already in the DOM
|
|
15
|
+
* const canvasElement = document.querySelector("canvas") as HTMLCanvasElement;
|
|
16
|
+
* const board = new Board(canvasElement);
|
|
17
|
+
*
|
|
18
|
+
* const stepFn = board.getStepFunction();
|
|
19
|
+
* const context = board.getContext();
|
|
20
|
+
*
|
|
21
|
+
* function step(timestamp: number){
|
|
22
|
+
* stepFn(timestamp);
|
|
23
|
+
* // do other stuff after the board has stepped
|
|
24
|
+
* //.
|
|
25
|
+
* //.
|
|
26
|
+
* //.
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
* Alternatively you can import the board class as from a subdirectory; this shaves the bundle size a bit but not a lot though. As the board is the overall entry point for the library.
|
|
30
|
+
*
|
|
31
|
+
* ```typescript
|
|
32
|
+
* import { Board } from "@niuee/board/boardify";
|
|
33
|
+
* ```
|
|
34
|
+
* @category Board
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
export default class Board {
|
|
38
|
+
private _canvas;
|
|
39
|
+
private _context;
|
|
40
|
+
private _reversedContext;
|
|
41
|
+
private _kmtParser;
|
|
42
|
+
private _touchParser;
|
|
43
|
+
private _alignCoordinateSystem;
|
|
44
|
+
private _fullScreen;
|
|
45
|
+
private cameraRig;
|
|
46
|
+
private boardInputPublisher;
|
|
47
|
+
private _observableInputTracker;
|
|
48
|
+
private _touchInputTracker;
|
|
49
|
+
private lastUpdateTime;
|
|
50
|
+
private attributeObserver;
|
|
51
|
+
private _canvasProxy;
|
|
52
|
+
constructor(canvas: HTMLCanvasElement, eventTarget?: EventTargetWithPointerEvents);
|
|
53
|
+
private calibrateCanvasDimensions;
|
|
54
|
+
private registerEventListeners;
|
|
55
|
+
private removeEventListeners;
|
|
56
|
+
attach(canvas: HTMLCanvasElement): void;
|
|
57
|
+
/**
|
|
58
|
+
* @group LifeCycle
|
|
59
|
+
* @description This function is used to set up the board. It adds all the event listeners and starts the resize observer and the attribute observer.
|
|
60
|
+
*/
|
|
61
|
+
setup(): void;
|
|
62
|
+
/**
|
|
63
|
+
* @group LifeCycle
|
|
64
|
+
* @description This function is used to clean up the board. It removes all the event listeners and disconnects the resize observer and the attribute observer.
|
|
65
|
+
*/
|
|
66
|
+
tearDown(): void;
|
|
67
|
+
private bindFunctions;
|
|
68
|
+
/**
|
|
69
|
+
* @group Properties
|
|
70
|
+
* @description This is in sync with the canvas width and the camera view port width. This is not the board's width.
|
|
71
|
+
* If the `limitEntireViewPort` is set to true, the min zoom level is updated based on the width of the canvas.
|
|
72
|
+
*/
|
|
73
|
+
set width(width: number);
|
|
74
|
+
get width(): number;
|
|
75
|
+
/**
|
|
76
|
+
* @group Properties
|
|
77
|
+
* @description This is in sync with the canvas height and the camera view port height. This is not the board's height.
|
|
78
|
+
* If the limitEntireViewPort is set to true, the min zoom level is updated based on the height.
|
|
79
|
+
*/
|
|
80
|
+
set height(height: number);
|
|
81
|
+
get height(): number;
|
|
82
|
+
/**
|
|
83
|
+
* @description This is an attribute that determines if the coordinate system should be aligned with the one of the HTML canvas element. The default is true.
|
|
84
|
+
* If you set this to true, the coordinate system will be aligned with the one of the HTML canvas element.
|
|
85
|
+
* If you change this value during runtime, you should update the context to be aligned with the new coordinate system. (just call board.context again)
|
|
86
|
+
*/
|
|
87
|
+
set alignCoordinateSystem(align: boolean);
|
|
88
|
+
get alignCoordinateSystem(): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* @description Determines if the board should be full screen. If this is set to true, the width and height of the board will be set to the window's inner width and inner height respectively,
|
|
91
|
+
* and the width and height of the board will resize with the window.
|
|
92
|
+
*/
|
|
93
|
+
get fullScreen(): boolean;
|
|
94
|
+
set fullScreen(value: boolean);
|
|
95
|
+
/**
|
|
96
|
+
* @description The context used to draw on the canvas.
|
|
97
|
+
* If alignCoordinateSystem is false, this returns a proxy that automatically negates y-coordinates for relevant drawing methods.
|
|
98
|
+
*/
|
|
99
|
+
get context(): CanvasRenderingContext2D;
|
|
100
|
+
/**
|
|
101
|
+
* @description Determines the behavior of the camera when the camera is at the edge of the boundaries. If set to true, the entire view port would not move beyond the boundaries.
|
|
102
|
+
* If set to false, only the center of the camera is bounded by the boundaries.
|
|
103
|
+
*/
|
|
104
|
+
set limitEntireViewPort(value: boolean);
|
|
105
|
+
get limitEntireViewPort(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* @description The strategy used to handle the keyboard, mouse events. The default strategy is the DefaultBoardKMTStrategy.
|
|
108
|
+
* You can implement your own strategy by implementing the BoardKMTStrategy interface.
|
|
109
|
+
*/
|
|
110
|
+
set kmtParser(parser: KMTEventParser);
|
|
111
|
+
get kmtParser(): KMTEventParser;
|
|
112
|
+
/**
|
|
113
|
+
* @description The parser used to handle touch events. The default parser is the DefaultTouchParser.
|
|
114
|
+
* You can have your own parser by implementing the BoardTouchParser interface.
|
|
115
|
+
*/
|
|
116
|
+
set touchParser(parser: TouchEventParser);
|
|
117
|
+
get touchParser(): TouchEventParser;
|
|
118
|
+
/**
|
|
119
|
+
* @description The underlying camera of the board. The camera of the board can be switched.
|
|
120
|
+
* The boundaries are based on camera meaning you can have cameras with different boundaries, and you can switch between them during runtime.
|
|
121
|
+
*/
|
|
122
|
+
get camera(): ObservableBoardCamera;
|
|
123
|
+
set camera(camera: ObservableBoardCamera);
|
|
124
|
+
get cameraMux(): CameraMux;
|
|
125
|
+
set cameraMux(cameraMux: CameraMux);
|
|
126
|
+
/**
|
|
127
|
+
* @description This is the step function that is called in the animation frame. This function is responsible for updating the canvas context and the camera state.
|
|
128
|
+
* @param timestamp
|
|
129
|
+
*/
|
|
130
|
+
step(timestamp: number): void;
|
|
131
|
+
/**
|
|
132
|
+
* @description Converts a point from window coordinates to world coordinates.
|
|
133
|
+
* @param clickPointInWindow The point in window coordinates to convert.
|
|
134
|
+
* @returns The converted point in world coordinates.
|
|
135
|
+
*/
|
|
136
|
+
convertWindowPoint2WorldCoord(clickPointInWindow: Point): Point;
|
|
137
|
+
/**
|
|
138
|
+
* @description Add an camera movement event listener. The events are "pan", "zoom", and "rotate".
|
|
139
|
+
* There's also an "all" event that will be triggered when any of the above events are triggered.
|
|
140
|
+
* @param eventName The event name to listen for. The events are "pan", "zoom", and "rotate".
|
|
141
|
+
* @param callback The callback function to call when the event is triggered. The event provided to the callback is different for the different events.
|
|
142
|
+
* @returns The converted point in world coordinates.
|
|
143
|
+
*/
|
|
144
|
+
on<K extends keyof CameraEventMap>(eventName: K, callback: (event: CameraEventMap[K], cameraState: CameraState) => void): UnSubscribe;
|
|
145
|
+
/**
|
|
146
|
+
* @description Add an input event listener. The events are "pan", "zoom", and "rotate". This is different from the camera event listener as this is for input events.
|
|
147
|
+
* There's also an "all" event that will be triggered when any of the above events are triggered.
|
|
148
|
+
* Input event does not necesarily mean that the camera will move. The input events are the events triggered when the user interacts with the board.
|
|
149
|
+
* @param eventName
|
|
150
|
+
* @param callback
|
|
151
|
+
* @returns
|
|
152
|
+
*/
|
|
153
|
+
onInput<K extends keyof RawUserInputEventMap>(eventName: K, callback: (event: RawUserInputEventMap[K]) => void): UnsubscribeToUserRawInput;
|
|
154
|
+
/**
|
|
155
|
+
* @description The max translation height of the camera. This is the maximum distance the camera can move in the vertical direction.
|
|
156
|
+
*/
|
|
157
|
+
get maxHalfTransHeight(): number | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* @description The max translation width of the camera. This is the maximum distance the camera can move in the horizontal direction.
|
|
160
|
+
*/
|
|
161
|
+
get maxHalfTransWidth(): number | undefined;
|
|
162
|
+
private attributeCallBack;
|
|
163
|
+
/**
|
|
164
|
+
* @group Helper Methods
|
|
165
|
+
* @description This function sets the max translation width of the camera while fixing the minimum x boundary.
|
|
166
|
+
*/
|
|
167
|
+
setMaxTransWidthWithFixedMinBoundary(value: number): void;
|
|
168
|
+
/**
|
|
169
|
+
* @group Helper Methods
|
|
170
|
+
* @description This function sets the max translation width of the camera while fixing the minimum x boundary.
|
|
171
|
+
*/
|
|
172
|
+
setMaxTransWidthWithFixedMaxBoundary(value: number): void;
|
|
173
|
+
get restrictRelativeXTranslation(): boolean;
|
|
174
|
+
get restrictRelativeYTranslation(): boolean;
|
|
175
|
+
get restrictXTranslation(): boolean;
|
|
176
|
+
get restrictYTranslation(): boolean;
|
|
177
|
+
set restrictRelativeXTranslation(value: boolean);
|
|
178
|
+
set restrictRelativeYTranslation(value: boolean);
|
|
179
|
+
set restrictXTranslation(value: boolean);
|
|
180
|
+
set restrictYTranslation(value: boolean);
|
|
181
|
+
get restrictZoom(): boolean;
|
|
182
|
+
set restrictZoom(value: boolean);
|
|
183
|
+
get restrictRotation(): boolean;
|
|
184
|
+
set restrictRotation(value: boolean);
|
|
185
|
+
get clampTranslation(): boolean;
|
|
186
|
+
set clampTranslation(value: boolean);
|
|
187
|
+
get clampZoom(): boolean;
|
|
188
|
+
set clampZoom(value: boolean);
|
|
189
|
+
get clampRotation(): boolean;
|
|
190
|
+
set clampRotation(value: boolean);
|
|
191
|
+
getCameraRig(): CameraRig;
|
|
192
|
+
}
|
package/camera/base.d.ts
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { Point } from '@ue-too/math';
|
|
2
|
+
import { Boundaries } from './utils/position';
|
|
3
|
+
import { ZoomLevelLimits } from './utils/zoom';
|
|
4
|
+
import { RotationLimits } from './utils/rotation';
|
|
5
|
+
import { BoardCamera } from './interface';
|
|
6
|
+
import { TransformationMatrix } from './utils/matrix';
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @description This is the base class for the camera. It is used to create a camera that can be used to view a board.
|
|
10
|
+
*
|
|
11
|
+
* If there's only one class that you want to use in this library, it is this one. The is the back bone of the board camera system.
|
|
12
|
+
*
|
|
13
|
+
* With the {@link CameraRig} class, you can create a camera system that can be used to achieve the infinite canvas effect.
|
|
14
|
+
*
|
|
15
|
+
* This class is not observable (you can not register a callback for camera state changes). If you need to observe the camera state, use the {@link DefaultBoardCamera} class instead.
|
|
16
|
+
* @category Camera
|
|
17
|
+
*/
|
|
18
|
+
export default class BaseCamera implements BoardCamera {
|
|
19
|
+
private _position;
|
|
20
|
+
private _rotation;
|
|
21
|
+
private _zoomLevel;
|
|
22
|
+
private currentCachedTransform;
|
|
23
|
+
private _viewPortWidth;
|
|
24
|
+
private _viewPortHeight;
|
|
25
|
+
private _boundaries?;
|
|
26
|
+
private _zoomBoundaries?;
|
|
27
|
+
private _rotationBoundaries?;
|
|
28
|
+
/**
|
|
29
|
+
* @param position The position of the camera in the world coordinate system
|
|
30
|
+
* @param rotation The rotation of the camera in the world coordinate system
|
|
31
|
+
* @param zoomLevel The zoom level of the camera
|
|
32
|
+
* @param viewPortWidth The width of the viewport. (The width of the canvas in css pixels)
|
|
33
|
+
* @param viewPortHeight The height of the viewport. (The height of the canvas in css pixels)
|
|
34
|
+
* @param boundaries The boundaries of the camera in the world coordinate system
|
|
35
|
+
* @param zoomLevelBoundaries The boundaries of the zoom level of the camera
|
|
36
|
+
* @param rotationBoundaries The boundaries of the rotation of the camera
|
|
37
|
+
*/
|
|
38
|
+
constructor(viewPortWidth?: number, viewPortHeight?: number, position?: Point, rotation?: number, zoomLevel?: number, boundaries?: Boundaries, zoomLevelBoundaries?: ZoomLevelLimits, rotationBoundaries?: RotationLimits);
|
|
39
|
+
/**
|
|
40
|
+
* @description The translation boundaries of the camera in the world coordinate system.
|
|
41
|
+
*
|
|
42
|
+
* @category Camera
|
|
43
|
+
*/
|
|
44
|
+
get boundaries(): Boundaries | undefined;
|
|
45
|
+
set boundaries(boundaries: Boundaries | undefined);
|
|
46
|
+
/**
|
|
47
|
+
* @description The width of the viewport. (The width of the canvas in css pixels)
|
|
48
|
+
*
|
|
49
|
+
* @category Camera
|
|
50
|
+
*/
|
|
51
|
+
get viewPortWidth(): number;
|
|
52
|
+
set viewPortWidth(width: number);
|
|
53
|
+
/**
|
|
54
|
+
* @description The height of the viewport. (The height of the canvas in css pixels)
|
|
55
|
+
*
|
|
56
|
+
* @category Camera
|
|
57
|
+
*/
|
|
58
|
+
get viewPortHeight(): number;
|
|
59
|
+
set viewPortHeight(height: number);
|
|
60
|
+
/**
|
|
61
|
+
* @description The position of the camera in the world coordinate system.
|
|
62
|
+
*
|
|
63
|
+
* @category Camera
|
|
64
|
+
*/
|
|
65
|
+
get position(): Point;
|
|
66
|
+
/**
|
|
67
|
+
* @description This function is used to set the position of the camera.
|
|
68
|
+
* @param destination The destination point of the camera.
|
|
69
|
+
* @returns Whether the position is set successfully.
|
|
70
|
+
*
|
|
71
|
+
* @description This function has a guard that checks if the destination point is within the boundaries of the camera.
|
|
72
|
+
* If the destination point is not within the boundaries, the function will return false and the position will not be updated.
|
|
73
|
+
* If the destination point is within the boundaries, the function will return true and the position will be updated.
|
|
74
|
+
*/
|
|
75
|
+
setPosition(destination: Point): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* @description The zoom level of the camera.
|
|
78
|
+
*
|
|
79
|
+
* @category Camera
|
|
80
|
+
*/
|
|
81
|
+
get zoomLevel(): number;
|
|
82
|
+
/**
|
|
83
|
+
* @description The boundaries of the zoom level of the camera.
|
|
84
|
+
*
|
|
85
|
+
* @category Camera
|
|
86
|
+
*/
|
|
87
|
+
get zoomBoundaries(): ZoomLevelLimits | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* @description The boundaries of the zoom level of the camera.
|
|
90
|
+
*
|
|
91
|
+
* @category Camera
|
|
92
|
+
*/
|
|
93
|
+
set zoomBoundaries(zoomBoundaries: ZoomLevelLimits | undefined);
|
|
94
|
+
setMaxZoomLevel(maxZoomLevel: number): boolean;
|
|
95
|
+
setMinZoomLevel(minZoomLevel: number): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* @description This function is used to set the zoom level of the camera.
|
|
98
|
+
* @param zoomLevel The zoom level of the camera.
|
|
99
|
+
* @returns Whether the zoom level is set successfully.
|
|
100
|
+
*
|
|
101
|
+
* @description This function has a guard that checks if the zoom level is within the boundaries of the camera.
|
|
102
|
+
* If the zoom level is not within the boundaries, the function will return false and the zoom level will not be updated.
|
|
103
|
+
* If the zoom level is within the boundaries, the function will return true and the zoom level will be updated.
|
|
104
|
+
*/
|
|
105
|
+
setZoomLevel(zoomLevel: number): boolean;
|
|
106
|
+
get rotation(): number;
|
|
107
|
+
get rotationBoundaries(): RotationLimits | undefined;
|
|
108
|
+
set rotationBoundaries(rotationBoundaries: RotationLimits | undefined);
|
|
109
|
+
/**
|
|
110
|
+
* @description The order of the transformation is as follows:
|
|
111
|
+
* 1. Scale (scale the context using the device pixel ratio)
|
|
112
|
+
* 2. Translation (move the origin of the context to the center of the canvas)
|
|
113
|
+
* 3. Rotation (rotate the context negatively the rotation of the camera)
|
|
114
|
+
* 4. Zoom (scale the context using the zoom level of the camera)
|
|
115
|
+
* 5. Translation (move the origin of the context to the position of the camera in the context coordinate system)
|
|
116
|
+
*
|
|
117
|
+
* @param devicePixelRatio The device pixel ratio of the canvas
|
|
118
|
+
* @param alignCoorindate Whether to align the coordinate system to the camera's position
|
|
119
|
+
* @returns The transformation matrix
|
|
120
|
+
*/
|
|
121
|
+
getTransform(devicePixelRatio: number, alignCoorindate: boolean): {
|
|
122
|
+
cached: boolean;
|
|
123
|
+
a: number;
|
|
124
|
+
b: number;
|
|
125
|
+
c: number;
|
|
126
|
+
d: number;
|
|
127
|
+
e: number;
|
|
128
|
+
f: number;
|
|
129
|
+
};
|
|
130
|
+
getTRS(devicePixelRatio: number, alignCoorindate: boolean): {
|
|
131
|
+
translation: {
|
|
132
|
+
x: number;
|
|
133
|
+
y: number;
|
|
134
|
+
};
|
|
135
|
+
rotation: number;
|
|
136
|
+
scale: {
|
|
137
|
+
x: number;
|
|
138
|
+
y: number;
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* @description This function is used to set the camera using a transformation matrix.
|
|
143
|
+
* The transformation matrix is the same as the one returned by the {@link getTransform} function. (by performing the transformations in the same order)
|
|
144
|
+
* The transformation matrix would be decomposed into SCALE(devicePixelRatio), TRANSLATION(center of the canvas), ROTATION(-rotation), SCALE(zoom level), and TRANSLATION(position).
|
|
145
|
+
* The position, zoom level, and rotation are still bounded by the boundaries of the camera.
|
|
146
|
+
*
|
|
147
|
+
* @param transformationMatrix The transformation matrix.
|
|
148
|
+
*
|
|
149
|
+
* @category Camera
|
|
150
|
+
*/
|
|
151
|
+
setUsingTransformationMatrix(transformationMatrix: TransformationMatrix): void;
|
|
152
|
+
setRotation(rotation: number): boolean;
|
|
153
|
+
/**
|
|
154
|
+
* @description The origin of the camera in the window coordinate system.
|
|
155
|
+
* @deprecated
|
|
156
|
+
*
|
|
157
|
+
* @category Camera
|
|
158
|
+
*/
|
|
159
|
+
getCameraOriginInWindow(centerInWindow: Point): Point;
|
|
160
|
+
/**
|
|
161
|
+
* @description Converts a point from the viewport coordinate system to the world coordinate system.
|
|
162
|
+
*
|
|
163
|
+
* @param point The point in the viewport coordinate system.
|
|
164
|
+
* @returns The point in the world coordinate system.
|
|
165
|
+
*
|
|
166
|
+
* @category Camera
|
|
167
|
+
*/
|
|
168
|
+
convertFromViewPort2WorldSpace(point: Point): Point;
|
|
169
|
+
/**
|
|
170
|
+
* @description Converts a point from the world coordinate system to the viewport coordinate system.
|
|
171
|
+
*
|
|
172
|
+
* @param point The point in the world coordinate system.
|
|
173
|
+
* @returns The point in the viewport coordinate system.
|
|
174
|
+
*
|
|
175
|
+
* @category Camera
|
|
176
|
+
*/
|
|
177
|
+
convertFromWorld2ViewPort(point: Point): Point;
|
|
178
|
+
/**
|
|
179
|
+
* @description Inverts a point from the world coordinate system to the viewport coordinate system.
|
|
180
|
+
*
|
|
181
|
+
* @param point The point in the world coordinate system.
|
|
182
|
+
* @returns The point in the viewport coordinate system.
|
|
183
|
+
*
|
|
184
|
+
* @category Camera
|
|
185
|
+
*/
|
|
186
|
+
invertFromWorldSpace2ViewPort(point: Point): Point;
|
|
187
|
+
setHorizontalBoundaries(min: number, max: number): void;
|
|
188
|
+
setVerticalBoundaries(min: number, max: number): void;
|
|
189
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { CameraMux } from "../interface";
|
|
2
|
+
import { Point } from "@ue-too/math";
|
|
3
|
+
import { ObservableBoardCamera } from "../../interface";
|
|
4
|
+
import { PanControlStateMachine } from "./pan-control-state-machine";
|
|
5
|
+
import { ZoomControlStateMachine } from "./zoom-control-state-machine";
|
|
6
|
+
import { RotateControlStateMachine } from "./rotation-control-state-machine";
|
|
7
|
+
import { CameraRig } from "../../camera-rig";
|
|
8
|
+
/**
|
|
9
|
+
* @description The flow control with animation and lock input.
|
|
10
|
+
*
|
|
11
|
+
* This is a customized input flow control that suits a specific use case.
|
|
12
|
+
*
|
|
13
|
+
* You can use the default one ({@link SimpleRelayFlowControl}) instead or implement your own.
|
|
14
|
+
*
|
|
15
|
+
* The internal ruleset on which input is used and which is ignored is controlled by the state machines.
|
|
16
|
+
*
|
|
17
|
+
* @category Input Flow Control
|
|
18
|
+
*/
|
|
19
|
+
export declare class CameraMuxWithAnimationAndLock implements CameraMux {
|
|
20
|
+
private _panStateMachine;
|
|
21
|
+
private _zoomStateMachine;
|
|
22
|
+
private _rotateStateMachine;
|
|
23
|
+
constructor(panStateMachine: PanControlStateMachine, zoomStateMachine: ZoomControlStateMachine, rotateStateMachine: RotateControlStateMachine);
|
|
24
|
+
notifyPanToAnimationInput(target: Point): void;
|
|
25
|
+
notifyPanInput(delta: Point): void;
|
|
26
|
+
notifyZoomInput(delta: number, at: Point): void;
|
|
27
|
+
notifyRotateByInput(delta: number): void;
|
|
28
|
+
notifyRotateToAnimationInput(target: number): void;
|
|
29
|
+
notifyZoomInputAnimation(targetZoom: number, at?: Point): void;
|
|
30
|
+
notifyZoomInputAnimationWorld(targetZoom: number, at?: Point): void;
|
|
31
|
+
notifyRotationInput(delta: number): void;
|
|
32
|
+
initatePanTransition(): void;
|
|
33
|
+
initateZoomTransition(): void;
|
|
34
|
+
initateRotateTransition(): void;
|
|
35
|
+
get rotateStateMachine(): RotateControlStateMachine;
|
|
36
|
+
get panStateMachine(): PanControlStateMachine;
|
|
37
|
+
get zoomStateMachine(): ZoomControlStateMachine;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @description Create a flow control that allows animation and lock inputs.
|
|
41
|
+
*
|
|
42
|
+
* @category Input Flow Control
|
|
43
|
+
*/
|
|
44
|
+
export declare function createCameraMuxWithAnimationAndLock(camera: ObservableBoardCamera): CameraMux;
|
|
45
|
+
/**
|
|
46
|
+
* @description Create a default flow control with a camera rig.
|
|
47
|
+
*
|
|
48
|
+
* @category Input Flow Control
|
|
49
|
+
*/
|
|
50
|
+
export declare function createCameraMuxWithAnimationAndLockWithCameraRig(cameraRig: CameraRig): CameraMux;
|