commit 51457a02602709c92e9c66d5703102edec193cf2 parent 267f3c4527a6abc0b6f29f6361b0868b4a2455dc Author: William Casarin <jb55@jb55.com> Date: Tue, 28 Jan 2025 16:33:35 -0800 android: update to latest winit/egui/android-activity so we can start fixing this shit Signed-off-by: William Casarin <jb55@jb55.com> Diffstat:
25 files changed, 473 insertions(+), 423 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock @@ -70,7 +70,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom", + "getrandom 0.2.15", "once_cell", "serde", "version_check", @@ -93,19 +93,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" [[package]] -name = "allocator-api2" -version = "0.2.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" - -[[package]] name = "android-activity" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.6.0", + "bitflags 2.8.0", "cc", "cesu8", "jni", @@ -136,9 +130,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "arbitrary" @@ -153,11 +147,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4" dependencies = [ "clipboard-win", + "core-graphics", + "image", "log", "objc2", "objc2-app-kit", "objc2-foundation", "parking_lot", + "windows-sys 0.48.0", "x11rb", ] @@ -366,9 +363,9 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.83" +version = "0.1.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" +checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" dependencies = [ "proc-macro2", "quote", @@ -480,7 +477,7 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cexpr", "clang-sys", "itertools 0.12.1", @@ -607,9 +604,12 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +dependencies = [ + "serde", +] [[package]] name = "bitstream-io" @@ -671,24 +671,24 @@ checksum = "c360505aed52b7ec96a3636c3f039d99103c37d1d9b4f7a8c743d3ea9ffcd03b" [[package]] name = "bumpalo" -version = "3.16.0" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" [[package]] name = "bytemuck" -version = "1.20.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", @@ -719,7 +719,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "log", "polling", "rustix", @@ -750,9 +750,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.4" +version = "1.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" +checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229" dependencies = [ "jobserver", "libc", @@ -792,12 +792,6 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "cfg_aliases" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" @@ -953,9 +947,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] @@ -971,18 +965,18 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -999,15 +993,15 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" [[package]] name = "crypto-common" @@ -1028,9 +1022,9 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" [[package]] name = "data-url" @@ -1133,6 +1127,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] +name = "dpi" +version = "0.1.1" +source = "git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5#a5e342540e02a93aca30a4a24e5c68b1313a3ca5" + +[[package]] name = "ecolor" version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1145,8 +1144,7 @@ dependencies = [ [[package]] name = "ecolor" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d72e9c39f6e11a2e922d04a34ec5e7ef522ea3f5a1acfca7a19d16ad5fe50f5" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "bytemuck", "emath 0.30.0", @@ -1156,8 +1154,7 @@ dependencies = [ [[package]] name = "eframe" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f2d9e7ea2d11ec9e98a8683b6eb99f9d7d0448394ef6e0d6d91bd4eb817220" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ahash", "bytemuck", @@ -1187,7 +1184,7 @@ dependencies = [ "wgpu", "winapi", "windows-sys 0.59.0", - "winit", + "winit 0.30.8 (git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5)", ] [[package]] @@ -1207,12 +1204,12 @@ dependencies = [ [[package]] name = "egui" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "252d52224d35be1535d7fd1d6139ce071fb42c9097773e79f7665604f5596b5e" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "accesskit 0.17.1", "ahash", "backtrace", + "bitflags 2.8.0", "emath 0.30.0", "epaint 0.30.0", "log", @@ -1224,8 +1221,7 @@ dependencies = [ [[package]] name = "egui-wgpu" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c1e821d2d8921ef6ce98b258c7e24d9d6aab2ca1f9cdf374eca997e7f67f59" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ahash", "bytemuck", @@ -1238,17 +1234,17 @@ dependencies = [ "type-map", "web-time 1.1.0", "wgpu", - "winit", + "winit 0.30.8 (git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5)", ] [[package]] name = "egui-winit" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e84c2919cd9f3a38a91e8f84ac6a245c19251fd95226ed9fae61d5ea564fce3" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ahash", "arboard", + "bytemuck", "egui 0.30.0", "log", "profiling", @@ -1256,7 +1252,7 @@ dependencies = [ "smithay-clipboard", "web-time 1.1.0", "webbrowser", - "winit", + "winit 0.30.8 (git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5)", ] [[package]] @@ -1275,8 +1271,7 @@ dependencies = [ [[package]] name = "egui_extras" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7a8198c088b1007108cb2d403bc99a5e370999b200db4f14559610d7330126" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ahash", "egui 0.30.0", @@ -1292,19 +1287,18 @@ dependencies = [ [[package]] name = "egui_glow" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eaf6264cc7608e3e69a7d57a6175f438275f1b3889c1a551b418277721c95e6" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ahash", "bytemuck", "egui 0.30.0", - "glow 0.16.0", + "glow", "log", "memoffset", "profiling", "wasm-bindgen", "web-sys", - "winit", + "winit 0.30.8 (git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5)", ] [[package]] @@ -1367,8 +1361,7 @@ dependencies = [ [[package]] name = "emath" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fe73c1207b864ee40aa0b0c038d6092af1030744678c60188a05c28553515d" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "bytemuck", "serde", @@ -1393,7 +1386,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", "url", @@ -1470,8 +1463,7 @@ dependencies = [ [[package]] name = "epaint" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5666f8d25236293c966fbb3635eac18b04ad1914e3bab55bc7d44b9980cafcac" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" dependencies = [ "ab_glyph", "ahash", @@ -1489,8 +1481,7 @@ dependencies = [ [[package]] name = "epaint_default_fonts" version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66f6ddac3e6ac6fd4c3d48bb8b1943472f8da0f43a4303bcd8a18aa594401c80" +source = "git+https://github.com/jb55/egui?rev=03c769a3576920d5e33e01c06167e7c67d296625#03c769a3576920d5e33e01c06167e7c67d296625" [[package]] name = "equivalent" @@ -1613,6 +1604,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] +name = "foldhash" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" + +[[package]] name = "foreign-types" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1779,11 +1776,23 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] +name = "getrandom" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.13.3+wasi-0.2.2", + "windows-targets 0.52.6", +] + +[[package]] name = "gif" version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1812,21 +1821,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "glow" -version = "0.14.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "glow" @@ -1842,12 +1839,12 @@ dependencies = [ [[package]] name = "glutin" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec69412a0bf07ea7607e638b415447857a808846c2b685a43c8aa18bc6d5e499" +checksum = "03642b8b0cce622392deb0ee3e88511f75df2daac806102597905c3ea1974848" dependencies = [ - "bitflags 2.6.0", - "cfg_aliases 0.2.1", + "bitflags 2.8.0", + "cfg_aliases", "cgl", "core-foundation 0.9.4", "dispatch", @@ -1871,10 +1868,10 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85edca7075f8fc728f28cb8fbb111a96c3b89e930574369e3e9c27eb75d3788f" dependencies = [ - "cfg_aliases 0.2.1", + "cfg_aliases", "glutin", "raw-window-handle", - "winit", + "winit 0.30.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1899,9 +1896,9 @@ dependencies = [ [[package]] name = "glutin_wgl_sys" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" dependencies = [ "gl_generator", ] @@ -1912,7 +1909,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "gpu-alloc-types", ] @@ -1922,18 +1919,18 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] name = "gpu-descriptor" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" +checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "gpu-descriptor-types", - "hashbrown 0.14.5", + "hashbrown", ] [[package]] @@ -1942,7 +1939,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -1957,19 +1954,12 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +dependencies = [ + "foldhash", +] [[package]] name = "heck" @@ -2027,11 +2017,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2047,9 +2037,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.5" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" +checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" [[package]] name = "icu_collections" @@ -2215,9 +2205,9 @@ dependencies = [ [[package]] name = "image-webp" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e031e8e3d94711a9ccb5d6ea357439ef3dcbed361798bd4071dc4d9793fbe22f" +checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f" dependencies = [ "byteorder-lite", "quick-error", @@ -2237,12 +2227,12 @@ checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" [[package]] name = "indexmap" -version = "2.7.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", "serde", ] @@ -2361,9 +2351,9 @@ checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -2415,15 +2405,15 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.168" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libfuzzer-sys" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b9569d2f74e257076d8c6bfa73fb505b46b851e51ddaecc825944aa3bed17fa" +checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75" dependencies = [ "arbitrary", "cc", @@ -2445,16 +2435,16 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "libc", "redox_syscall 0.5.8", ] [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "litemap" @@ -2480,9 +2470,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.22" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "loop9" @@ -2553,11 +2543,11 @@ dependencies = [ [[package]] name = "metal" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block", "core-graphics-types", "foreign-types", @@ -2600,9 +2590,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.0" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", "simd-adler32", @@ -2616,28 +2606,29 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] [[package]] name = "naga" -version = "23.1.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.6.0", - "cfg_aliases 0.1.1", + "bitflags 2.8.0", + "cfg_aliases", "codespan-reporting", "hexf-parse", "indexmap", "log", "rustc-hash", "spirv", + "strum", "termcolor", - "thiserror 1.0.69", + "thiserror 2.0.11", "unicode-xid", ] @@ -2653,7 +2644,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", @@ -2710,9 +2701,9 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", "memoffset", ] @@ -2753,7 +2744,7 @@ dependencies = [ "cbc", "chacha20", "chacha20poly1305", - "getrandom", + "getrandom 0.2.15", "instant", "negentropy 0.3.1", "negentropy 0.4.3", @@ -2775,7 +2766,7 @@ dependencies = [ "flatbuffers", "futures", "libc", - "thiserror 2.0.7", + "thiserror 2.0.11", "tokio", "tracing", "tracing-subscriber", @@ -2806,7 +2797,7 @@ dependencies = [ "strum", "strum_macros", "tempfile", - "thiserror 2.0.7", + "thiserror 2.0.11", "tracing", "url", "uuid", @@ -2841,7 +2832,7 @@ version = "0.3.1" dependencies = [ "base64 0.22.1", "bech32", - "bitflags 2.6.0", + "bitflags 2.8.0", "dirs", "eframe", "egui 0.30.0", @@ -2871,8 +2862,8 @@ dependencies = [ "strum", "strum_macros", "tempfile", - "thiserror 2.0.11", "tokenator", + "thiserror 2.0.11", "tokio", "tracing", "tracing-appender", @@ -3000,7 +2991,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "libc", "objc2", @@ -3016,7 +3007,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-core-location", @@ -3040,7 +3031,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3072,9 +3063,9 @@ dependencies = [ [[package]] name = "objc2-encode" -version = "4.0.3" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" [[package]] name = "objc2-foundation" @@ -3082,7 +3073,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "dispatch", "libc", @@ -3107,7 +3098,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3119,7 +3110,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-foundation", @@ -3142,7 +3133,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-cloud-kit", @@ -3174,7 +3165,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "objc2", "objc2-core-location", @@ -3183,9 +3174,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.5" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] @@ -3204,9 +3195,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "open" -version = "5.3.1" +version = "5.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ecd52f0b8d15c40ce4820aa251ed5de032e5d91fab27f7db2f40d42a8bdf69c" +checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95" dependencies = [ "is-wsl", "libc", @@ -3229,6 +3220,15 @@ dependencies = [ ] [[package]] +name = "ordered-float" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +dependencies = [ + "num-traits", +] + +[[package]] name = "ordered-stream" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3329,18 +3329,18 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" +checksum = "1e2ec53ad785f4d35dac0adea7f7dc6f1bb277ad84a680c7afefeae05d1f5916" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" +checksum = "d56a66c0c55993aa927429d0f8a0abfd74f084e4d9c192cffed01e418d83eefb" dependencies = [ "proc-macro2", "quote", @@ -3349,9 +3349,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -3378,9 +3378,9 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "png" -version = "0.17.15" +version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67582bd5b65bdff614270e2ea89a1cf15bef71245cc1e5f7ea126977144211d" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -3459,9 +3459,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.25" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", "syn", @@ -3478,9 +3478,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -3563,9 +3563,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -3597,7 +3597,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -3697,7 +3697,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -3706,7 +3706,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom", + "getrandom 0.2.15", "libredox", "thiserror 1.0.69", ] @@ -3816,7 +3816,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom", + "getrandom 0.2.15", "libc", "spin", "untrusted", @@ -3873,11 +3873,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.42" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys", @@ -3886,9 +3886,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.20" +version = "0.23.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" dependencies = [ "log", "once_cell", @@ -3901,9 +3901,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" [[package]] name = "rustls-webpki" @@ -3918,15 +3918,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "ryu" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" [[package]] name = "salsa20" @@ -4010,7 +4010,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -4019,9 +4019,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.12.1" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -4029,24 +4029,24 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" [[package]] name = "serde" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.216" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", @@ -4055,9 +4055,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.133" +version = "1.0.138" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" +checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" dependencies = [ "indexmap", "itoa", @@ -4149,9 +4149,9 @@ dependencies = [ [[package]] name = "simplecss" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" +checksum = "7a9c6883ca9c3c7c90e888de77b7a5c849c779d25d74a1269b0218b14e8b136c" dependencies = [ "log", ] @@ -4192,7 +4192,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -4243,7 +4243,7 @@ version = "0.3.0+sdk-1.3.268.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", ] [[package]] @@ -4272,6 +4272,9 @@ name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] [[package]] name = "strum_macros" @@ -4304,9 +4307,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -4345,12 +4348,13 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" +checksum = "38c246215d7d24f48ae091a2902398798e05d978b24315d6efbc00ede9a8bb91" dependencies = [ "cfg-if", "fastrand", + "getrandom 0.3.1", "once_cell", "rustix", "windows-sys 0.59.0", @@ -4376,11 +4380,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.11", ] [[package]] @@ -4396,9 +4400,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -4495,9 +4499,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -4517,9 +4521,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.42.0" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" dependencies = [ "backtrace", "pin-project-lite", @@ -4528,9 +4532,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", @@ -4711,15 +4715,15 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "unicode-normalization" @@ -4862,11 +4866,11 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.11.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" dependencies = [ - "getrandom", + "getrandom 0.2.15", ] [[package]] @@ -4882,9 +4886,9 @@ dependencies = [ [[package]] name = "valuable" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "vec1" @@ -4921,21 +4925,31 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] +name = "wasi" +version = "0.13.3+wasi-0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", @@ -4947,9 +4961,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", @@ -4960,9 +4974,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4970,9 +4984,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -4983,9 +4997,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wayland-backend" @@ -5007,7 +5024,7 @@ version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "rustix", "wayland-backend", "wayland-scanner", @@ -5019,7 +5036,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "cursor-icon", "wayland-backend", ] @@ -5041,7 +5058,7 @@ version = "0.32.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -5053,7 +5070,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5066,7 +5083,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5098,9 +5115,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -5161,12 +5178,13 @@ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" [[package]] name = "wgpu" -version = "23.0.1" +version = "24.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +checksum = "47f55718f85c2fa756edffa0e7f0e0a60aba463d1362b57e23123c58f035e4b6" dependencies = [ "arrayvec", - "cfg_aliases 0.1.1", + "bitflags 2.8.0", + "cfg_aliases", "document-features", "js-sys", "log", @@ -5186,14 +5204,14 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "23.0.1" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +checksum = "82a39b8842dc9ffcbe34346e3ab6d496b32a47f6497e119d762c97fcaae3cb37" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.6.0", - "cfg_aliases 0.1.1", + "bitflags 2.8.0", + "cfg_aliases", "document-features", "indexmap", "log", @@ -5204,26 +5222,26 @@ dependencies = [ "raw-window-handle", "rustc-hash", "smallvec", - "thiserror 1.0.69", + "thiserror 2.0.11", "wgpu-hal", "wgpu-types", ] [[package]] name = "wgpu-hal" -version = "23.0.1" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" +checksum = "5a782e5056b060b0b4010881d1decddd059e44f2ecd01e2db2971b48ad3627e5" dependencies = [ "android_system_properties", "arrayvec", "ash", - "bitflags 2.6.0", + "bitflags 2.8.0", "block", "bytemuck", - "cfg_aliases 0.1.1", + "cfg_aliases", "core-graphics-types", - "glow 0.14.2", + "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-descriptor", @@ -5237,13 +5255,14 @@ dependencies = [ "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", + "ordered-float", "parking_lot", "profiling", "raw-window-handle", "renderdoc-sys", "rustc-hash", "smallvec", - "thiserror 1.0.69", + "thiserror 2.0.11", "wasm-bindgen", "web-sys", "wgpu-types", @@ -5252,12 +5271,13 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "23.0.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "js-sys", + "log", "web-sys", ] @@ -5584,23 +5604,73 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.30.5" +version = "0.30.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67" +checksum = "f5d74280aabb958072864bff6cfbcf9025cf8bfacdde5e32b5e12920ef703b0f" +dependencies = [ + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.8.0", + "block2", + "bytemuck", + "calloop", + "cfg_aliases", + "concurrent-queue", + "core-foundation 0.9.4", + "core-graphics", + "cursor-icon", + "dpi 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "js-sys", + "libc", + "memmap2", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix", + "smithay-client-toolkit", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time 1.1.0", + "windows-sys 0.52.0", + "x11-dl", + "x11rb", + "xkbcommon-dl", +] + +[[package]] +name = "winit" +version = "0.30.8" +source = "git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5#a5e342540e02a93aca30a4a24e5c68b1313a3ca5" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.6.0", + "bitflags 2.8.0", "block2", "bytemuck", "calloop", - "cfg_aliases 0.2.1", + "cfg_aliases", "concurrent-queue", "core-foundation 0.9.4", "core-graphics", "cursor-icon", - "dpi", + "dpi 0.1.1 (git+https://github.com/jb55/winit?rev=a5e342540e02a93aca30a4a24e5c68b1313a3ca5)", "js-sys", "libc", "memmap2", @@ -5636,14 +5706,23 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.20" +version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +checksum = "ad699df48212c6cc6eb4435f35500ac6fd3b9913324f938aea302022ce19d310" dependencies = [ "memchr", ] [[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags 2.8.0", +] + +[[package]] name = "write16" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -5709,7 +5788,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.8.0", "dlib", "log", "once_cell", @@ -5724,9 +5803,9 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" -version = "0.8.24" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea8b391c9a790b496184c29f7f93b9ed5b16abb306c05415b68bcc16e4d06432" +checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" [[package]] name = "xmlwriter" @@ -5766,9 +5845,9 @@ dependencies = [ [[package]] name = "zbus" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "192a0d989036cd60a1e91a54c9851fb9ad5bd96125d41803eed79d2e2ef74bd7" +checksum = "2494e4b3f44d8363eef79a8a75fc0649efb710eef65a66b5e688a5eb4afe678a" dependencies = [ "async-broadcast", "async-executor", @@ -5802,9 +5881,9 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3685b5c81fce630efc3e143a4ded235b107f1b1cdf186c3f115529e5e5ae4265" +checksum = "445efc01929302aee95e2b25bbb62a301ea8a6369466e4278e58e7d1dfb23631" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml @@ -62,10 +62,6 @@ bincode = "1.3.3" mime_guess = "2.0.5" pretty_assertions = "1.4.1" -[patch.crates-io] -egui = { git = "https://github.com/damus-io/egui", branch = "update_layouter_0.29.1" } -epaint = { git = "https://github.com/damus-io/egui", branch = "update_layouter_0.29.1" } - [profile.small] inherits = 'release' opt-level = 'z' # Optimize for size @@ -73,3 +69,12 @@ lto = true # Enable link-time optimization codegen-units = 1 # Reduce number of codegen units to increase optimizations panic = 'abort' # Abort on panic strip = true # Strip symbols from binary* + + +[patch.crates-io] +egui = { git = "https://github.com/jb55/egui", rev = "03c769a3576920d5e33e01c06167e7c67d296625" } +eframe = { git = "https://github.com/jb55/egui", rev = "03c769a3576920d5e33e01c06167e7c67d296625" } +egui-winit = { git = "https://github.com/jb55/egui", rev = "03c769a3576920d5e33e01c06167e7c67d296625" } +egui_extras = { git = "https://github.com/jb55/egui", rev = "03c769a3576920d5e33e01c06167e7c67d296625" } +# on master was git = "https://github.com/damus-io/egui", branch = "update_layouter_0.29.1" +epaint = { git = "https://github.com/jb55/egui", rev = "03c769a3576920d5e33e01c06167e7c67d296625" } diff --git a/crates/notedeck/src/app.rs b/crates/notedeck/src/app.rs @@ -33,30 +33,13 @@ pub struct Notedeck { unrecognized_args: BTreeSet<String>, } -fn margin_top(narrow: bool) -> f32 { - #[cfg(target_os = "android")] - { - // FIXME - query the system bar height and adjust more precisely - let _ = narrow; // suppress compiler warning on android - 40.0 - } - #[cfg(not(target_os = "android"))] - { - if narrow { - 50.0 - } else { - 0.0 - } - } -} - /// Our chrome, which is basically nothing -fn main_panel(style: &egui::Style, narrow: bool) -> egui::CentralPanel { +fn main_panel(style: &egui::Style) -> egui::CentralPanel { let inner_margin = egui::Margin { - top: margin_top(narrow), - left: 0.0, - right: 0.0, - bottom: 0.0, + top: 0, + left: 0, + right: 0, + bottom: 0, }; egui::CentralPanel::default().frame(egui::Frame { inner_margin, @@ -73,7 +56,7 @@ impl eframe::App for Notedeck { // handle account updates self.accounts.update(&mut self.ndb, &mut self.pool, ctx); - main_panel(&ctx.style(), crate::ui::is_narrow(ctx)).show(ctx, |ui| { + main_panel(&ctx.style()).show(ctx, |ui| { // render app if let Some(app) = &self.app { let app = app.clone(); diff --git a/crates/notedeck/src/theme.rs b/crates/notedeck/src/theme.rs @@ -29,7 +29,7 @@ pub struct ColorTheme { pub inactive_weak_bg_fill: Color32, } -const WIDGET_ROUNDING: Rounding = Rounding::same(8.0); +const WIDGET_ROUNDING: Rounding = Rounding::same(8); pub fn create_themed_visuals(theme: ColorTheme, default: Visuals) -> Visuals { Visuals { @@ -83,12 +83,12 @@ pub fn create_themed_visuals(theme: ColorTheme, default: Visuals) -> Visuals { }, extreme_bg_color: theme.extreme_bg_color, error_fg_color: theme.err_fg_color, - window_rounding: Rounding::same(8.0), + window_rounding: Rounding::same(8), window_fill: theme.window_fill, window_shadow: Shadow { - offset: [0.0, 8.0].into(), - blur: 24.0, - spread: 0.0, + offset: [0, 8], + blur: 24, + spread: 0, color: egui::Color32::from_rgba_unmultiplied(0x6D, 0x6D, 0x6D, 0x14), }, window_stroke: Stroke { diff --git a/crates/notedeck_chrome/android/app/src/main/java/com/damus/notedeck/MainActivity.java b/crates/notedeck_chrome/android/app/src/main/java/com/damus/notedeck/MainActivity.java @@ -23,7 +23,6 @@ public class MainActivity extends GameActivity { protected void onCreate(Bundle savedInstanceState) { // Shrink view so it does not get covered by insets. - /* View content = getWindow().getDecorView().findViewById(android.R.id.content); ViewCompat.setOnApplyWindowInsetsListener(content, (v, windowInsets) -> { Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); @@ -39,7 +38,6 @@ public class MainActivity extends GameActivity { }); WindowCompat.setDecorFitsSystemWindows(getWindow(), true); - */ super.onCreate(savedInstanceState); } @@ -48,11 +46,10 @@ public class MainActivity extends GameActivity { public boolean onTouchEvent(MotionEvent event) { // Offset the location so it fits the view with margins caused by insets. - /* int[] location = new int[2]; findViewById(android.R.id.content).getLocationOnScreen(location); event.offsetLocation(-location[0], -location[1]); - */ + return super.onTouchEvent(event); } } diff --git a/crates/notedeck_chrome/src/android.rs b/crates/notedeck_chrome/src/android.rs @@ -17,7 +17,7 @@ pub async fn android_main(app: AndroidApp) { use tracing_subscriber::{prelude::*, EnvFilter}; std::env::set_var("RUST_BACKTRACE", "full"); - std::env::set_var("RUST_LOG", "egui=trace"); + std::env::set_var("RUST_LOG", "egui=trace,android_activity=debug"); //std::env::set_var( // "RUST_LOG", diff --git a/crates/notedeck_columns/src/ui/account_login_view.rs b/crates/notedeck_columns/src/ui/account_login_view.rs @@ -23,9 +23,7 @@ impl<'a> AccountLoginView<'a> { } pub fn ui(&mut self, ui: &mut egui::Ui) -> InnerResponse<Option<AccountLoginResponse>> { - Frame::none() - .outer_margin(12.0) - .show(ui, |ui| self.show(ui)) + Frame::new().outer_margin(12.0).show(ui, |ui| self.show(ui)) } fn show(&mut self, ui: &mut egui::Ui) -> Option<AccountLoginResponse> { @@ -123,7 +121,7 @@ fn login_textedit(manager: &mut AcquireKeyState) -> TextEdit { ) .vertical_align(Align::Center) .min_size(Vec2::new(0.0, 40.0)) - .margin(Margin::same(12.0)) + .margin(Margin::same(12)) }; let is_visible = manager.password_visible(); diff --git a/crates/notedeck_columns/src/ui/accounts.rs b/crates/notedeck_columns/src/ui/accounts.rs @@ -36,7 +36,7 @@ impl<'a> AccountsView<'a> { } pub fn ui(&mut self, ui: &mut Ui) -> InnerResponse<Option<AccountsViewResponse>> { - Frame::none().outer_margin(12.0).show(ui, |ui| { + Frame::new().outer_margin(12.0).show(ui, |ui| { if let Some(resp) = Self::top_section_buttons_widget(ui).inner { return Some(resp); } @@ -135,7 +135,7 @@ fn show_profile_card( let mut op: Option<ProfilePreviewAction> = None; ui.add_sized(max_size, |ui: &mut egui::Ui| { - let mut frame = Frame::none(); + let mut frame = Frame::new(); if is_selected || card_resp.hovered() { frame = frame.fill(ui.visuals().noninteractive().weak_bg_fill); } diff --git a/crates/notedeck_columns/src/ui/add_column.rs b/crates/notedeck_columns/src/ui/add_column.rs @@ -295,7 +295,7 @@ impl<'a> AddColumnView<'a> { .vertical_align(Align::Center) .desired_width(f32::INFINITY) .min_size(Vec2::new(0.0, 40.0)) - .margin(Margin::same(12.0)) + .margin(Margin::same(12)) }); ui.add(text_edit); @@ -315,10 +315,10 @@ impl<'a> AddColumnView<'a> { { egui::Frame::window(ui.style()) .outer_margin(Margin { - left: 4.0, - right: 4.0, - top: 12.0, - bottom: 32.0, + left: 4, + right: 4, + top: 12, + bottom: 32, }) .show(ui, |ui| { ProfilePreview::new(&profile, self.img_cache).ui(ui); @@ -754,7 +754,7 @@ pub fn hashtag_ui( .vertical_align(Align::Center) .desired_width(f32::INFINITY) .min_size(Vec2::new(0.0, 40.0)) - .margin(Margin::same(12.0)); + .margin(Margin::same(12)); ui.add(text_edit); ui.add_space(8.0); diff --git a/crates/notedeck_columns/src/ui/column/header.rs b/crates/notedeck_columns/src/ui/column/header.rs @@ -252,7 +252,7 @@ impl<'a> NavTitle<'a> { let x_range = ui.available_rect_before_wrap().x_range(); let is_dragging = egui::DragAndDrop::payload::<usize>(ui.ctx()).is_some(); // must be outside ui.dnd_drop_zone to capture properly let (_, _) = ui.dnd_drop_zone::<usize, ()>( - egui::Frame::none().inner_margin(Margin::same(8.0)), + egui::Frame::new().inner_margin(Margin::same(8)), |ui| { let distances: Vec<(egui::Response, f32)> = self.collect_column_distances(ui, id); @@ -291,10 +291,10 @@ impl<'a> NavTitle<'a> { ui: &mut egui::Ui, id: egui::Id, ) -> Vec<(egui::Response, f32)> { - let y_margin = 4.0; - let item_frame = egui::Frame::none() - .rounding(egui::Rounding::same(8.0)) - .inner_margin(Margin::symmetric(8.0, y_margin)); + let y_margin: i8 = 4; + let item_frame = egui::Frame::new() + .rounding(egui::Rounding::same(8)) + .inner_margin(Margin::symmetric(8, y_margin)); (0..self.columns.num_columns()) .filter_map(|col| { diff --git a/crates/notedeck_columns/src/ui/edit_deck.rs b/crates/notedeck_columns/src/ui/edit_deck.rs @@ -27,7 +27,7 @@ impl<'a> EditDeckView<'a> { pub fn ui(&mut self, ui: &mut egui::Ui) -> Option<EditDeckResponse> { let mut edit_deck_resp = None; - padding(egui::Margin::symmetric(16.0, 4.0), ui, |ui| { + padding(egui::Margin::symmetric(16, 4), ui, |ui| { if ui.add(delete_button()).clicked() { edit_deck_resp = Some(EditDeckResponse::Delete); } diff --git a/crates/notedeck_columns/src/ui/mod.rs b/crates/notedeck_columns/src/ui/mod.rs @@ -50,7 +50,7 @@ pub fn padding<R>( ui: &mut egui::Ui, add_contents: impl FnOnce(&mut egui::Ui) -> R, ) -> egui::InnerResponse<R> { - egui::Frame::none() + egui::Frame::new() .inner_margin(amount) .show(ui, add_contents) } diff --git a/crates/notedeck_columns/src/ui/note/contents.rs b/crates/notedeck_columns/src/ui/note/contents.rs @@ -94,11 +94,11 @@ pub fn render_note_preview( */ }; - egui::Frame::none() + egui::Frame::new() .fill(ui.visuals().noninteractive().weak_bg_fill) - .inner_margin(egui::Margin::same(8.0)) - .outer_margin(egui::Margin::symmetric(0.0, 8.0)) - .rounding(egui::Rounding::same(10.0)) + .inner_margin(egui::Margin::same(8)) + .outer_margin(egui::Margin::symmetric(0, 8)) + .rounding(egui::Rounding::same(10)) .stroke(egui::Stroke::new( 1.0, ui.visuals().noninteractive().bg_stroke.color, diff --git a/crates/notedeck_columns/src/ui/note/context.rs b/crates/notedeck_columns/src/ui/note/context.rs @@ -16,30 +16,22 @@ impl NoteContextSelection { pub fn process(&self, ui: &mut egui::Ui, note: &Note<'_>) { match self { NoteContextSelection::CopyText => { - ui.output_mut(|w| { - w.copied_text = note.content().to_string(); - }); + ui.ctx().copy_text(note.content().to_string()); } NoteContextSelection::CopyPubkey => { - ui.output_mut(|w| { - if let Some(bech) = Pubkey::new(*note.pubkey()).to_bech() { - w.copied_text = bech; - } - }); + if let Some(bech) = Pubkey::new(*note.pubkey()).to_bech() { + ui.ctx().copy_text(bech); + } } NoteContextSelection::CopyNoteId => { - ui.output_mut(|w| { - if let Some(bech) = NoteId::new(*note.id()).to_bech() { - w.copied_text = bech; - } - }); - } - NoteContextSelection::CopyNoteJSON => { - ui.output_mut(|w| match note.json() { - Ok(json) => w.copied_text = json, - Err(err) => error!("error copying note json: {err}"), - }); + if let Some(bech) = NoteId::new(*note.id()).to_bech() { + ui.ctx().copy_text(bech); + } } + NoteContextSelection::CopyNoteJSON => match note.json() { + Ok(json) => ui.ctx().copy_text(json), + Err(err) => error!("error copying note json: {err}"), + }, } } } diff --git a/crates/notedeck_columns/src/ui/note/mod.rs b/crates/notedeck_columns/src/ui/note/mod.rs @@ -189,8 +189,8 @@ impl<'a, 'd> NoteView<'a, 'd> { .response } - pub fn expand_size() -> f32 { - 5.0 + pub fn expand_size() -> i8 { + 5 } fn pfp( @@ -223,8 +223,8 @@ impl<'a, 'd> NoteView<'a, 'd> { let (rect, size, resp) = ui::anim::hover_expand( ui, egui::Id::new((profile_key, note_key)), - pfp_size, - ui::NoteView::expand_size(), + pfp_size as f32, + ui::NoteView::expand_size() as f32, anim_speed, ); @@ -246,6 +246,7 @@ impl<'a, 'd> NoteView<'a, 'd> { resp } + None => { // This has to match the expand size from the above case to // prevent bounciness @@ -255,7 +256,7 @@ impl<'a, 'd> NoteView<'a, 'd> { ui.put( rect, ui::ProfilePic::new(self.note_context.img_cache, ui::ProfilePic::no_pfp_url()) - .size(pfp_size), + .size(pfp_size as f32), ) .interact(sense) } @@ -354,7 +355,7 @@ impl<'a, 'd> NoteView<'a, 'd> { let size = ui.available_size(); ui.vertical(|ui| { - ui.add_sized([size.x, self.options().pfp_size()], |ui: &mut egui::Ui| { + ui.add_sized([size.x, self.options().pfp_size() as f32], |ui: &mut egui::Ui| { ui.horizontal_centered(|ui| { NoteView::note_header( ui, diff --git a/crates/notedeck_columns/src/ui/note/options.rs b/crates/notedeck_columns/src/ui/note/options.rs @@ -67,7 +67,7 @@ impl NoteOptions { options } - pub fn pfp_size(&self) -> f32 { + pub fn pfp_size(&self) -> i8 { if self.has_small_pfp() { ProfilePic::small_size() } else if self.has_medium_pfp() { diff --git a/crates/notedeck_columns/src/ui/note/post.rs b/crates/notedeck_columns/src/ui/note/post.rs @@ -283,12 +283,12 @@ impl<'a, 'd> PostView<'a, 'd> { self.id_source.unwrap_or_else(|| egui::Id::new("post")) } - pub fn outer_margin() -> f32 { - 16.0 + pub fn outer_margin() -> i8 { + 16 } - pub fn inner_margin() -> f32 { - 12.0 + pub fn inner_margin() -> i8 { + 12 } pub fn ui(&mut self, txn: &nostrdb::Transaction, ui: &mut egui::Ui) -> PostResponse { @@ -308,9 +308,9 @@ impl<'a, 'd> PostView<'a, 'd> { if focused { frame = frame.shadow(egui::epaint::Shadow { - offset: egui::vec2(0.0, 0.0), - blur: 8.0, - spread: 0.0, + offset: [0, 0], + blur: 8, + spread: 0, color: stroke.color, }); } @@ -327,8 +327,7 @@ impl<'a, 'd> PostView<'a, 'd> { context_selection = Frame::none() .show(ui, |ui| { ui.vertical(|ui| { - let set_width = avail_size.x * 0.8; - ui.set_max_width(set_width); + ui.set_max_width(avail_size.x * 0.8); let resp = render_note_preview( ui, self.note_context, @@ -346,8 +345,8 @@ impl<'a, 'd> PostView<'a, 'd> { }); } - Frame::none() - .inner_margin(Margin::symmetric(0.0, 8.0)) + Frame::new() + .inner_margin(Margin::symmetric(0, 8)) .show(ui, |ui| { ScrollArea::horizontal().show(ui, |ui| { ui.with_layout(Layout::left_to_right(egui::Align::Min), |ui| { diff --git a/crates/notedeck_columns/src/ui/note/reply.rs b/crates/notedeck_columns/src/ui/note/reply.rs @@ -54,13 +54,12 @@ impl<'a, 'd> PostReplyView<'a, 'd> { // This is the offset of the post view's pfp. We use this // to indent things so that the reply line is aligned - let pfp_offset = ui::PostView::outer_margin() + let pfp_offset: i8 = ui::PostView::outer_margin() + ui::PostView::inner_margin() - + ui::ProfilePic::small_size() / 2.0; + + ui::ProfilePic::small_size() / 2; - let note_offset = pfp_offset - - ui::ProfilePic::medium_size() / 2.0 - - ui::NoteView::expand_size() / 2.0; + let note_offset: i8 = + pfp_offset - ui::ProfilePic::medium_size() / 2 - ui::NoteView::expand_size() / 2; let selection = egui::Frame::none() .outer_margin(egui::Margin::same(note_offset)) @@ -103,14 +102,14 @@ impl<'a, 'd> PostReplyView<'a, 'd> { // Position the line right above the poster's profile pic in // the post box. Use the PostView's margin values to // determine this offset. - rect.min.x = avail_rect.min.x + pfp_offset; + rect.min.x = avail_rect.min.x + pfp_offset as f32; // honestly don't know what the fuck I'm doing here. just trying // to get the line under the profile picture rect.min.y = avail_rect.min.y - + (ui::ProfilePic::medium_size() / 2.0 - + ui::ProfilePic::medium_size() - + ui::NoteView::expand_size() * 2.0) + + (ui::ProfilePic::medium_size() as f32 / 2.0 + + ui::ProfilePic::medium_size() as f32 + + ui::NoteView::expand_size() as f32 * 2.0) + 1.0; // For some reason we need to nudge the reply line's height a @@ -125,7 +124,7 @@ impl<'a, 'd> PostReplyView<'a, 'd> { 3.0 }; - rect.max.y = rect_before_post.max.y + ui::PostView::outer_margin() + nudge; + rect.max.y = rect_before_post.max.y + ui::PostView::outer_margin() as f32 + nudge; ui.painter().vline( rect.left(), diff --git a/crates/notedeck_columns/src/ui/profile/edit.rs b/crates/notedeck_columns/src/ui/profile/edit.rs @@ -142,7 +142,7 @@ fn singleline_textedit(data: &mut String) -> impl egui::Widget + '_ { TextEdit::singleline(data) .min_size(vec2(0.0, 40.0)) .vertical_align(egui::Align::Center) - .margin(Margin::symmetric(12.0, 10.0)) + .margin(Margin::symmetric(12, 10)) .desired_width(f32::INFINITY) } @@ -150,13 +150,13 @@ fn multiline_textedit(data: &mut String) -> impl egui::Widget + '_ { TextEdit::multiline(data) // .min_size(vec2(0.0, 40.0)) .vertical_align(egui::Align::TOP) - .margin(Margin::symmetric(12.0, 10.0)) + .margin(Margin::symmetric(12, 10)) .desired_width(f32::INFINITY) .desired_rows(1) } fn in_frame(ui: &mut egui::Ui, contents: impl FnOnce(&mut egui::Ui)) { - egui::Frame::none().show(ui, |ui| { + egui::Frame::new().show(ui, |ui| { ui.spacing_mut().item_spacing = egui::vec2(0.0, 8.0); contents(ui); }); @@ -164,7 +164,7 @@ fn in_frame(ui: &mut egui::Ui, contents: impl FnOnce(&mut egui::Ui)) { fn button(text: &str, width: f32) -> egui::Button<'static> { Button::new(text) - .rounding(Rounding::same(8.0)) + .rounding(Rounding::same(8)) .min_size(vec2(width, 40.0)) } diff --git a/crates/notedeck_columns/src/ui/profile/mod.rs b/crates/notedeck_columns/src/ui/profile/mod.rs @@ -154,14 +154,13 @@ impl<'a, 'd> ProfileView<'a, 'd> { ); if ui.add(copy_key_widget(&pfp_rect)).clicked() { - ui.output_mut(|w| { - w.copied_text = if let Some(bech) = self.pubkey.to_bech() { - bech - } else { - error!("Could not convert Pubkey to bech"); - String::new() - } - }); + let to_copy = if let Some(bech) = self.pubkey.to_bech() { + bech + } else { + error!("Could not convert Pubkey to bech"); + String::new() + }; + ui.ctx().copy_text(to_copy) } if self.accounts.contains_full_kp(self.pubkey) { @@ -244,7 +243,7 @@ fn copy_key_widget(pfp_rect: &egui::Rect) -> impl egui::Widget + '_ { Sense::click(), ); - let copy_key_rounding = Rounding::same(100.0); + let copy_key_rounding = Rounding::same(100); let fill_color = if resp.hovered() { ui.visuals().widgets.inactive.weak_bg_fill } else { @@ -281,7 +280,7 @@ fn edit_profile_button() -> impl egui::Widget + 'static { painter.rect_filled( rect, - Rounding::same(8.0), + Rounding::same(8), if resp.hovered() { ui.visuals().widgets.active.bg_fill } else { @@ -290,7 +289,7 @@ fn edit_profile_button() -> impl egui::Widget + 'static { ); painter.rect_stroke( rect.shrink(1.0), - Rounding::same(8.0), + Rounding::same(8), if resp.hovered() { ui.visuals().widgets.active.bg_stroke } else { diff --git a/crates/notedeck_columns/src/ui/profile/picture.rs b/crates/notedeck_columns/src/ui/profile/picture.rs @@ -23,7 +23,7 @@ impl egui::Widget for ProfilePic<'_, '_> { impl<'cache, 'url> ProfilePic<'cache, 'url> { pub fn new(cache: &'cache mut Images, url: &'url str) -> Self { - let size = Self::default_size(); + let size = Self::default_size() as f32; ProfilePic { cache, url, @@ -48,18 +48,18 @@ impl<'cache, 'url> ProfilePic<'cache, 'url> { } #[inline] - pub fn default_size() -> f32 { - 38.0 + pub fn default_size() -> i8 { + 38 } #[inline] - pub fn medium_size() -> f32 { - 32.0 + pub fn medium_size() -> i8 { + 32 } #[inline] - pub fn small_size() -> f32 { - 24.0 + pub fn small_size() -> i8 { + 24 } #[inline] @@ -194,7 +194,7 @@ mod preview { let (rect, size, _resp) = ui::anim::hover_expand( ui, egui::Id::new(profile.key().unwrap()), - ui::ProfilePic::default_size(), + ui::ProfilePic::default_size() as f32, expand_size, anim_speed, ); diff --git a/crates/notedeck_columns/src/ui/profile/preview.rs b/crates/notedeck_columns/src/ui/profile/preview.rs @@ -89,7 +89,7 @@ impl<'a, 'cache> SimpleProfilePreview<'a, 'cache> { impl egui::Widget for SimpleProfilePreview<'_, '_> { fn ui(self, ui: &mut egui::Ui) -> egui::Response { - Frame::none() + Frame::new() .show(ui, |ui| { ui.add(ProfilePic::new(self.cache, get_profile_url(self.profile)).size(48.0)); ui.vertical(|ui| { diff --git a/crates/notedeck_columns/src/ui/relay.rs b/crates/notedeck_columns/src/ui/relay.rs @@ -76,10 +76,10 @@ impl<'a> RelayView<'a> { relay_frame(ui).show(ui, |ui| { ui.horizontal(|ui| { ui.with_layout(Layout::left_to_right(Align::Center), |ui| { - Frame::none() + Frame::new() // This frame is needed to add margin because the label will be added to the outer frame first and centered vertically before the connection status is added so the vertical centering isn't accurate. // TODO: remove this hack and actually center the url & status at the same time - .inner_margin(Margin::symmetric(0.0, 4.0)) + .inner_margin(Margin::symmetric(0, 4)) .show(ui, |ui| { egui::ScrollArea::horizontal() .id_salt(index) @@ -159,7 +159,7 @@ impl<'a> RelayView<'a> { .vertical_align(Align::Center) .desired_width(f32::INFINITY) .min_size(Vec2::new(0.0, 40.0)) - .margin(Margin::same(12.0)); + .margin(Margin::same(12)); ui.add(text_edit); ui.add_space(8.0); if ui @@ -218,8 +218,8 @@ fn delete_button(_dark_mode: bool) -> egui::Button<'static> { } fn relay_frame(ui: &mut Ui) -> Frame { - Frame::none() - .inner_margin(Margin::same(8.0)) + Frame::new() + .inner_margin(Margin::same(8)) .rounding(ui.style().noninteractive().rounding) .stroke(ui.style().visuals.noninteractive().bg_stroke) } @@ -238,10 +238,10 @@ fn show_connection_status(ui: &mut Ui, status: RelayStatus) { RelayStatus::Disconnected => "Not Connected", }; - let frame = Frame::none() - .rounding(Rounding::same(100.0)) + let frame = Frame::new() + .rounding(Rounding::same(100)) .fill(bg_color) - .inner_margin(Margin::symmetric(12.0, 4.0)); + .inner_margin(Margin::symmetric(12, 4)); frame.show(ui, |ui| { ui.label(RichText::new(label_text).color(fg_color)); diff --git a/crates/notedeck_columns/src/ui/side_panel.rs b/crates/notedeck_columns/src/ui/side_panel.rs @@ -83,7 +83,7 @@ impl<'a> DesktopSidePanel<'a> { } pub fn show(&mut self, ui: &mut egui::Ui) -> SidePanelResponse { - let mut frame = egui::Frame::none().inner_margin(Margin::same(8.0)); + let mut frame = egui::Frame::new().inner_margin(Margin::same(8)); if !ui.visuals().dark_mode { frame = frame.fill(colors::ALMOST_WHITE); diff --git a/crates/notedeck_columns/src/ui/support.rs b/crates/notedeck_columns/src/ui/support.rs @@ -60,9 +60,7 @@ impl<'a> SupportView<'a> { ui.add(Label::new("Press the button below to copy your most recent logs to your system's clipboard. Then paste it into your email.").wrap()); ui.allocate_ui_with_layout(size, Layout::top_down(egui::Align::Center), |ui| { if ui.add(copy_button).clicked() { - ui.output_mut(|w| { - w.copied_text = logs.to_string(); - }); + ui.ctx().copy_text(logs.to_string()); } }); });