diff --git a/workspace/Cargo.lock b/workspace/Cargo.lock index 0fea607..362d28e 100644 --- a/workspace/Cargo.lock +++ b/workspace/Cargo.lock @@ -66,94 +66,18 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "alsa" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" -dependencies = [ - "alsa-sys", - "bitflags 2.6.0", - "cfg-if", - "libc", -] - -[[package]] -name = "alsa-sys" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "android-activity" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0" -dependencies = [ - "android-properties", - "bitflags 1.3.2", - "cc", - "jni-sys", - "libc", - "log", - "ndk 0.7.0", - "ndk-context", - "ndk-sys 0.4.1+23.1.7779620", - "num_enum 0.6.1", -] - -[[package]] -name = "android-properties" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" - [[package]] name = "anyhow" version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" -[[package]] -name = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - [[package]] name = "arbitrary" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -[[package]] -name = "arboard" -version = "3.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4" -dependencies = [ - "clipboard-win", - "log", - "objc2 0.5.2", - "objc2-app-kit", - "objc2-foundation", - "parking_lot", - "x11rb", -] - [[package]] name = "arg_enum_proc_macro" version = "0.3.4" @@ -165,12 +89,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - [[package]] name = "arrayvec" version = "0.7.6" @@ -353,24 +271,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.79", -] - [[package]] name = "bit_field" version = "0.10.2" @@ -404,42 +304,13 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" -[[package]] -name = "block-buffer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" -dependencies = [ - "arrayref", - "byte-tools", -] - [[package]] name = "block-buffer" version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "block-sys" -version = "0.1.0-beta.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" -dependencies = [ - "objc-sys 0.2.0-beta.2", -] - -[[package]] -name = "block2" -version = "0.2.0-alpha.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" -dependencies = [ - "block-sys", - "objc2-encode 2.0.0-pre.2", + "generic-array", ] [[package]] @@ -448,7 +319,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2 0.5.2", + "objc2", ] [[package]] @@ -463,12 +334,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "byte-tools" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" - [[package]] name = "bytemuck" version = "1.18.0" @@ -537,16 +402,28 @@ dependencies = [ [[package]] name = "calloop" -version = "0.10.6" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "log", - "nix 0.25.1", - "slotmap", + "polling", + "rustix", + "slab", "thiserror", - "vec_map", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop", + "rustix", + "wayland-backend", + "wayland-client", ] [[package]] @@ -566,15 +443,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom", -] - [[package]] name = "cfg-expr" version = "0.15.8" @@ -591,48 +459,14 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "cgl" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" -dependencies = [ - "libc", -] - -[[package]] -name = "clang-sys" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" -dependencies = [ - "glob", - "libc", - "libloading 0.8.5", -] - [[package]] name = "clipboard-win" -version = "5.4.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" +checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342" dependencies = [ - "error-code", -] - -[[package]] -name = "cmake" -version = "0.1.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" -dependencies = [ - "cc", + "lazy-bytes-cast", + "winapi", ] [[package]] @@ -645,8 +479,8 @@ dependencies = [ "block", "cocoa-foundation", "core-foundation 0.10.0", - "core-graphics 0.24.0", - "foreign-types 0.5.0", + "core-graphics", + "foreign-types", "libc", "objc", ] @@ -660,7 +494,7 @@ dependencies = [ "bitflags 2.6.0", "block", "core-foundation 0.10.0", - "core-graphics-types 0.2.0", + "core-graphics-types", "libc", "objc", ] @@ -671,17 +505,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" -[[package]] -name = "colored" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" -dependencies = [ - "is-terminal", - "lazy_static", - "winapi", -] - [[package]] name = "combine" version = "4.6.7" @@ -693,23 +516,12 @@ dependencies = [ ] [[package]] -name = "console_error_panic_hook" -version = "0.1.7" +name = "concurrent-queue" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "console_log" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f" -dependencies = [ - "log", - "web-sys", + "crossbeam-utils", ] [[package]] @@ -729,6 +541,20 @@ dependencies = [ "version_check", ] +[[package]] +name = "copypasta" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb85422867ca93da58b7f95fb5c0c10f6183ed6e1ef8841568968a896d3a858" +dependencies = [ + "clipboard-win", + "objc", + "objc-foundation", + "objc_id", + "smithay-clipboard", + "x11-clipboard", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -755,19 +581,6 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core-graphics" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "core-graphics-types 0.1.3", - "foreign-types 0.3.2", - "libc", -] - [[package]] name = "core-graphics" version = "0.24.0" @@ -776,19 +589,8 @@ checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ "bitflags 2.6.0", "core-foundation 0.10.0", - "core-graphics-types 0.2.0", - "foreign-types 0.5.0", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", + "core-graphics-types", + "foreign-types", "libc", ] @@ -803,49 +605,6 @@ dependencies = [ "libc", ] -[[package]] -name = "coreaudio-rs" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" -dependencies = [ - "bitflags 1.3.2", - "core-foundation-sys", - "coreaudio-sys", -] - -[[package]] -name = "coreaudio-sys" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ce857aa0b77d77287acc1ac3e37a05a8c95a2af3647d23b15f263bdaeb7562b" -dependencies = [ - "bindgen", -] - -[[package]] -name = "cpal" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" -dependencies = [ - "alsa", - "core-foundation-sys", - "coreaudio-rs", - "dasp_sample", - "jni", - "js-sys", - "libc", - "mach2", - "ndk 0.8.0", - "ndk-context", - "oboe", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.54.0", -] - [[package]] name = "cpufeatures" version = "0.2.14" @@ -864,29 +623,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crevice_notan" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0b2bca5ce777a79dd787fafb8113f2be4f020e4c2468363b473041f2d9b90" -dependencies = [ - "bytemuck", - "crevice_notan-derive", - "glam", - "mint", -] - -[[package]] -name = "crevice_notan-derive" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c99d1aa96f6017828f2d26743f8d4fa3a80927a2a169b9c5c5871cfb3b51f30" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -933,10 +669,16 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.7", + "generic-array", "typenum", ] +[[package]] +name = "cursor-icon" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" + [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -946,7 +688,7 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest 0.10.7", + "digest", "fiat-crypto", "rustc_version", "subtle", @@ -963,12 +705,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "dasp_sample" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" - [[package]] name = "data-encoding" version = "2.6.0" @@ -1029,22 +765,13 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "digest" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" -dependencies = [ - "generic-array 0.9.1", -] - [[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", + "block-buffer", "crypto-common", ] @@ -1081,7 +808,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.5", + "libloading", ] [[package]] @@ -1121,11 +848,12 @@ checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] name = "ecolor" -version = "0.27.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20930a432bbd57a6d55e07976089708d4893f3d556cf42a0d79e9e321fa73b10" +checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8" dependencies = [ "bytemuck", + "emath", ] [[package]] @@ -1145,22 +873,38 @@ checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", - "sha2 0.10.8", + "sha2", "signature", "subtle", ] [[package]] name = "egui" -version = "0.27.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "584c5d1bf9a67b25778a3323af222dbe1a1feb532190e103901187f92c7fe29a" +checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798" dependencies = [ "ahash", + "emath", "epaint", "nohash-hasher", ] +[[package]] +name = "egui-miniquad" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2db328a940184c7634b5c35d3d61a6745debd21096fa13f0241ae157ed628d" +dependencies = [ + "bytemuck", + "copypasta", + "egui", + "getrandom", + "miniquad", + "quad-rand", + "quad-url", +] + [[package]] name = "either" version = "1.13.0" @@ -1169,9 +913,9 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.27.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c3a552cfca14630702449d35f41c84a0d15963273771c6059175a803620f3f" +checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6" dependencies = [ "bytemuck", ] @@ -1187,9 +931,9 @@ dependencies = [ [[package]] name = "epaint" -version = "0.27.2" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381f8b149657a4acf837095351839f32cd5c4aec1817fc4df84e18d76334176" +checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01" dependencies = [ "ab_glyph", "ahash", @@ -1216,21 +960,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "error-code" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" - -[[package]] -name = "euclid" -version = "0.22.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" -dependencies = [ - "num-traits", -] - [[package]] name = "exr" version = "1.72.0" @@ -1247,18 +976,6 @@ dependencies = [ "zune-inflate", ] -[[package]] -name = "extended" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9673d8203fcb076b19dfd17e38b3d4ae9f44959416ea532ce72415a6020365" - -[[package]] -name = "fake-simd" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" - [[package]] name = "fastrand" version = "2.1.1" @@ -1274,16 +991,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "fern" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" -dependencies = [ - "colored", - "log", -] - [[package]] name = "fiat-crypto" version = "0.2.9" @@ -1296,7 +1003,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ - "memoffset 0.9.1", + "memoffset", "rustc_version", ] @@ -1324,12 +1031,6 @@ dependencies = [ "miniz_oxide 0.8.0", ] -[[package]] -name = "float_next_after" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bf7cc16383c4b8d58b9905a8509f02926ce3058053c056376248d958c9df1e8" - [[package]] name = "flume" version = "0.11.0" @@ -1349,12 +1050,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "foreign-types" -version = "0.3.2" +name = "fontdue" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +checksum = "0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc" dependencies = [ - "foreign-types-shared 0.1.1", + "hashbrown 0.13.2", + "ttf-parser 0.15.2", ] [[package]] @@ -1364,7 +1066,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared 0.3.1", + "foreign-types-shared", ] [[package]] @@ -1378,12 +1080,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -1586,15 +1282,6 @@ dependencies = [ "windows 0.48.0", ] -[[package]] -name = "generic-array" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d00328cedcac5e81c683e5620ca6a30756fc23027ebf9bff405c0e8da1fbb7e" -dependencies = [ - "typenum", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -1676,26 +1363,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "gl_generator" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" -dependencies = [ - "khronos_api", - "log", - "xml-rs", -] - [[package]] name = "glam" -version = "0.24.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5418c17512bdf42730f9032c74e1ae39afc408745ebb2acf72fbc4691c17945" -dependencies = [ - "bytemuck", - "mint", -] +checksum = "518faa5064866338b013ff9b2350dc318e14cc4fcd6cb8206d7e7c9886c98815" [[package]] name = "glib" @@ -1750,131 +1422,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "glow" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "glsl-to-spirv" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28caebc98746d507603a2d3df66dcbe04e41d4febad0320f3eec1ef72b6bbef1" -dependencies = [ - "cmake", - "sha2 0.7.1", - "tempfile", -] - -[[package]] -name = "glutin" -version = "0.30.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe" -dependencies = [ - "bitflags 1.3.2", - "cfg_aliases", - "cgl", - "core-foundation 0.9.4", - "dispatch", - "glutin_egl_sys", - "glutin_glx_sys", - "glutin_wgl_sys", - "libloading 0.7.4", - "objc2 0.3.0-beta.3.patch-leaks.3", - "once_cell", - "raw-window-handle 0.5.2", - "wayland-sys 0.30.1", - "windows-sys 0.45.0", - "x11-dl", -] - -[[package]] -name = "glutin-winit" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" -dependencies = [ - "cfg_aliases", - "glutin", - "raw-window-handle 0.5.2", - "winit", -] - -[[package]] -name = "glutin_egl_sys" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5" -dependencies = [ - "gl_generator", - "windows-sys 0.45.0", -] - -[[package]] -name = "glutin_glx_sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" -dependencies = [ - "gl_generator", - "x11-dl", -] - -[[package]] -name = "glutin_wgl_sys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" -dependencies = [ - "gl_generator", -] - -[[package]] -name = "glyph_brush" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ecddedd5c29ef90a66bdd02558a9f9832403aeb6c31a44292aeceba9865288" -dependencies = [ - "glyph_brush_draw_cache", - "glyph_brush_layout", - "ordered-float", - "rustc-hash 2.0.0", - "twox-hash", -] - -[[package]] -name = "glyph_brush_draw_cache" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb6c910def52365fef3f439a6b50a4d5c11b28eec4cf6c191f6dfea18e88d7f" -dependencies = [ - "ab_glyph", - "crossbeam-channel", - "crossbeam-deque", - "linked-hash-map", - "rayon", - "rustc-hash 2.0.0", -] - -[[package]] -name = "glyph_brush_layout" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1e288bfd2f6c0313f78bf5aa538356ad481a3bb97e9b7f93220ab0066c5992" -dependencies = [ - "ab_glyph", - "approx", - "xi-unicode", -] - [[package]] name = "gobject-sys" version = "0.18.0" @@ -1969,12 +1516,11 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ "ahash", - "allocator-api2", ] [[package]] @@ -2007,15 +1553,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "http" version = "0.2.12" @@ -2104,7 +1641,6 @@ dependencies = [ "bytemuck", "byteorder", "color_quant", - "jpeg-decoder", "num-traits", "png", ] @@ -2172,9 +1708,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", ] [[package]] @@ -2208,15 +1741,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -2280,12 +1804,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "khronos_api" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" - [[package]] name = "known-folders" version = "1.2.0" @@ -2295,6 +1813,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "lazy-bytes-cast" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b" + [[package]] name = "lazy_static" version = "1.5.0" @@ -2327,7 +1851,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading 0.7.4", + "libloading", "once_cell", ] @@ -2358,33 +1882,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall 0.4.1", -] - [[package]] name = "libredox" version = "0.1.3" @@ -2414,12 +1911,6 @@ dependencies = [ "x11", ] -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -2467,65 +1958,26 @@ dependencies = [ ] [[package]] -name = "lyon" -version = "1.0.1" +name = "macroquad" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7f9cda98b5430809e63ca5197b06c7d191bf7e26dfc467d5a3f0290e2a74f" +checksum = "002647f9301eb8827145a6ae71f1fc0b0441d3a3e0648146e3c7de926e78c37d" dependencies = [ - "lyon_algorithms", - "lyon_tessellation", + "bumpalo", + "fontdue", + "glam", + "image 0.24.9", + "macroquad_macro", + "miniquad", + "quad-rand", + "slotmap", ] [[package]] -name = "lyon_algorithms" -version = "1.0.4" +name = "macroquad_macro" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3bca95f9a4955b3e4a821fbbcd5edfbd9be2a9a50bb5758173e5358bfb4c623" -dependencies = [ - "lyon_path", - "num-traits", -] - -[[package]] -name = "lyon_geom" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edecfb8d234a2b0be031ab02ebcdd9f3b9ee418fb35e265f7a540a48d197bff9" -dependencies = [ - "arrayvec", - "euclid", - "num-traits", -] - -[[package]] -name = "lyon_path" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c08a606c7a59638d6c6aa18ac91a06aa9fb5f765a7efb27e6a4da58700740d7" -dependencies = [ - "lyon_geom", - "num-traits", -] - -[[package]] -name = "lyon_tessellation" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579d42360a4b09846eff2feef28f538696c7d6c7439bfa65874ff3cbe0951b2c" -dependencies = [ - "float_next_after", - "lyon_path", - "num-traits", -] - -[[package]] -name = "mach2" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" -dependencies = [ - "libc", -] +checksum = "64b1d96218903768c1ce078b657c0d5965465c95a60d2682fd97443c9d2483dd" [[package]] name = "malloc_buf" @@ -2562,22 +2014,13 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.5.10" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -2593,22 +2036,24 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "minimal-lexical" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +[[package]] +name = "miniquad" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e9c578ad261f84512751bfdd9919c762ecd6103d06051fbdaede35136e1988" +dependencies = [ + "libc", + "ndk-sys 0.2.2", + "objc", + "winapi", +] + [[package]] name = "miniz_oxide" version = "0.7.4" @@ -2628,24 +2073,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "mint" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.0.2" @@ -2669,7 +2096,7 @@ dependencies = [ "gtk", "keyboard-types", "libxdo", - "objc2 0.5.2", + "objc2", "objc2-app-kit", "objc2-foundation", "once_cell", @@ -2706,34 +2133,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys 0.4.1+23.1.7779620", - "num_enum 0.5.11", - "raw-window-handle 0.5.2", - "thiserror", -] - -[[package]] -name = "ndk" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" -dependencies = [ - "bitflags 2.6.0", - "jni-sys", - "log", - "ndk-sys 0.5.0+25.2.9519653", - "num_enum 0.7.3", - "thiserror", -] - [[package]] name = "ndk" version = "0.9.0" @@ -2744,8 +2143,8 @@ dependencies = [ "jni-sys", "log", "ndk-sys 0.6.0+11769913", - "num_enum 0.7.3", - "raw-window-handle 0.6.2", + "num_enum", + "raw-window-handle", "thiserror", ] @@ -2757,21 +2156,9 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.4.1+23.1.7779620" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "ndk-sys" -version = "0.5.0+25.2.9519653" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" -dependencies = [ - "jni-sys", -] +checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" [[package]] name = "ndk-sys" @@ -2788,31 +2175,6 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" -[[package]] -name = "nix" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - [[package]] name = "nkeys" version = "0.4.4" @@ -2850,320 +2212,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" -[[package]] -name = "notan" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27af34b08b8f61925fa62e3939f28730bc267feadf028f029dd8a2862bdd38ed" -dependencies = [ - "notan_app", - "notan_audio", - "notan_backend", - "notan_core", - "notan_draw", - "notan_egui", - "notan_extra", - "notan_glyph", - "notan_graphics", - "notan_input", - "notan_log", - "notan_macro", - "notan_math", - "notan_random", - "notan_text", - "notan_utils", -] - -[[package]] -name = "notan_app" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed53f273ccfea3c7f289e48b6f13b7da96c7124fc78f225a3f0ed2e2525b99aa" -dependencies = [ - "bytemuck", - "downcast-rs", - "futures", - "futures-util", - "hashbrown 0.14.5", - "indexmap", - "js-sys", - "log", - "notan_audio", - "notan_core", - "notan_graphics", - "notan_input", - "notan_macro", - "notan_math", - "notan_utils", - "parking_lot", - "platter2", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "notan_audio" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a963a741ad52ae5c47a7d49b4f066d80d2a0f8eb79c3315426f7c94b64a054" -dependencies = [ - "parking_lot", -] - -[[package]] -name = "notan_backend" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e46b8489021828ea64e2c13adb49a9a968e0bf212ede2d684850818fd7742154" -dependencies = [ - "notan_web", - "notan_winit", -] - -[[package]] -name = "notan_core" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fba391c0d35ad96e4c292187b2721a7e677c3d24bb0c8d2657c26931edbab25e" -dependencies = [ - "web-sys", -] - -[[package]] -name = "notan_draw" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31fdd377d88ff7ed2482aaf65f59f75b77601636f7762ca7226b6ef87a00929f" -dependencies = [ - "log", - "lyon", - "notan_app", - "notan_glyph", - "notan_graphics", - "notan_macro", - "notan_math", - "notan_text", - "serde", - "serde_json", -] - -[[package]] -name = "notan_egui" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75f772b10e5a927f54a864b84dd964fdcda84b55e63ce79fda48d8b7a67dabb" -dependencies = [ - "bytemuck", - "egui", - "log", - "notan_app", - "notan_core", - "notan_macro", -] - -[[package]] -name = "notan_extra" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a9218b719de3fc8b6225fd0db6d325aaa478ac7cdada701e0573381d473c6c" -dependencies = [ - "notan_app", - "spin_sleep", -] - -[[package]] -name = "notan_glow" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8335ad97f2c9eab5774c8c7316d7a0a0005a94d31ff20aa785e1aaef3669d16" -dependencies = [ - "bytemuck", - "glow", - "hashbrown 0.14.5", - "image 0.24.9", - "js-sys", - "log", - "notan_graphics", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "notan_glyph" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bb3b27835b3dae322ff2be0dd650a044e2f46813de88d135d0c9e827837202a" -dependencies = [ - "bytemuck", - "glyph_brush", - "log", - "notan_app", - "notan_graphics", - "notan_macro", - "notan_math", -] - -[[package]] -name = "notan_graphics" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "347a7b0712a2821753ceb97082efb8bd03936eca29947d02593928fb88aafe7f" -dependencies = [ - "bytemuck", - "crevice_notan", - "log", - "notan_macro", - "notan_math", - "notan_utils", - "parking_lot", -] - -[[package]] -name = "notan_input" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b834665f551de040d53e0fc16a78aa0ffe1d6db94b3def640736b09a1d33e" -dependencies = [ - "hashbrown 0.14.5", - "log", - "notan_core", - "notan_math", -] - -[[package]] -name = "notan_log" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44ebd26da10161efaf607fd60d34ce333ffa73f2339e9608321dea48ac78b1cc" -dependencies = [ - "console_log", - "fern", - "js-sys", - "log", - "notan_app", - "time", - "wasm-bindgen", -] - -[[package]] -name = "notan_macro" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2604bae7f0f8a0da36302f2e9f33d837129e1f5c4677dc5b345432e4780a91c" -dependencies = [ - "cfg_aliases", - "glsl-to-spirv", - "num", - "proc-macro2", - "quote", - "spirv_cross", - "syn 2.0.79", -] - -[[package]] -name = "notan_math" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13c3a211a3d4abcda2ba3b175932bd30a18b3b8167df5e7053573743cfa396b" -dependencies = [ - "glam", -] - -[[package]] -name = "notan_oddio" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b23fcafd698b9ac28d7ad63ff3fb835f0e107c581fbcfa0f68bbffcaf80397b1" -dependencies = [ - "cpal", - "hashbrown 0.14.5", - "log", - "notan_audio", - "oddio", - "symphonia", -] - -[[package]] -name = "notan_random" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afe234de70d8e7654bbda7e34ac112b54ec9b7c815fc8d19a1a45fa792d98f0" -dependencies = [ - "getrandom", - "rand", - "rand_pcg", -] - -[[package]] -name = "notan_text" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30f3f7dff9df064b2e469771959b1d13bf8bb50ec8890f07d5d5a77b199a9bfd" -dependencies = [ - "hashbrown 0.14.5", - "lazy_static", - "log", - "notan_app", - "notan_glyph", - "notan_graphics", - "notan_math", - "parking_lot", -] - -[[package]] -name = "notan_utils" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abc555d444e66ef996d26c09414de20d4a7fd8df37d2bd9e54adda3e64763160" -dependencies = [ - "instant", - "log", -] - -[[package]] -name = "notan_web" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9450cc80bed6b49e2474f5021f923774f0fb9b67afa5694ef4cfbcbae67900b" -dependencies = [ - "console_error_panic_hook", - "futures-util", - "js-sys", - "log", - "notan_app", - "notan_audio", - "notan_core", - "notan_glow", - "notan_graphics", - "notan_oddio", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "notan_winit" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95509984caebcaf39276e2497656a9f0319c9251acd1845d970e840f2382ee32" -dependencies = [ - "arboard", - "glutin", - "glutin-winit", - "image 0.24.9", - "log", - "mime_guess", - "notan_app", - "notan_audio", - "notan_core", - "notan_glow", - "notan_input", - "notan_oddio", - "raw-window-handle 0.5.2", - "webbrowser", - "winit", -] - [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -3183,20 +2231,6 @@ dependencies = [ "rand", ] -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - [[package]] name = "num-bigint" version = "0.4.6" @@ -3207,15 +2241,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - [[package]] name = "num-conv" version = "0.1.0" @@ -3242,17 +2267,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" version = "0.4.2" @@ -3271,7 +2285,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", - "libm", ] [[package]] @@ -3284,55 +2297,13 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - [[package]] name = "num_enum" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "num_enum_derive 0.7.3", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.79", + "num_enum_derive", ] [[package]] @@ -3347,15 +2318,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -3366,10 +2328,15 @@ dependencies = [ ] [[package]] -name = "objc-sys" -version = "0.2.0-beta.2" +name = "objc-foundation" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] [[package]] name = "objc-sys" @@ -3377,25 +2344,14 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" -[[package]] -name = "objc2" -version = "0.3.0-beta.3.patch-leaks.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468" -dependencies = [ - "block2 0.2.0-alpha.6", - "objc-sys 0.2.0-beta.2", - "objc2-encode 2.0.0-pre.2", -] - [[package]] name = "objc2" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "objc-sys 0.3.5", - "objc2-encode 4.0.3", + "objc-sys", + "objc2-encode", ] [[package]] @@ -3405,9 +2361,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", + "block2", "libc", - "objc2 0.5.2", + "objc2", "objc2-core-data", "objc2-core-image", "objc2-foundation", @@ -3421,8 +2377,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", ] @@ -3432,21 +2388,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] -[[package]] -name = "objc2-encode" -version = "2.0.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" -dependencies = [ - "objc-sys 0.2.0-beta.2", -] - [[package]] name = "objc2-encode" version = "4.0.3" @@ -3460,9 +2407,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", + "block2", "libc", - "objc2 0.5.2", + "objc2", ] [[package]] @@ -3472,8 +2419,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", ] @@ -3484,12 +2431,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ "bitflags 2.6.0", - "block2 0.5.1", - "objc2 0.5.2", + "block2", + "objc2", "objc2-foundation", "objc2-metal", ] +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + [[package]] name = "object" version = "0.36.5" @@ -3499,38 +2455,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oboe" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" -dependencies = [ - "jni", - "ndk 0.8.0", - "ndk-context", - "num-derive", - "num-traits", - "oboe-sys", -] - -[[package]] -name = "oboe-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" -dependencies = [ - "cc", -] - -[[package]] -name = "oddio" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f3379cc7e854d0b0d4a0e310f276faafc46896843b720efe4646faa1b0c734" -dependencies = [ - "mint", -] - [[package]] name = "once_cell" version = "1.20.2" @@ -3549,24 +2473,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "orbclient" -version = "0.3.47" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" -dependencies = [ - "libredox 0.0.2", -] - -[[package]] -name = "ordered-float" -version = "4.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537" -dependencies = [ - "num-traits", -] - [[package]] name = "overload" version = "0.1.1" @@ -3579,7 +2485,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" dependencies = [ - "ttf-parser", + "ttf-parser 0.25.0", ] [[package]] @@ -3625,7 +2531,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.7", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] @@ -3702,18 +2608,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" -[[package]] -name = "platter2" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55ebe9054b9786c9bfe4dd9e8b5df8cd071284434979e9501baa612c5fa5a5e" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "png" version = "0.17.14" @@ -3727,6 +2621,21 @@ dependencies = [ "miniz_oxide 0.8.0", ] +[[package]] +name = "polling" +version = "3.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi 0.4.0", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "portable-atomic" version = "1.9.0" @@ -3842,12 +2751,37 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "quad-rand" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b76f1009795ca44bb5aaae8fd3f18953e209259c33d9b059b1f53d58ab7511db" + +[[package]] +name = "quad-url" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e674b7e6218e9d5d01ca431e2088b647cd75cdf483f8201533dcb1fecfa25f03" +dependencies = [ + "sapp-jsutils", + "webbrowser", +] + [[package]] name = "quick-error" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" +[[package]] +name = "quick-xml" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +dependencies = [ + "memchr", +] + [[package]] name = "quote" version = "1.0.37" @@ -3887,15 +2821,6 @@ dependencies = [ "getrandom", ] -[[package]] -name = "rand_pcg" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" -dependencies = [ - "rand_core", -] - [[package]] name = "rav1e" version = "0.7.1" @@ -3910,7 +2835,7 @@ dependencies = [ "built", "cfg-if", "interpolate_name", - "itertools 0.12.1", + "itertools", "libc", "libfuzzer-sys", "log", @@ -3945,12 +2870,6 @@ dependencies = [ "rgb", ] -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - [[package]] name = "raw-window-handle" version = "0.6.2" @@ -3977,24 +2896,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.5.7" @@ -4011,7 +2912,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", - "libredox 0.1.3", + "libredox", "thiserror", ] @@ -4200,18 +3101,6 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" - [[package]] name = "rustc_version" version = "0.4.1" @@ -4308,6 +3197,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sapp-jsutils" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6673c9c245fda02a1e826e199133d1c3d1b8e4a392c9dfe55e4f90a2489b149" + [[package]] name = "schannel" version = "0.1.26" @@ -4329,19 +3224,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sctk-adwaita" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" -dependencies = [ - "ab_glyph", - "log", - "memmap2", - "smithay-client-toolkit", - "tiny-skia", -] - [[package]] name = "security-framework" version = "2.11.1" @@ -4432,18 +3314,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sha2" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" -dependencies = [ - "block-buffer 0.3.3", - "byte-tools", - "digest 0.7.6", - "fake-simd", -] - [[package]] name = "sha2" version = "0.10.8" @@ -4452,7 +3322,7 @@ checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.7", + "digest", ] [[package]] @@ -4497,7 +3367,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", + "digest", "rand_core", ] @@ -4542,21 +3412,38 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay-client-toolkit" -version = "0.16.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "calloop", - "dlib", - "lazy_static", + "calloop-wayland-source", + "cursor-icon", + "libc", "log", "memmap2", - "nix 0.24.3", - "pkg-config", + "rustix", + "thiserror", + "wayland-backend", "wayland-client", + "wayland-csd-frame", "wayland-cursor", "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + +[[package]] +name = "smithay-clipboard" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" +dependencies = [ + "libc", + "smithay-client-toolkit", + "wayland-backend", ] [[package]] @@ -4578,26 +3465,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "spin_sleep" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bd7227d85bfd1b8df51e0d83da36d9baaee85eb75730386ef8e3ab6f2a2ea3" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "spirv_cross" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60647fadbf83c4a72f0d7ea67a7ca3a81835cf442b8deae5c134c3e0055b2e14" -dependencies = [ - "cc", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "spki" version = "0.7.3" @@ -4626,170 +3493,12 @@ dependencies = [ "loom", ] -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strict-num" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" - [[package]] name = "subtle" version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "symphonia" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" -dependencies = [ - "lazy_static", - "symphonia-bundle-flac", - "symphonia-bundle-mp3", - "symphonia-codec-adpcm", - "symphonia-codec-pcm", - "symphonia-codec-vorbis", - "symphonia-core", - "symphonia-format-mkv", - "symphonia-format-ogg", - "symphonia-format-riff", - "symphonia-metadata", -] - -[[package]] -name = "symphonia-bundle-flac" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e34f34298a7308d4397a6c7fbf5b84c5d491231ce3dd379707ba673ab3bd97" -dependencies = [ - "log", - "symphonia-core", - "symphonia-metadata", - "symphonia-utils-xiph", -] - -[[package]] -name = "symphonia-bundle-mp3" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4" -dependencies = [ - "lazy_static", - "log", - "symphonia-core", - "symphonia-metadata", -] - -[[package]] -name = "symphonia-codec-adpcm" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94e1feac3327cd616e973d5be69ad36b3945f16b06f19c6773fc3ac0b426a0f" -dependencies = [ - "log", - "symphonia-core", -] - -[[package]] -name = "symphonia-codec-pcm" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f395a67057c2ebc5e84d7bb1be71cce1a7ba99f64e0f0f0e303a03f79116f89b" -dependencies = [ - "log", - "symphonia-core", -] - -[[package]] -name = "symphonia-codec-vorbis" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a98765fb46a0a6732b007f7e2870c2129b6f78d87db7987e6533c8f164a9f30" -dependencies = [ - "log", - "symphonia-core", - "symphonia-utils-xiph", -] - -[[package]] -name = "symphonia-core" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" -dependencies = [ - "arrayvec", - "bitflags 1.3.2", - "bytemuck", - "lazy_static", - "log", -] - -[[package]] -name = "symphonia-format-mkv" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bb43471a100f7882dc9937395bd5ebee8329298e766250b15b3875652fe3d6f" -dependencies = [ - "lazy_static", - "log", - "symphonia-core", - "symphonia-metadata", - "symphonia-utils-xiph", -] - -[[package]] -name = "symphonia-format-ogg" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ada3505789516bcf00fc1157c67729eded428b455c27ca370e41f4d785bfa931" -dependencies = [ - "log", - "symphonia-core", - "symphonia-metadata", - "symphonia-utils-xiph", -] - -[[package]] -name = "symphonia-format-riff" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f7be232f962f937f4b7115cbe62c330929345434c834359425e043bfd15f50" -dependencies = [ - "extended", - "log", - "symphonia-core", - "symphonia-metadata", -] - -[[package]] -name = "symphonia-metadata" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" -dependencies = [ - "encoding_rs", - "lazy_static", - "log", - "symphonia-core", -] - -[[package]] -name = "symphonia-utils-xiph" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "484472580fa49991afda5f6550ece662237b00c6f562c7d9638d1b086ed010fe" -dependencies = [ - "symphonia-core", - "symphonia-metadata", -] - [[package]] name = "syn" version = "1.0.109" @@ -4797,7 +3506,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", - "quote", "unicode-ident", ] @@ -4834,7 +3542,7 @@ dependencies = [ "bitflags 2.6.0", "cocoa", "core-foundation 0.10.0", - "core-graphics 0.24.0", + "core-graphics", "crossbeam-channel", "dispatch", "dlopen2", @@ -4847,19 +3555,19 @@ dependencies = [ "lazy_static", "libc", "log", - "ndk 0.9.0", + "ndk", "ndk-context", "ndk-sys 0.6.0+11769913", "objc", "once_cell", "parking_lot", - "raw-window-handle 0.6.2", + "raw-window-handle", "scopeguard", "tao-macros", "unicode-segmentation", "url", "windows 0.58.0", - "windows-core 0.58.0", + "windows-core", "windows-version", "x11-dl", ] @@ -4943,9 +3651,7 @@ checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", - "libc", "num-conv", - "num_threads", "powerfmt", "serde", "time-core", @@ -4968,31 +3674,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-skia" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "png", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - [[package]] name = "tinyvec" version = "1.8.0" @@ -5017,7 +3698,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.2", + "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -5204,12 +3885,12 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "533fc2d4105e0e3d96ce1c71f2d308c9fbbe2ef9c587cab63dd627ab5bde218f" dependencies = [ - "core-graphics 0.24.0", + "core-graphics", "crossbeam-channel", "dirs", "libappindicator", "muda", - "objc2 0.5.2", + "objc2", "objc2-app-kit", "objc2-foundation", "once_cell", @@ -5235,23 +3916,18 @@ dependencies = [ "tokio", ] +[[package]] +name = "ttf-parser" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" + [[package]] name = "ttf-parser" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e" -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "rand", - "static_assertions", -] - [[package]] name = "typenum" version = "1.17.0" @@ -5277,15 +3953,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.17" @@ -5353,12 +4020,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version-compare" version = "0.2.0" @@ -5422,18 +4083,6 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "wasm-bindgen-macro" version = "0.2.93" @@ -5464,87 +4113,98 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] -name = "wayland-client" -version = "0.29.5" +name = "wayland-backend" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" dependencies = [ - "bitflags 1.3.2", + "cc", "downcast-rs", - "libc", - "nix 0.24.3", + "rustix", "scoped-tls", - "wayland-commons", - "wayland-scanner", - "wayland-sys 0.29.5", + "smallvec", + "wayland-sys", ] [[package]] -name = "wayland-commons" -version = "0.29.5" +name = "wayland-client" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +checksum = "e3f45d1222915ef1fd2057220c1d9d9624b7654443ea35c3877f7a52bd0a5a2d" dependencies = [ - "nix 0.24.3", - "once_cell", - "smallvec", - "wayland-sys 0.29.5", + "bitflags 2.6.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-csd-frame" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" +dependencies = [ + "bitflags 2.6.0", + "cursor-icon", + "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.29.5" +version = "0.31.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +checksum = "3a94697e66e76c85923b0d28a0c251e8f0666f58fc47d316c0f4da6da75d37cb" dependencies = [ - "nix 0.24.3", + "rustix", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.29.5" +version = "0.32.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +checksum = "2b5755d77ae9040bb872a25026555ce4cb0ae75fd923e90d25fba07d81057de0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", + "wayland-backend", "wayland-client", - "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad87b5fd1b1d3ca2f792df8f686a2a11e3fe1077b71096f7a175ab699f89109" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", "wayland-scanner", ] [[package]] name = "wayland-scanner" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" dependencies = [ "proc-macro2", + "quick-xml", "quote", - "xml-rs", ] [[package]] name = "wayland-sys" -version = "0.29.5" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" dependencies = [ "dlib", - "lazy_static", - "pkg-config", -] - -[[package]] -name = "wayland-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" -dependencies = [ - "dlib", - "lazy_static", "log", + "once_cell", "pkg-config", ] @@ -5560,19 +4220,13 @@ dependencies = [ [[package]] name = "webbrowser" -version = "0.8.15" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" +checksum = "ecad156490d6b620308ed411cfee90d280b3cbd13e189ea0d3fada8acc89158a" dependencies = [ - "core-foundation 0.9.4", - "home", - "jni", - "log", - "ndk-context", - "objc", - "raw-window-handle 0.5.2", - "url", "web-sys", + "widestring", + "winapi", ] [[package]] @@ -5581,6 +4235,12 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" +[[package]] +name = "widestring" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" + [[package]] name = "winapi" version = "0.3.9" @@ -5621,33 +4281,13 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" -dependencies = [ - "windows-core 0.54.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" -dependencies = [ - "windows-result 0.1.2", + "windows-core", "windows-targets 0.52.6", ] @@ -5659,7 +4299,7 @@ checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ "windows-implement", "windows-interface", - "windows-result 0.2.0", + "windows-result", "windows-strings", "windows-targets 0.52.6", ] @@ -5686,15 +4326,6 @@ dependencies = [ "syn 2.0.79", ] -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.2.0" @@ -5710,7 +4341,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result 0.2.0", + "windows-result", "windows-targets 0.52.6", ] @@ -5937,41 +4568,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winit" -version = "0.28.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" -dependencies = [ - "android-activity", - "bitflags 1.3.2", - "cfg_aliases", - "core-foundation 0.9.4", - "core-graphics 0.22.3", - "dispatch", - "instant", - "libc", - "log", - "mio 0.8.11", - "ndk 0.7.0", - "objc2 0.3.0-beta.3.patch-leaks.3", - "once_cell", - "orbclient", - "percent-encoding", - "raw-window-handle 0.5.2", - "redox_syscall 0.3.5", - "sctk-adwaita", - "smithay-client-toolkit", - "wasm-bindgen", - "wayland-client", - "wayland-commons", - "wayland-protocols", - "wayland-scanner", - "web-sys", - "windows-sys 0.45.0", - "x11-dl", -] - [[package]] name = "winnow" version = "0.5.40" @@ -5998,11 +4594,14 @@ dependencies = [ "anyhow", "async-nats", "bincode", + "egui", + "egui-miniquad", "flume", "image 0.25.2", "indexmap", "known-folders", - "notan", + "macroquad", + "miniquad", "rocket", "rsn", "serde", @@ -6022,6 +4621,16 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "x11-clipboard" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98785a09322d7446e28a13203d2cae1059a0dd3dfb32cb06d0a225f023d8286" +dependencies = [ + "libc", + "x11rb", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -6057,16 +4666,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" [[package]] -name = "xi-unicode" -version = "0.3.0" +name = "xkeysym" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" - -[[package]] -name = "xml-rs" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "yansi" diff --git a/workspace/Cargo.toml b/workspace/Cargo.toml index 4065ab4..3dcd6c2 100644 --- a/workspace/Cargo.toml +++ b/workspace/Cargo.toml @@ -14,21 +14,15 @@ rsn = "0.1.0" serde = { version = "1.0.210", features = ["derive"] } known-folders = "1.2.0" indexmap = { version = "2.6.0", features = ["serde"] } -notan = { version = "0.12.1", features = [ - "audio", - "clipboard", - "drop_files", - "egui", - "extra", - "links", - "notan_extra", - "text", -] } tao = "0.30.3" rocket = "0.5.1" async-nats = "0.37.0" flume = "0.11.0" bincode = "1.3.3" +macroquad = "0.4.0" +egui = "0.28" +miniquad = "=0.4.0" +egui-miniquad = "=0.15.0" [build-dependencies] winresource = "0.1.17" diff --git a/workspace/src/bin/log_history.rs b/workspace/src/bin/log_history.rs index 6aabbb7..2fa2cdd 100644 --- a/workspace/src/bin/log_history.rs +++ b/workspace/src/bin/log_history.rs @@ -5,193 +5,164 @@ use std::collections::HashMap; use std::process::Child; -use std::str::FromStr; +use std::thread::spawn; use std::{path::PathBuf, process::Command}; +use egui::Sense; +use egui::{self, Label}; use indexmap::IndexSet; -use known_folders::{get_known_folder_path, KnownFolder}; -use notan::egui::Sense; -use notan::log::warn; -use notan::{ - draw::DrawConfig, - egui::{self, EguiConfig, EguiPluginSugar, Label}, - extra::FpsLimit, - prelude::*, -}; -use serde::{Deserialize, Serialize}; +use macroquad::prelude::*; +use miniquad::window::{dropped_file_count, dropped_file_path}; +use rocket::futures::StreamExt; +use workspace::{egui_mq, LogFile, WorkspaceClientMessage, WorkspaceServerMessage}; -#[derive(Serialize, Deserialize, Hash, PartialEq, Eq)] -struct LogFile { - name: String, - path: PathBuf, -} - -#[derive(AppState, Serialize, Deserialize)] -struct State { - log_history: IndexSet, - #[serde(skip)] - log_viewer_path: PathBuf, - #[serde(skip)] - open_files: HashMap, -} - -impl State { - fn save(&mut self) { - let folder = get_known_folder_path(KnownFolder::LocalAppData) - .unwrap() - .join("workspace") - .join("log_history"); - std::fs::create_dir_all(&folder).unwrap(); - std::fs::write(folder.join("data.rsn"), rsn::to_string(self)).unwrap(); +fn window_conf() -> Conf { + Conf { + window_title: "Log History".to_owned(), + high_dpi: true, + ..Default::default() } } -fn main() -> Result<(), String> { - let win = WindowConfig::new() - .set_vsync(false) - .set_title("Log History") - .set_resizable(true) - .set_lazy_loop(true) - .set_transparent(true) - .set_high_dpi(true); - - notan::init_with(init) - .add_config(win) - .add_config(EguiConfig) - .add_config(DrawConfig) - .add_plugin(FpsLimit::new(60)) - .update(update) - .event(event) - .draw(draw) - .build() -} - -fn update(_app: &mut App, _state: &mut State) {} - -fn event(_app: &mut App, _assets: &mut Assets, state: &mut State, evt: Event) { - match evt { - Event::Exit => { - // for (_, mut child) in state.open_files.drain() { - // if let Ok(Some(_)) = child.try_wait() { - // continue; - // } - // _ = child.kill(); - // } - } - Event::Drop(file) => { - if file.name.ends_with(".log") { - state.log_history.shift_insert( - 0, - LogFile { - name: file.name.clone(), - path: file - .path - .unwrap_or_else(|| PathBuf::from_str(&file.name).unwrap()), - }, - ); - state.save(); - } - } - _ => {} - } -} - -fn draw(app: &mut App, gfx: &mut Graphics, plugins: &mut Plugins, state: &mut State) { - let mut output = plugins.egui(|ctx| { - egui::SidePanel::left("side_panel") - .exact_width(app.window().width() as f32) - .show(ctx, |ui| { - ui.heading("Log History"); - ui.separator(); - egui::ScrollArea::vertical().show(ui, |ui| { - let mut to_swap = None; - let mut to_delete = None; - let history_len = state.log_history.len(); - for (i, log) in state.log_history.iter().enumerate() { - let path_text = log.path.to_string_lossy().to_string(); - let label = ui - .add(Label::new(&log.name).sense(Sense::click())) - .on_hover_text(&path_text); - label.context_menu(|ui| { - if ui.button("Open in Notepad").clicked() { - _ = Command::new("notepad.exe").arg(&path_text).spawn(); - ui.close_menu(); - } - if ui.button("Remove").clicked() { - to_delete = Some(i); - ui.close_menu(); - } - }); - if label.clicked() { - if let Some(child) = state.open_files.get_mut(&log.path) { - if let Ok(Some(_)) = child.try_wait() { - *child = Command::new(&state.log_viewer_path) - .arg(&path_text) - .spawn() - .unwrap(); - } - } else { - state.open_files.insert( - log.path.clone(), - Command::new(&state.log_viewer_path) - .arg(&path_text) - .spawn() - .unwrap(), - ); - } - to_swap = Some(i); - } - if i < history_len - 1 { - ui.separator(); - } - } - if let Some(i) = to_swap { - if let Some(value) = state.log_history.swap_remove_index(i) { - state.log_history.shift_insert(0, value); - } - state.save(); - } - if let Some(i) = to_delete { - _ = state.log_history.shift_remove_index(i); - state.save(); - } - }) - }); - }); - - output.clear_color(Color::BLACK); - gfx.render(&output); -} - -fn init(_gfx: &mut Graphics) -> State { +#[macroquad::main(window_conf)] +async fn main() { let log_viewer_path = std::env::current_exe() .ok() .and_then(|exe| exe.parent().map(|p| p.to_path_buf())) .map(|exe| exe.join("fast_log_viewer.exe")) .unwrap_or_else(|| PathBuf::from("fast_log_viewer.exe")); - let data = known_folders::get_known_folder_path(known_folders::KnownFolder::LocalAppData) - .unwrap() - .join("workspace") - .join("log_history") - .join("data.rsn"); - let mut state = None; - if data.exists() { - match std::fs::read_to_string(data) { - Ok(data) => { - state = Some(rsn::from_str(&data).unwrap()); - } - Err(err) => { - warn!("Couldn't read data file: {}", err); + let mut log_history: IndexSet = IndexSet::new(); + let mut open_files = HashMap::::new(); + + let (incoming_tx, incoming_rx) = flume::bounded(1024); + let (outgoing_tx, outgoing_rx) = flume::bounded::<(&str, Vec)>(1024); + + spawn(move || { + tokio::runtime::Builder::new_multi_thread() + .enable_all() + .build() + .unwrap() + .block_on(async { + let nats = async_nats::connect("nats://localhost:42666").await.unwrap(); + nats.publish( + "workspace.server", + bincode::serialize(&WorkspaceClientMessage::GetLogHistory) + .unwrap() + .into(), + ) + .await + .unwrap(); + let mut sub = nats.subscribe("workspace.log_history").await.unwrap(); + tokio::spawn(async move { + while let Some(msg) = sub.next().await { + if let Ok(msg) = + bincode::deserialize::(&msg.payload) + { + match msg { + WorkspaceServerMessage::LogHistory(history) => { + incoming_tx.send_async(history).await.unwrap(); + } + #[allow(unreachable_patterns)] + _ => (), + } + } + } + }); + + while let Ok((topic, msg)) = outgoing_rx.recv_async().await { + nats.publish(topic, msg.into()).await.unwrap(); + } + }); + }); + + loop { + clear_background(WHITE); + + egui_mq::ui(|ctx| { + egui::SidePanel::left("side_panel") + .exact_width(500.0) + .show(ctx, |ui| { + ui.heading("Log History"); + ui.separator(); + egui::ScrollArea::vertical().show(ui, |ui| { + // let mut to_swap = None; + let mut to_delete = None; + if let Ok(history) = incoming_rx.try_recv() { + log_history = history; + } + let history_len = log_history.len(); + for (i, log) in log_history.iter().enumerate() { + let path_text = log.path.to_string_lossy().to_string(); + let label = ui + .add(Label::new(&log.name).sense(Sense::click())) + .on_hover_text(&path_text); + label.context_menu(|ui| { + if ui.button("Open in Notepad").clicked() { + _ = Command::new("notepad.exe").arg(&path_text).spawn(); + ui.close_menu(); + } + if ui.button("Remove").clicked() { + to_delete = Some(i); + ui.close_menu(); + } + }); + if label.clicked() { + if let Some(child) = open_files.get_mut(&log.path) { + if let Ok(Some(_)) = child.try_wait() { + *child = Command::new(&log_viewer_path) + .arg(&path_text) + .spawn() + .unwrap(); + } + } else { + open_files.insert( + log.path.clone(), + Command::new(&log_viewer_path) + .arg(&path_text) + .spawn() + .unwrap(), + ); + } + // to_swap = Some(i); + } + if i < history_len - 1 { + ui.separator(); + } + } + // if let Some(i) = to_swap { + // if let Some(value) = log_history.swap_remove_index(i) { + // log_history.shift_insert(0, value); + // } + // } + // if let Some(i) = to_delete { + // _ = log_history.shift_remove_index(i); + // } + }) + }); + }); + + let dropped_file_count = dropped_file_count(); + if dropped_file_count > 0 { + for i in 0..dropped_file_count { + if let Some(file) = dropped_file_path(i) { + outgoing_tx + .send(( + "workspace.server", + bincode::serialize(&LogFile { + name: file.file_name().unwrap().to_string_lossy().to_string(), + path: file, + }) + .unwrap() + .into(), + )) + .unwrap(); + } } } - } - let mut state = state.unwrap_or_else(|| State { - log_history: IndexSet::new(), - log_viewer_path: PathBuf::new(), - open_files: HashMap::new(), - }); - state.log_viewer_path = log_viewer_path; - state + egui_mq::draw(); + + next_frame().await + } } diff --git a/workspace/src/egui_mq.rs b/workspace/src/egui_mq.rs new file mode 100644 index 0000000..f22f7e4 --- /dev/null +++ b/workspace/src/egui_mq.rs @@ -0,0 +1,108 @@ +use egui_miniquad::EguiMq; +use macroquad::prelude::*; +use miniquad as mq; + +pub use egui; +pub use macroquad; + +struct Egui { + egui_mq: EguiMq, + input_subscriber_id: usize, +} + +// Global variable and global functions because it's more like macroquad way +static mut EGUI: Option = None; + +fn get_egui() -> &'static mut Egui { + unsafe { + if let Some(egui) = EGUI.as_mut() { + egui + } else { + EGUI = Some(Egui::new()); + EGUI.as_mut().unwrap() + } + } +} + +impl Egui { + fn new() -> Self { + Self { + egui_mq: EguiMq::new(unsafe { get_internal_gl() }.quad_context), + input_subscriber_id: macroquad::input::utils::register_input_subscriber(), + } + } + + fn ui(&mut self, f: F) + where + F: FnOnce(&mut dyn mq::RenderingBackend, &egui::Context), + { + let gl = unsafe { get_internal_gl() }; + macroquad::input::utils::repeat_all_miniquad_input(self, self.input_subscriber_id); + + self.egui_mq.run(gl.quad_context, f); + } + + fn draw(&mut self) { + let mut gl = unsafe { get_internal_gl() }; + // Ensure that macroquad's shapes are not goint to be lost, and draw them now + gl.flush(); + self.egui_mq.draw(gl.quad_context); + } +} + +/// Calculates egui ui. Must be called once per frame. +pub fn ui(f: F) { + get_egui().ui(|_, ctx| f(ctx)) +} + +/// Configure egui without beginning or ending a frame. +pub fn cfg(f: F) { + f(get_egui().egui_mq.egui_ctx()); +} + +/// Draw egui ui. Must be called after `ui` and once per frame. +pub fn draw() { + get_egui().draw() +} + +// Intended to be used only if you recreate the window, making the old EGUI instance invalid. +#[doc(hidden)] +pub fn reset_egui() { + unsafe { + EGUI = None; + } +} + +impl mq::EventHandler for Egui { + fn update(&mut self) {} + + fn draw(&mut self) {} + + fn mouse_motion_event(&mut self, x: f32, y: f32) { + self.egui_mq.mouse_motion_event(x, y); + } + + fn mouse_wheel_event(&mut self, dx: f32, dy: f32) { + self.egui_mq.mouse_wheel_event(dx, dy); + } + + fn mouse_button_down_event(&mut self, mb: mq::MouseButton, x: f32, y: f32) { + self.egui_mq.mouse_button_down_event(mb, x, y); + } + + fn mouse_button_up_event(&mut self, mb: mq::MouseButton, x: f32, y: f32) { + self.egui_mq.mouse_button_up_event(mb, x, y); + } + + fn char_event(&mut self, character: char, _keymods: mq::KeyMods, _repeat: bool) { + self.egui_mq.char_event(character); + } + + fn key_down_event(&mut self, keycode: mq::KeyCode, keymods: mq::KeyMods, _repeat: bool) { + self.egui_mq.key_down_event(keycode, keymods); + } + + fn key_up_event(&mut self, keycode: mq::KeyCode, keymods: mq::KeyMods) { + self.egui_mq.key_up_event(keycode, keymods); + } +} diff --git a/workspace/src/lib.rs b/workspace/src/lib.rs new file mode 100644 index 0000000..a08a917 --- /dev/null +++ b/workspace/src/lib.rs @@ -0,0 +1,23 @@ +use std::path::PathBuf; + +use indexmap::IndexSet; +use serde::{Deserialize, Serialize}; + +pub mod egui_mq; + +#[derive(Serialize, Deserialize, Debug)] +pub enum WorkspaceClientMessage { + AddLogEntry(LogFile), + GetLogHistory, +} + +#[derive(Serialize, Deserialize, Debug)] +pub enum WorkspaceServerMessage { + LogHistory(IndexSet), +} + +#[derive(Serialize, Deserialize, Hash, PartialEq, Eq, Debug)] +pub struct LogFile { + pub name: String, + pub path: PathBuf, +} diff --git a/workspace/src/main.rs b/workspace/src/main.rs index 833d4c2..42133bd 100644 --- a/workspace/src/main.rs +++ b/workspace/src/main.rs @@ -9,6 +9,7 @@ use std::str::FromStr; use std::{path::PathBuf, time::Duration}; use indexmap::IndexSet; +use known_folders::{get_known_folder_path, KnownFolder}; use rocket::futures::StreamExt; use serde::{Deserialize, Serialize}; use tao::{ @@ -21,29 +22,24 @@ use tray_icon::{ menu::{Menu, MenuEvent, MenuEventReceiver, MenuItem, PredefinedMenuItem}, MouseButton, TrayIcon, TrayIconBuilder, TrayIconEvent, TrayIconEventReceiver, }; - -#[derive(Serialize, Deserialize, Debug)] -enum WorkspaceClientMessage { - AddLogEntry(LogFile), - GetLogHistory, -} - -#[derive(Serialize, Deserialize, Debug)] -enum WorkspaceServerMessage { - LogHistory(IndexSet), -} - -#[derive(Serialize, Deserialize, Hash, PartialEq, Eq, Debug)] -struct LogFile { - name: String, - path: PathBuf, -} +use workspace::{LogFile, WorkspaceClientMessage}; #[derive(Serialize, Deserialize, Debug)] struct State { log_history: IndexSet, } +impl State { + fn save(&mut self) { + let folder = get_known_folder_path(KnownFolder::LocalAppData) + .unwrap() + .join("workspace") + .join("log_history"); + std::fs::create_dir_all(&folder).unwrap(); + std::fs::write(folder.join("data.rsn"), rsn::to_string(self)).unwrap(); + } +} + fn main() -> anyhow::Result<()> { let log_history_exe = std::env::current_exe() .ok() @@ -92,7 +88,7 @@ fn main() -> anyhow::Result<()> { rt.spawn(async move { let nats = async_nats::connect("nats://localhost:42666").await.unwrap(); - let mut sub = nats.subscribe("workspace.>").await.unwrap(); + let mut sub = nats.subscribe("workspace.server").await.unwrap(); while let Some(msg) = sub.next().await { client_tx.send_async(msg).await.unwrap(); } @@ -174,6 +170,7 @@ fn main() -> anyhow::Result<()> { bincode::serialize(&state.log_history).unwrap(), )) .unwrap(); + state.save(); } WorkspaceClientMessage::GetLogHistory => server_tx .send((