mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-12-23 10:11:54 +00:00
* Add input manager * WIP lifetime hell * Hell yeah, dark lifetime magic * Replace events with actions in tools * Fix borrow in GlobalEventHandler * Fix typo in response-handler * Distribute dispatch structure * Add translation from events to actions * Port default key actions to input_mapper * Split actions macro * Add handling for Ambiguous Mouse events * Fix warnings and clippy lints * Add actions macro * WIP rework * Add AsMessage macro * Add implementation for derived enums * Add macro implementation for top level message * Add #[child] attribute to indicate derivation * Replace some mentions of Actions and Responses with Message * It compiles !!! * Add functionality to some message handlers * Add document rendering * ICE * Rework the previous code while keeping basic functionality * Reduce parent-top-level macro args to only two * Add workaround for ICE * Fix cyclic reference in document.rs * Make derive_transitive_child a bit more powerful This addresses the todo that was left, enabling arbitrary expressions to be passed as the last parameter of a #[parent] attribute * Adapt frontend message format * Make responses use VecDeque Our responses are a queue so we should use a queue type for them * Move traits to sensible location * Are we rectangle yet? * Simplify, improve & document `derive_discriminant` * Change `child` to `sub_discriminant` This only applies to `ToDiscriminant`. Code using `#[impl_message]` continues to work. * Add docs for `derive_transitive_child` * Finish docs and improve macros The improvements are that impl_message now uses trait resolution to obtain the parent's discriminant and that derive_as_message now allows for non-unit variants (which we don't use but it's nice to have, just in case) * Remove logging call * Move files around and cleanup structure * Fix proc macro doc tests * Improve actions_fn!() macro * Add ellipse tool * Pass populated actions list to the input mapper * Add KeyState bitvector * Merge mouse buttons into "keyboard" * Add macro for initialization of key mapper table * Add syntactic sugar for the macro * Implement mapping function * Translate the remaining tools * Fix shape tool * Add keybindings for line and pen tool * Fix modifiers * Cleanup * Add doc comments for the actions macro * Fix formatting * Rename MouseMove to PointerMove * Add keybinds for tools * Apply review suggestions * Rename KeyMappings -> KeyMappingEntries * Apply review changes Co-authored-by: T0mstone <realt0mstone@gmail.com> Co-authored-by: Paul Kupper <kupper.pa@gmail.com>
333 lines
7.9 KiB
TOML
333 lines
7.9 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 3
|
|
|
|
[[package]]
|
|
name = "arrayvec"
|
|
version = "0.5.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
|
|
|
[[package]]
|
|
name = "bitflags"
|
|
version = "1.2.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
|
|
|
[[package]]
|
|
name = "bumpalo"
|
|
version = "3.6.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
|
|
|
|
[[package]]
|
|
name = "cfg-if"
|
|
version = "0.1.10"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
|
|
|
[[package]]
|
|
name = "cfg-if"
|
|
version = "1.0.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
|
|
[[package]]
|
|
name = "console_error_panic_hook"
|
|
version = "0.1.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
|
|
dependencies = [
|
|
"cfg-if 0.1.10",
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "graphite-cli"
|
|
version = "0.1.0"
|
|
|
|
[[package]]
|
|
name = "graphite-document-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"kurbo",
|
|
"log",
|
|
"serde",
|
|
]
|
|
|
|
[[package]]
|
|
name = "graphite-editor-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"bitflags",
|
|
"graphite-document-core",
|
|
"graphite-proc-macros",
|
|
"log",
|
|
"serde",
|
|
"thiserror",
|
|
]
|
|
|
|
[[package]]
|
|
name = "graphite-proc-macros"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"graphite-editor-core",
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "graphite-renderer-core"
|
|
version = "0.1.0"
|
|
|
|
[[package]]
|
|
name = "graphite-wasm-wrapper"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"console_error_panic_hook",
|
|
"graphite-editor-core",
|
|
"log",
|
|
"serde",
|
|
"wasm-bindgen",
|
|
"wasm-bindgen-test",
|
|
]
|
|
|
|
[[package]]
|
|
name = "itoa"
|
|
version = "0.4.7"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
|
|
|
|
[[package]]
|
|
name = "js-sys"
|
|
version = "0.3.51"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"
|
|
dependencies = [
|
|
"wasm-bindgen",
|
|
]
|
|
|
|
[[package]]
|
|
name = "kurbo"
|
|
version = "0.8.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e30b1df631d23875f230ed3ddd1a88c231f269a04b2044eb6ca87e763b5f4c42"
|
|
dependencies = [
|
|
"arrayvec",
|
|
]
|
|
|
|
[[package]]
|
|
name = "lazy_static"
|
|
version = "1.4.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
|
|
|
[[package]]
|
|
name = "log"
|
|
version = "0.4.14"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
|
|
dependencies = [
|
|
"cfg-if 1.0.0",
|
|
]
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.26"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
|
|
dependencies = [
|
|
"unicode-xid",
|
|
]
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ryu"
|
|
version = "1.0.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
|
|
|
[[package]]
|
|
name = "scoped-tls"
|
|
version = "1.0.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
|
|
|
|
[[package]]
|
|
name = "serde"
|
|
version = "1.0.126"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
|
|
dependencies = [
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_derive"
|
|
version = "1.0.126"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_json"
|
|
version = "1.0.64"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
|
|
dependencies = [
|
|
"itoa",
|
|
"ryu",
|
|
"serde",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "1.0.72"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-xid",
|
|
]
|
|
|
|
[[package]]
|
|
name = "thiserror"
|
|
version = "1.0.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
|
|
dependencies = [
|
|
"thiserror-impl",
|
|
]
|
|
|
|
[[package]]
|
|
name = "thiserror-impl"
|
|
version = "1.0.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
]
|
|
|
|
[[package]]
|
|
name = "unicode-xid"
|
|
version = "0.2.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen"
|
|
version = "0.2.74"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"
|
|
dependencies = [
|
|
"cfg-if 1.0.0",
|
|
"serde",
|
|
"serde_json",
|
|
"wasm-bindgen-macro",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-backend"
|
|
version = "0.2.74"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"
|
|
dependencies = [
|
|
"bumpalo",
|
|
"lazy_static",
|
|
"log",
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
"wasm-bindgen-shared",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-futures"
|
|
version = "0.4.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"
|
|
dependencies = [
|
|
"cfg-if 1.0.0",
|
|
"js-sys",
|
|
"wasm-bindgen",
|
|
"web-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-macro"
|
|
version = "0.2.74"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"
|
|
dependencies = [
|
|
"quote",
|
|
"wasm-bindgen-macro-support",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-macro-support"
|
|
version = "0.2.74"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn",
|
|
"wasm-bindgen-backend",
|
|
"wasm-bindgen-shared",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-shared"
|
|
version = "0.2.74"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-test"
|
|
version = "0.3.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8cab416a9b970464c2882ed92d55b0c33046b08e0bdc9d59b3b718acd4e1bae8"
|
|
dependencies = [
|
|
"console_error_panic_hook",
|
|
"js-sys",
|
|
"scoped-tls",
|
|
"wasm-bindgen",
|
|
"wasm-bindgen-futures",
|
|
"wasm-bindgen-test-macro",
|
|
]
|
|
|
|
[[package]]
|
|
name = "wasm-bindgen-test-macro"
|
|
version = "0.3.24"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dd4543fc6cf3541ef0d98bf720104cc6bd856d7eba449fd2aa365ef4fed0e782"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
]
|
|
|
|
[[package]]
|
|
name = "web-sys"
|
|
version = "0.3.51"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"
|
|
dependencies = [
|
|
"js-sys",
|
|
"wasm-bindgen",
|
|
]
|