diff --git a/Cargo.lock b/Cargo.lock index 9cfe2b11..5bae4d66 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.23" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +checksum = "1c3a1cbc201cc13ed06cf875efb781f2249b3677f5c74571b67d817877f9d697" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -18,21 +18,11 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" -[[package]] -name = "accesskit" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb10ed32c63247e4e39a8f42e8e30fb9442fbf7878c8e4a9849e7e381619bea" -dependencies = [ - "enumn", - "serde", -] - [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -45,43 +35,41 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", "once_cell", - "serde", "version_check", "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alsa" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2562ad8dcf0f789f65c6fdaad8a8a9708ed6b488e649da28c01656ad66b8b47" +checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" dependencies = [ "alsa-sys", - "bitflags 1.3.2", + "bitflags 2.6.0", "libc", - "nix 0.24.3", ] [[package]] @@ -96,22 +84,22 @@ dependencies = [ [[package]] name = "android-activity" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39b801912a977c3fd52d80511fe1c0c8480c6f957f21ae2ce1b92ffe970cf4b9" +checksum = "ee91c0c2905bae44f84bfa4e044536541df26b7703fd0888deeb9060fcc44289" dependencies = [ "android-properties", - "bitflags 2.4.2", + "bitflags 2.6.0", "cc", "cesu8", - "jni 0.21.1", + "jni", "jni-sys", "libc", "log", - "ndk 0.8.0", + "ndk", "ndk-context", - "ndk-sys 0.5.0+25.2.9519653", - "num_enum 0.7.2", + "ndk-sys", + "num_enum", "thiserror", ] @@ -147,9 +135,9 @@ checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" @@ -207,22 +195,22 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -256,22 +244,22 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.2" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "cexpr", "clang-sys", + "itertools", "lazy_static", "lazycell", - "peeking_take_while", "proc-macro2", "quote", "regex", - "rustc-hash", + "rustc-hash 1.1.0", "shlex", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -297,9 +285,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "block" @@ -328,9 +316,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", "serde", @@ -338,28 +326,28 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.14.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -370,9 +358,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "calloop" @@ -380,7 +368,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "log", "polling", "rustix", @@ -402,12 +390,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "2755ff20a1d93490d26ba33a6f092a38a508398a5320df5d4b3014fcccce9410" dependencies = [ "jobserver", "libc", + "once_cell", ] [[package]] @@ -439,13 +428,13 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.8.1", + "libloading 0.8.4", ] [[package]] @@ -473,12 +462,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "colored" version = "2.1.0" @@ -522,9 +505,9 @@ dependencies = [ [[package]] name = "combine" -version = "4.6.6" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", @@ -542,16 +525,16 @@ dependencies = [ "log", "log-panics", "miniz_oxide", - "rustc-hash", + "rustc-hash 1.1.0", "serde", "serde_json", ] [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -580,9 +563,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -624,34 +607,32 @@ dependencies = [ [[package]] name = "cpal" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" dependencies = [ "alsa", "core-foundation-sys", "coreaudio-rs", "dasp_sample", - "jni 0.19.0", + "jni", "js-sys", "libc", "mach2", - "ndk 0.7.0", + "ndk", "ndk-context", "oboe", - "once_cell", - "parking_lot", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows 0.46.0", + "windows 0.54.0", ] [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -677,9 +658,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "cursor-icon" @@ -689,12 +670,12 @@ checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" [[package]] name = "d3d12" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" +checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ - "bitflags 2.4.2", - "libloading 0.8.1", + "bitflags 2.6.0", + "libloading 0.8.4", "winapi", ] @@ -748,7 +729,7 @@ dependencies = [ "proc-macro2", "quote", "semver", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -762,15 +743,15 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] @@ -785,14 +766,23 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.1", + "libloading 0.8.4", +] + +[[package]] +name = "document-features" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" +dependencies = [ + "litrs", ] [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "easybench" @@ -802,24 +792,23 @@ checksum = "0fe5e0c7c863ab37184b6310b4ff6b857c71814ff38e93c5b99fbda1467a5a32" [[package]] name = "ecolor" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ "bytemuck", - "serde", + "emath", ] [[package]] name = "egui" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ - "accesskit", "ahash", + "emath", "epaint", "log", "nohash-hasher", - "serde", ] [[package]] @@ -843,63 +832,67 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ + "ahash", "bytemuck", + "document-features", "egui", "epaint", "log", "thiserror", "type-map", + "web-time", "wgpu", ] [[package]] name = "egui-winit" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ + "ahash", "egui", "log", - "raw-window-handle 0.6.0", + "raw-window-handle", "web-time", "winit", ] [[package]] name = "egui_extras" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ + "ahash", "egui", "enum-map", "log", "mime_guess2", - "serde", ] [[package]] name = "egui_plot" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ + "ahash", "egui", ] [[package]] name = "either" -version = "1.9.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ "bytemuck", - "serde", ] [[package]] @@ -928,7 +921,7 @@ dependencies = [ "rayon", "serde", "slotmapd", - "smol_str 0.2.1", + "smol_str", "wgpu", "winit", "yakui", @@ -966,18 +959,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", -] - -[[package]] -name = "enumn" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -992,8 +974,8 @@ dependencies = [ [[package]] name = "epaint" -version = "0.25.0" -source = "git+https://github.com/emilk/egui#d319489479c371b15e6419d470551dae5d647396" +version = "0.27.2" +source = "git+https://github.com/emilk/egui#d4e8966aac9347965f8d02310ecf2c9f23bb9bbc" dependencies = [ "ab_glyph", "ahash", @@ -1003,7 +985,6 @@ dependencies = [ "log", "nohash-hasher", "parking_lot", - "serde", ] [[package]] @@ -1014,9 +995,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1043,12 +1024,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flat_spatial" version = "0.6.0" @@ -1062,9 +1037,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -1087,12 +1062,12 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fontdue" -version = "0.7.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc" +checksum = "9099a2f86b8e674b75d03ff154b3fe4c5208ed249ced8d69cc313a9fa40bb488" dependencies = [ - "hashbrown 0.13.2", - "ttf-parser 0.15.2", + "hashbrown", + "ttf-parser 0.20.0", ] [[package]] @@ -1113,7 +1088,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -1124,15 +1099,16 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "generator" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +checksum = "186014d53bc231d0090ef8d6f03e0920c54d85a5ed22f4f2f74315ec56cf83fb" dependencies = [ "cc", + "cfg-if", "libc", "log", "rustversion", - "windows 0.48.0", + "windows 0.54.0", ] [[package]] @@ -1158,9 +1134,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -1169,9 +1145,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gl_generator" @@ -1186,9 +1162,9 @@ dependencies = [ [[package]] name = "glam" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" dependencies = [ "bytemuck", ] @@ -1213,9 +1189,9 @@ dependencies = [ [[package]] name = "gltf" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b78f069cf941075835822953c345b9e1edd67ae347b81ace3aea9de38c2ef33" +checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" dependencies = [ "base64", "byteorder", @@ -1228,21 +1204,21 @@ dependencies = [ [[package]] name = "gltf-derive" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "438ffe1a5540d75403feaf23636b164e816e93f6f03131674722b3886ce32a57" +checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" dependencies = [ "inflections", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] name = "gltf-json" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655951ba557f2bc69ea4b0799446bae281fa78efae6319968bdd2c3e9a06d8e1" +checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" dependencies = [ "gltf-derive", "serde", @@ -1278,7 +1254,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "gpu-alloc-types", ] @@ -1288,7 +1264,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", ] [[package]] @@ -1306,38 +1282,29 @@ dependencies = [ [[package]] name = "gpu-descriptor" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "gpu-descriptor-types", - "hashbrown 0.14.3", + "hashbrown", ] [[package]] name = "gpu-descriptor-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" -dependencies = [ - "bitflags 2.4.2", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "ahash", + "bitflags 2.6.0", ] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -1349,10 +1316,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "com", "libc", - "libloading 0.8.1", + "libloading 0.8.4", "thiserror", "widestring", "winapi", @@ -1387,6 +1354,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hexf-parse" version = "0.2.1" @@ -1412,32 +1385,32 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "image" -version = "0.24.8" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23" +checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" dependencies = [ "bytemuck", "byteorder", - "color_quant", - "jpeg-decoder", "num-traits", "png", + "zune-core", + "zune-jpeg", ] [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -1445,12 +1418,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown", ] [[package]] @@ -1468,8 +1441,8 @@ dependencies = [ "inline_tweak_derive", "lazy_static", "proc-macro2", - "rustc-hash", - "syn 2.0.48", + "rustc-hash 1.1.0", + "syn 2.0.68", ] [[package]] @@ -1480,7 +1453,7 @@ checksum = "46d62a0a3b6af04d4eee8e7251cd758ce74b0ed86253d3e4ac8a1b297a75f4a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -1494,46 +1467,18 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "jni" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] - -[[package]] -name = "jni" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" -dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", -] +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jni" @@ -1559,24 +1504,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] -[[package]] -name = "jpeg-decoder" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" - [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1587,7 +1526,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", ] [[package]] @@ -1597,7 +1536,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.1", + "libloading 0.8.4", "pkg-config", ] @@ -1609,9 +1548,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -1632,9 +1571,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.152" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" @@ -1648,12 +1587,12 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.5", ] [[package]] @@ -1662,22 +1601,28 @@ version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "libc", "redox_syscall 0.4.1", ] [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1685,9 +1630,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "log-panics" @@ -1701,9 +1646,9 @@ dependencies = [ [[package]] name = "loom" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e045d70ddfbc984eacfa964ded019534e8f6cbf36f6410aee0ed5cefa5a9175" +checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" dependencies = [ "cfg-if", "generator", @@ -1714,9 +1659,9 @@ dependencies = [ [[package]] name = "luau0-src" -version = "0.7.11+luau606" +version = "0.10.1+luau630" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ffc4945ee953a33cb2b331e00b19e11275fc105c8ac8a977c810597d790f08" +checksum = "16051c9b79d9118360b211fd638e8ae6923c5e83ed2ce5029e89562a071298cb" dependencies = [ "cc", ] @@ -1750,35 +1695,26 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "meshopt2" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd54b87eddb8f60bbbb9502fc77fc207072b69e1d739c85c9e97703626deda7" +checksum = "79b4033e90e46283ef79a7a5329c7d1adb4e087df6784abf3e0d419c35624706" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "cc", "float-cmp", "thiserror", @@ -1786,11 +1722,11 @@ dependencies = [ [[package]] name = "metal" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types", @@ -1823,9 +1759,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -1839,23 +1775,23 @@ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" [[package]] name = "mlua" -version = "0.9.4" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069264935e816c85884b99e88c8b408d6d92e40ae8760f726c983526a53546b5" +checksum = "d111deb18a9c9bd33e1541309f4742523bfab01d276bfa9a27519f6de9c11dc7" dependencies = [ "bstr", - "libloading 0.8.1", + "libloading 0.8.4", "mlua-sys", "num-traits", "once_cell", - "rustc-hash", + "rustc-hash 2.0.0", ] [[package]] name = "mlua-sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4655631a02e3739d014951291ecfa08db49c4da3f7f8c6f3931ed236af5dd78e" +checksum = "a088ed0723df7567f569ba018c5d48c23c501f3878b190b04144dfa5ebfa8abc" dependencies = [ "cc", "cfg-if", @@ -1865,18 +1801,19 @@ dependencies = [ [[package]] name = "naga" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8878eb410fc90853da3908aebfe61d73d26d4437ef850b70050461f939509899" +checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ + "arrayvec", "bit-set", - "bitflags 2.4.2", + "bitflags 2.6.0", "codespan-reporting", "hexf-parse", "indexmap", "log", "num-traits", - "rustc-hash", + "rustc-hash 1.1.0", "spirv", "termcolor", "thiserror", @@ -1885,18 +1822,18 @@ dependencies = [ [[package]] name = "nanoserde" -version = "0.1.35" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a983d0b19ed0fcd803c4f04f9b20d5e6dd17e06d44d98742a0985ac45dab1bc" +checksum = "5de9cf844ab1e25a0353525bd74cb889843a6215fa4a0d156fd446f4857a1b99" dependencies = [ "nanoserde-derive", ] [[package]] name = "nanoserde-derive" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4dc96541767a4279572fdcf9f95af9cc1c9b2a2254e7a079203c81e206a9059" +checksum = "e943b2c21337b7e3ec6678500687cdc741b7639ad457f234693352075c082204" [[package]] name = "native_app" @@ -1927,32 +1864,18 @@ dependencies = [ "yakui", ] -[[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.4.2", + "bitflags 2.6.0", "jni-sys", "log", - "ndk-sys 0.5.0+25.2.9519653", - "num_enum 0.7.2", - "raw-window-handle 0.6.0", + "ndk-sys", + "num_enum", + "raw-window-handle", "thiserror", ] @@ -1962,15 +1885,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" -[[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" -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" @@ -1990,29 +1904,6 @@ dependencies = [ "simple_logger", ] -[[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", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", -] - [[package]] name = "nohash-hasher" version = "0.2.0" @@ -2039,54 +1930,39 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" -version = "0.3.3" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] -[[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.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ - "num_enum_derive 0.7.2", -] - -[[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", - "proc-macro2", - "quote", - "syn 1.0.109", + "num_enum_derive", ] [[package]] @@ -2098,14 +1974,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] name = "num_threads" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ "libc", ] @@ -2117,14 +1993,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] name = "objc-sys" -version = "0.3.2" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c71324e4180d0899963fc83d9d241ac39e699609fc1025a850aadac8257459" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" [[package]] name = "objc2" @@ -2142,32 +2017,23 @@ version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d079845b37af429bfe5dfa76e6d087d788031045b25cfc6fd898486fd9847666" -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - [[package]] name = "object" -version = "0.32.2" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] [[package]] name = "oboe" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8868cc237ee02e2d9618539a23a8d228b9bb3fc2e7a5b11eed3831de77c395d0" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" dependencies = [ - "jni 0.20.0", - "ndk 0.7.0", + "jni", + "ndk", "ndk-context", "num-derive", "num-traits", @@ -2176,9 +2042,9 @@ dependencies = [ [[package]] name = "oboe-sys" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f44155e7fb718d3cfddcf70690b2b51ac4412f347cd9e4fbe511abe9cd7b5f2" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" dependencies = [ "cc", ] @@ -2218,9 +2084,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "4.2.0" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" +checksum = "19ff2cf528c6c03d9ed653d6c4ce1dc0582dc4af309790ad92f07c1cd551b0be" dependencies = [ "num-traits", ] @@ -2233,18 +2099,18 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owned_ttf_parser" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" +checksum = "6b41438d2fc63c46c74a2203bf5ccd82c41ba04347b2fcf5754f230b167067d5" dependencies = [ - "ttf-parser 0.20.0", + "ttf-parser 0.21.1", ] [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -2252,44 +2118,37 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pathfinding" -version = "4.8.2" +version = "4.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35df0d074a99be583b76dc771329be9f7be45ebae444d601285dc7a094c2ac0a" +checksum = "39103a901800b5711b9076f2474da1e7412f804c11a0f3b4e8dd3b1e59c58b12" dependencies = [ "deprecate-until", - "fixedbitset", "indexmap", "integer-sqrt", "num-traits", - "rustc-hash", + "rustc-hash 2.0.0", "thiserror", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "percent-encoding" version = "2.3.1" @@ -2326,7 +2185,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -2340,21 +2199,21 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pkg-config" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "png" -version = "0.17.11" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f6c3c3e617595665b8ea2ff95a86066be38fb121ff920a9c0eb282abcd1da5a" +checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -2365,12 +2224,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.3.2" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545c980a3880efd47b2e262f6a4bb6daad6555cf3367aa9c4e52895f69537a41" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi 0.4.0", "pin-project-lite", "rustix", "tracing", @@ -2391,11 +2251,10 @@ checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", "toml_edit", ] @@ -2425,18 +2284,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e" +checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" dependencies = [ "profiling-procmacros", "tracy-client", @@ -2444,12 +2303,12 @@ dependencies = [ [[package]] name = "profiling-procmacros" -version = "1.0.13" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b322d7d65c1ab449be3c890fcbd0db6e1092d0dd05d79dba2dd28032cebeb05" +checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] @@ -2468,9 +2327,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" dependencies = [ "memchr", ] @@ -2488,9 +2347,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2521,21 +2380,15 @@ checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" [[package]] name = "raw-window-handle" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "raw-window-handle" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "rayon" -version = "1.8.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ "either", "rayon-core", @@ -2569,16 +2422,25 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "regex" -version = "1.10.3" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.4", - "regex-syntax 0.8.2", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -2592,13 +2454,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.4", ] [[package]] @@ -2609,21 +2471,21 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "renderdoc-sys" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -2631,6 +2493,12 @@ 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.0" @@ -2642,11 +2510,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -2655,15 +2523,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -2701,15 +2569,15 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -2725,20 +2593,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" dependencies = [ "itoa", "ryu", @@ -2783,7 +2651,7 @@ name = "simulation" version = "0.1.0" dependencies = [ "arc-swap", - "bitflags 2.4.2", + "bitflags 2.6.0", "common", "derive_more", "easybench", @@ -2840,17 +2708,17 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smithay-client-toolkit" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e3d9941fa3bacf7c2bf4b065304faa14164151254cd16ce1b1bc8fc381600f" +checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -2871,18 +2739,9 @@ dependencies = [ [[package]] name = "smol_str" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad6c857cbab2627dcf01ec85a623ca4e7dcb5691cbaa3d7fb7653671f0d09c9" -dependencies = [ - "serde", -] - -[[package]] -name = "smol_str" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" dependencies = [ "serde", ] @@ -2893,7 +2752,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.4.2", + "bitflags 2.6.0", ] [[package]] @@ -2957,9 +2816,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", @@ -2986,29 +2845,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -3022,13 +2881,14 @@ checksum = "92e170f93360bf9ae6fe3c31116bbf27adb1d054cedd6bc3d7857e34f2d98d0b" [[package]] name = "time" -version = "0.3.31" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", "libc", + "num-conv", "num_threads", "powerfmt", "serde", @@ -3044,18 +2904,19 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] [[package]] name = "tiny-skia" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a067b809476893fce6a254cf285850ff69c847e6cfbade6a20b655b6c7e80d" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ "arrayref", "arrayvec", @@ -3067,9 +2928,9 @@ dependencies = [ [[package]] name = "tiny-skia-path" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de35e8a90052baaaf61f171680ac2f8e925a1e43ea9d2e3a00514772250e541" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ "arrayref", "bytemuck", @@ -3078,9 +2939,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82" dependencies = [ "tinyvec_macros", ] @@ -3093,15 +2954,15 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap", "toml_datetime", @@ -3115,21 +2976,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.48", -] - [[package]] name = "tracing-core" version = "0.1.32" @@ -3171,9 +3020,9 @@ dependencies = [ [[package]] name = "tracy-client" -version = "0.16.5" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307e6b7030112fe9640fdd87988a40795549ba75c355f59485d14e6b444d2987" +checksum = "59fb931a64ff88984f86d3e9bcd1ae8843aa7fe44dd0f8097527bc172351741d" dependencies = [ "loom", "once_cell", @@ -3182,24 +3031,24 @@ dependencies = [ [[package]] name = "tracy-client-sys" -version = "0.22.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "078c7ed72141b0e4369671a7f7af0eecffe18d753bf0296adca9c7add7276c9d" +checksum = "9d104d610dfa9dd154535102cc9c6164ae1fa37842bc2d9e83f9ac82b0ae0882" dependencies = [ "cc", ] [[package]] name = "ttf-parser" -version = "0.15.2" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] name = "ttf-parser" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" [[package]] name = "type-map" @@ -3207,7 +3056,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "deb68604048ff8fa93347f02441e4487594adc20bb8a084f9e564d2b827a0a9f" dependencies = [ - "rustc-hash", + "rustc-hash 1.1.0", ] [[package]] @@ -3227,15 +3076,15 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -3269,9 +3118,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -3285,9 +3134,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3295,24 +3144,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -3322,9 +3171,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3332,32 +3181,32 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4" +checksum = "34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07" dependencies = [ "cc", "downcast-rs", - "nix 0.26.4", + "rustix", "scoped-tls", "smallvec", "wayland-sys", @@ -3365,12 +3214,12 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.1" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3" +checksum = "1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133" dependencies = [ - "bitflags 2.4.2", - "nix 0.26.4", + "bitflags 2.6.0", + "rustix", "wayland-backend", "wayland-scanner", ] @@ -3381,29 +3230,29 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.0" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44aa20ae986659d6c77d64d808a046996a932aa763913864dc40c359ef7ad5b" +checksum = "a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9" dependencies = [ - "nix 0.26.4", + "rustix", "wayland-client", "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.31.0" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c" +checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -3415,7 +3264,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3428,7 +3277,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -3437,9 +3286,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.0" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c" +checksum = "67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565" dependencies = [ "proc-macro2", "quick-xml", @@ -3448,9 +3297,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12" dependencies = [ "dlib", "log", @@ -3460,9 +3309,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -3480,19 +3329,20 @@ dependencies = [ [[package]] name = "wgpu" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe9a310dcf2e6b85f00c46059aaeaf4184caa8e29a1ecd4b7a704c3482332d" +checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" dependencies = [ "arrayvec", "cfg-if", "cfg_aliases", + "document-features", "js-sys", "log", "naga", "parking_lot", "profiling", - "raw-window-handle 0.6.0", + "raw-window-handle", "smallvec", "static_assertions", "wasm-bindgen", @@ -3505,23 +3355,24 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.19.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b15e451d4060ada0d99a64df44e4d590213496da7c4f245572d51071e8e30ed" +checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.4.2", + "bitflags 2.6.0", "cfg_aliases", "codespan-reporting", + "document-features", "indexmap", "log", "naga", "once_cell", "parking_lot", "profiling", - "raw-window-handle 0.6.0", - "rustc-hash", + "raw-window-handle", + "rustc-hash 1.1.0", "smallvec", "thiserror", "web-sys", @@ -3531,15 +3382,15 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.19.1" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bb47856236bfafc0bc591a925eb036ac19cd987624a447ff353e7a7e7e6f72" +checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", - "bitflags 2.4.2", + "bitflags 2.6.0", "block", "cfg_aliases", "core-graphics-types", @@ -3553,18 +3404,19 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.1", + "libloading 0.8.4", "log", "metal", "naga", + "ndk-sys", "objc", "once_cell", "parking_lot", "profiling", "range-alloc", - "raw-window-handle 0.6.0", + "raw-window-handle", "renderdoc-sys", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", "wasm-bindgen", @@ -3575,20 +3427,20 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.19.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895fcbeb772bfb049eb80b2d6e47f6c9af235284e9703c96fc0218a42ffd5af2" +checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "js-sys", "web-sys", ] [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -3608,11 +3460,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -3623,39 +3475,50 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.46.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25" +checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-targets 0.42.2", + "windows-core 0.52.0", + "windows-targets 0.52.5", ] [[package]] name = "windows" -version = "0.48.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" dependencies = [ - "windows-targets 0.48.5", + "windows-core 0.54.0", + "windows-targets 0.52.5", ] [[package]] -name = "windows" +name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-core", - "windows-targets 0.52.0", + "windows-targets 0.52.5", ] [[package]] name = "windows-core" -version = "0.52.0" +version = "0.54.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" dependencies = [ - "windows-targets 0.52.0", + "windows-result", + "windows-targets 0.52.5", +] + +[[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.5", ] [[package]] @@ -3682,7 +3545,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.5", ] [[package]] @@ -3717,17 +3580,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -3744,9 +3608,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -3762,9 +3626,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -3780,9 +3644,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -3798,9 +3668,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -3816,9 +3686,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -3834,9 +3704,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -3852,20 +3722,20 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winit" -version = "0.29.10" +version = "0.29.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c824f11941eeae66ec71111cc2674373c772f482b58939bb4066b642aa2ffcf" +checksum = "0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca" dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.4.2", + "bitflags 2.6.0", "bytemuck", "calloop", "cfg_aliases", @@ -3877,18 +3747,18 @@ dependencies = [ "libc", "log", "memmap2", - "ndk 0.8.0", - "ndk-sys 0.5.0+25.2.9519653", + "ndk", + "ndk-sys", "objc2", "once_cell", "orbclient", "percent-encoding", - "raw-window-handle 0.6.0", + "raw-window-handle", "redox_syscall 0.3.5", "rustix", "sctk-adwaita", "smithay-client-toolkit", - "smol_str 0.2.1", + "smol_str", "unicode-segmentation", "wasm-bindgen", "wasm-bindgen-futures", @@ -3906,9 +3776,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.5.34" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" dependencies = [ "memchr", ] @@ -3926,14 +3796,14 @@ dependencies = [ [[package]] name = "x11rb" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" dependencies = [ "as-raw-xcb-connection", "gethostname", "libc", - "libloading 0.8.1", + "libloading 0.8.4", "once_cell", "rustix", "x11rb-protocol", @@ -3941,9 +3811,9 @@ dependencies = [ [[package]] name = "x11rb-protocol" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" +checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" [[package]] name = "xcursor" @@ -3953,11 +3823,11 @@ checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" [[package]] name = "xkbcommon-dl" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924668544c48c0133152e7eec86d644a056ca3d09275eb8d5cdb9855f9d8699" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.6.0", "dlib", "log", "once_cell", @@ -3966,20 +3836,20 @@ dependencies = [ [[package]] name = "xkeysym" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "yakui" version = "0.2.0" -source = "git+https://github.com/Uriopass/yakui?branch=dev#f853b66ae3c7eef09c33c82fd89edb553a45f5d7" +source = "git+https://github.com/Uriopass/yakui?branch=dev#6c6982ff196850dc67de80ee7983ececd15966a8" dependencies = [ "yakui-core", "yakui-widgets", @@ -3988,10 +3858,10 @@ dependencies = [ [[package]] name = "yakui-core" version = "0.2.0" -source = "git+https://github.com/Uriopass/yakui?branch=dev#f853b66ae3c7eef09c33c82fd89edb553a45f5d7" +source = "git+https://github.com/Uriopass/yakui?branch=dev#6c6982ff196850dc67de80ee7983ececd15966a8" dependencies = [ "anymap", - "bitflags 2.4.2", + "bitflags 2.6.0", "fast-srgb8", "glam", "keyboard-types", @@ -4004,7 +3874,7 @@ dependencies = [ [[package]] name = "yakui-wgpu" version = "0.2.0" -source = "git+https://github.com/Uriopass/yakui?branch=dev#f853b66ae3c7eef09c33c82fd89edb553a45f5d7" +source = "git+https://github.com/Uriopass/yakui?branch=dev#6c6982ff196850dc67de80ee7983ececd15966a8" dependencies = [ "bytemuck", "glam", @@ -4017,10 +3887,10 @@ dependencies = [ [[package]] name = "yakui-widgets" version = "0.2.0" -source = "git+https://github.com/Uriopass/yakui?branch=dev#f853b66ae3c7eef09c33c82fd89edb553a45f5d7" +source = "git+https://github.com/Uriopass/yakui?branch=dev#6c6982ff196850dc67de80ee7983ececd15966a8" dependencies = [ "fontdue", - "smol_str 0.1.24", + "smol_str", "thunderdome", "yakui-core", ] @@ -4028,7 +3898,7 @@ dependencies = [ [[package]] name = "yakui-winit" version = "0.2.0" -source = "git+https://github.com/Uriopass/yakui?branch=dev#f853b66ae3c7eef09c33c82fd89edb553a45f5d7" +source = "git+https://github.com/Uriopass/yakui?branch=dev#6c6982ff196850dc67de80ee7983ececd15966a8" dependencies = [ "winit", "yakui-core", @@ -4036,20 +3906,35 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.68", +] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-jpeg" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448" +dependencies = [ + "zune-core", ] diff --git a/egui-inspect/src/impls/f32.rs b/egui-inspect/src/impls/f32.rs index 7d74f0e8..21906c33 100644 --- a/egui-inspect/src/impls/f32.rs +++ b/egui-inspect/src/impls/f32.rs @@ -21,9 +21,7 @@ impl Inspect for f32 { ui.label(label); ui.add( egui::DragValue::new(data) - .clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - ) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)) .speed(args.step.unwrap_or(0.1)), ); }); diff --git a/egui-inspect/src/impls/f64.rs b/egui-inspect/src/impls/f64.rs index 6f6f21b3..d2ecf174 100644 --- a/egui-inspect/src/impls/f64.rs +++ b/egui-inspect/src/impls/f64.rs @@ -21,9 +21,7 @@ impl Inspect for f64 { ui.label(label); ui.add( egui::DragValue::new(data) - .clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - ) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)) .speed(args.step.unwrap_or(1.0)), ); }); @@ -54,9 +52,7 @@ impl Inspect for InspectF64Deg { ui.label(label); ui.add( egui::DragValue::new(data) - .clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - ) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)) .speed(args.step.unwrap_or(0.25)) .suffix("°"), ); diff --git a/egui-inspect/src/impls/i32.rs b/egui-inspect/src/impls/i32.rs index 55ec8bc0..b1eff625 100644 --- a/egui-inspect/src/impls/i32.rs +++ b/egui-inspect/src/impls/i32.rs @@ -19,9 +19,10 @@ impl Inspect for i32 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/i64.rs b/egui-inspect/src/impls/i64.rs index 0ed56688..f0f26043 100644 --- a/egui-inspect/src/impls/i64.rs +++ b/egui-inspect/src/impls/i64.rs @@ -19,9 +19,10 @@ impl Inspect for i64 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/u16.rs b/egui-inspect/src/impls/u16.rs index cf7e7123..31552c77 100644 --- a/egui-inspect/src/impls/u16.rs +++ b/egui-inspect/src/impls/u16.rs @@ -19,9 +19,10 @@ impl Inspect for u16 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/u32.rs b/egui-inspect/src/impls/u32.rs index bf760e1c..6ccdf4ef 100644 --- a/egui-inspect/src/impls/u32.rs +++ b/egui-inspect/src/impls/u32.rs @@ -19,9 +19,10 @@ impl Inspect for u32 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/u64.rs b/egui-inspect/src/impls/u64.rs index 2010156a..ba167f97 100644 --- a/egui-inspect/src/impls/u64.rs +++ b/egui-inspect/src/impls/u64.rs @@ -19,9 +19,10 @@ impl Inspect for u64 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/u8.rs b/egui-inspect/src/impls/u8.rs index 4c026329..bfde57a7 100644 --- a/egui-inspect/src/impls/u8.rs +++ b/egui-inspect/src/impls/u8.rs @@ -19,9 +19,10 @@ impl Inspect for u8 { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/egui-inspect/src/impls/usize.rs b/egui-inspect/src/impls/usize.rs index 9c1f5d39..364bec60 100644 --- a/egui-inspect/src/impls/usize.rs +++ b/egui-inspect/src/impls/usize.rs @@ -19,9 +19,10 @@ impl Inspect for usize { let before = *data; ui.horizontal(|ui| { ui.label(label); - ui.add(egui::DragValue::new(data).clamp_range( - args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX), - )); + ui.add( + egui::DragValue::new(data) + .range(args.min_value.unwrap_or(f32::MIN)..=args.max_value.unwrap_or(f32::MAX)), + ); }); before != *data } diff --git a/engine/Cargo.toml b/engine/Cargo.toml index ecd1aedd..d341a261 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -16,12 +16,12 @@ ordered-float = { workspace = true } egui = { workspace = true } oddio = { workspace = true } derive_more = { workspace = true } -wgpu = { version = "0.19.0", default-features = false, features=["wgsl"] } +wgpu = { version = "0.20.1", default-features = false, features=["wgsl"] } winit = { version = "0.29.4" } smol_str = { version = "0.2.0", features = ["serde"] } egui-winit = { git = "https://github.com/emilk/egui" , default-features = false } bytemuck = "1.7.2" -image = { version = "0.24.3", default-features = false, features = ["png"] } +image = { version = "0.25.1", default-features = false, features = ["png"] } log = "0.4.11" gltf = { version = "1.2.0", default-features=false, features=["import", "utils", "names", "extensions", "extras"] } itertools = { version = "0.12.0", default-features = false } diff --git a/engine/src/drawables/heightmap.rs b/engine/src/drawables/heightmap.rs index 4ffb06c3..0204bda7 100644 --- a/engine/src/drawables/heightmap.rs +++ b/engine/src/drawables/heightmap.rs @@ -406,11 +406,13 @@ fn normal_pipeline(gfx: &GfxContext, normals_tex: &Texture) -> RenderPipeline { vertex: wgpu::VertexState { module: &normal_module, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, fragment: Some(wgpu::FragmentState { module: &normal_module, entry_point: "calc_normals", + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: normals_tex.format, blend: None, @@ -476,11 +478,13 @@ fn resample_pipeline(gfx: &GfxContext, height_tex: &Texture, entry_point: &str) vertex: wgpu::VertexState { module: &resample_module, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, fragment: Some(wgpu::FragmentState { module: &resample_module, entry_point, + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: height_tex.format, blend: None, diff --git a/engine/src/egui.rs b/engine/src/egui.rs index 523f9d32..1381cd27 100644 --- a/engine/src/egui.rs +++ b/engine/src/egui.rs @@ -1,14 +1,13 @@ use crate::{GfxContext, GuiRenderContext}; use egui::TextureId; -use egui_wgpu::renderer; -use egui_wgpu::renderer::ScreenDescriptor; +use egui_wgpu::{Renderer, ScreenDescriptor}; use winit::event_loop::EventLoopWindowTarget; use winit::window::Window; /// EguiWrapper is a wrapper around egui and egui_wgpu /// It handles the rendering of the UI pub struct EguiWrapper { - pub renderer: renderer::Renderer, + pub renderer: Renderer, pub platform: egui_winit::State, pub last_mouse_captured: bool, pub last_kb_captured: bool, @@ -23,7 +22,7 @@ impl EguiWrapper { let viewport_id = egui.viewport_id(); let platform = egui_winit::State::new(egui, viewport_id, el, Some(gfx.size.2 as f32), None); - let renderer = renderer::Renderer::new(&gfx.device, gfx.fbos.format, None, 1); + let renderer = Renderer::new(&gfx.device, gfx.fbos.format, None, 1); Self { renderer, diff --git a/engine/src/gfx.rs b/engine/src/gfx.rs index 5dcfe392..e2c31a02 100644 --- a/engine/src/gfx.rs +++ b/engine/src/gfx.rs @@ -1096,11 +1096,13 @@ impl GfxContext { vertex: VertexState { module: vert_shader, entry_point: "vert", + compilation_options: Default::default(), buffers: vertex_buffers, }, fragment: frag_shader.map(|frag_shader| FragmentState { module: frag_shader, entry_point: "frag", + compilation_options: Default::default(), targets: &[], }), primitive: PrimitiveState { diff --git a/engine/src/lamplights.rs b/engine/src/lamplights.rs index 0f77acb4..0880c722 100644 --- a/engine/src/lamplights.rs +++ b/engine/src/lamplights.rs @@ -137,6 +137,7 @@ impl LampLights { layout: Some(&texture_write_layout), module: &texture_write_module, entry_point: "main", + compilation_options: Default::default(), }); let texture_write_bg = device.create_bind_group(&wgpu::BindGroupDescriptor { diff --git a/engine/src/passes/background.rs b/engine/src/passes/background.rs index b592a42b..cf7fcdc4 100644 --- a/engine/src/passes/background.rs +++ b/engine/src/passes/background.rs @@ -94,11 +94,13 @@ impl PipelineKey for BackgroundPipeline { vertex: VertexState { module: bg, entry_point: "vert", + compilation_options: Default::default(), buffers: &[UvVertex::desc()], }, fragment: Some(FragmentState { module: bg, entry_point: "frag", + compilation_options: Default::default(), targets: &color_states, }), primitive: PrimitiveState::default(), diff --git a/engine/src/passes/blur.rs b/engine/src/passes/blur.rs index 399bcbca..a9674db4 100644 --- a/engine/src/passes/blur.rs +++ b/engine/src/passes/blur.rs @@ -170,6 +170,7 @@ impl PipelineKey for UIBlurPipeline { vertex: VertexState { module: bg, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, fragment: Some(FragmentState { @@ -179,6 +180,7 @@ impl PipelineKey for UIBlurPipeline { UIBlurPipeline::Upscale => "upscale", UIBlurPipeline::UpscaleDeband => "upscale_deband", }, + compilation_options: Default::default(), targets: &color_states, }), primitive: PrimitiveState::default(), diff --git a/engine/src/passes/fog.rs b/engine/src/passes/fog.rs index edae52b0..802810e6 100644 --- a/engine/src/passes/fog.rs +++ b/engine/src/passes/fog.rs @@ -86,11 +86,13 @@ impl PipelineKey for FogPipeline { vertex: VertexState { module: &fog, entry_point: "vert", + compilation_options: Default::default(), buffers: &[UvVertex::desc()], }, fragment: Some(FragmentState { module: &fog, entry_point: "frag", + compilation_options: Default::default(), targets: &color_states, }), primitive: Default::default(), diff --git a/engine/src/passes/pbr.rs b/engine/src/passes/pbr.rs index 00d5f798..dbca19b1 100644 --- a/engine/src/passes/pbr.rs +++ b/engine/src/passes/pbr.rs @@ -273,6 +273,7 @@ impl Pbr { vertex: VertexState { module: &brdf_convolution_module, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, primitive: PrimitiveState { @@ -284,6 +285,7 @@ impl Pbr { fragment: Some(FragmentState { module: &brdf_convolution_module, entry_point: "frag", + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: TextureFormat::Rg16Float, blend: None, @@ -343,6 +345,7 @@ impl PipelineKey for PbrPipeline { vertex: VertexState { module: cubemap_vert, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, primitive: Default::default(), @@ -351,6 +354,7 @@ impl PipelineKey for PbrPipeline { fragment: Some(FragmentState { module: cubemap_frag, entry_point: "frag", + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: TextureFormat::Rgba16Float, blend: None, @@ -381,6 +385,7 @@ impl PipelineKey for PbrPipeline { vertex: VertexState { module: cubemap_vert, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, primitive: Default::default(), @@ -389,6 +394,7 @@ impl PipelineKey for PbrPipeline { fragment: Some(FragmentState { module: cubemap_frag, entry_point: "frag", + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: TextureFormat::Rgba16Float, blend: Some(BlendState::ALPHA_BLENDING), @@ -419,6 +425,7 @@ impl PipelineKey for PbrPipeline { vertex: VertexState { module: cubemap_vert, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, primitive: Default::default(), @@ -427,6 +434,7 @@ impl PipelineKey for PbrPipeline { fragment: Some(FragmentState { module: cubemap_frag, entry_point: "frag", + compilation_options: Default::default(), targets: &[Some(wgpu::ColorTargetState { format: TextureFormat::Rgba16Float, blend: Some(BlendState::ALPHA_BLENDING), diff --git a/engine/src/passes/ssao.rs b/engine/src/passes/ssao.rs index 61c884d1..c6a6d14b 100644 --- a/engine/src/passes/ssao.rs +++ b/engine/src/passes/ssao.rs @@ -78,11 +78,13 @@ impl PipelineKey for SSAOPipeline { vertex: VertexState { module: &ssao, entry_point: "vert", + compilation_options: Default::default(), buffers: &[UvVertex::desc()], }, fragment: Some(FragmentState { module: &ssao, entry_point: "frag", + compilation_options: Default::default(), targets: &color_states, }), primitive: Default::default(), diff --git a/engine/src/pipeline_builder.rs b/engine/src/pipeline_builder.rs index e47fd951..dc5ff91d 100644 --- a/engine/src/pipeline_builder.rs +++ b/engine/src/pipeline_builder.rs @@ -34,6 +34,7 @@ impl<'a> PipelineBuilder<'a> { vertex: VertexState { module: vert_shader, entry_point: "vert", + compilation_options: Default::default(), buffers: vertex_buffers, }, fragment: None, @@ -103,6 +104,7 @@ impl<'a> PipelineBuilder<'a> { fragment: Some(FragmentState { module: self.frag_shader, entry_point: "frag", + compilation_options: Default::default(), targets: &color_states, }), primitive: self.descr.primitive, diff --git a/engine/src/texture.rs b/engine/src/texture.rs index 8c87f9f0..0f07d8e4 100644 --- a/engine/src/texture.rs +++ b/engine/src/texture.rs @@ -812,11 +812,13 @@ impl MipmapGenerator { vertex: wgpu::VertexState { module: &self.module, entry_point: "vert", + compilation_options: Default::default(), buffers: &[], }, fragment: Some(wgpu::FragmentState { module: &self.module, entry_point: "frag", + compilation_options: Default::default(), targets: &[Some(format.into())], }), primitive: wgpu::PrimitiveState::default(), diff --git a/goryak/src/combo_box.rs b/goryak/src/combo_box.rs index 6930b04e..d25b1838 100644 --- a/goryak/src/combo_box.rs +++ b/goryak/src/combo_box.rs @@ -1,6 +1,6 @@ use crate::{background, button_secondary}; use yakui_core::geometry::{Constraints, Dim2, Vec2}; -use yakui_core::{Alignment, CrossAxisAlignment, MainAxisAlignment, MainAxisSize}; +use yakui_core::{Alignment, CrossAxisAlignment, MainAxisAlignment, MainAxisSize, Pivot}; use yakui_widgets::widgets::{Layer, List, Pad}; use yakui_widgets::{colored_box_container, constrained, pad, reflow, use_state}; @@ -25,7 +25,7 @@ pub fn combo_box(selected: &mut usize, items: &[&str], w: f32) -> bool { if open.get() { Layer::new().show(|| { - reflow(Alignment::BOTTOM_LEFT, Dim2::ZERO, || { + reflow(Alignment::BOTTOM_LEFT, Pivot::TOP_LEFT, Dim2::ZERO, || { constrained(Constraints::loose(Vec2::new(w, f32::INFINITY)), || { colored_box_container(background(), || { Pad::all(3.0).show(|| { diff --git a/goryak/src/window.rs b/goryak/src/window.rs index f40facf2..2f1a2fee 100644 --- a/goryak/src/window.rs +++ b/goryak/src/window.rs @@ -5,7 +5,7 @@ use std::rc::Rc; use yakui_core::event::{EventInterest, EventResponse, WidgetEvent}; use yakui_core::geometry::{Color, Constraints, Dim2, Vec2}; use yakui_core::widget::{EventContext, LayoutContext, Widget}; -use yakui_core::{context, Alignment, Flow}; +use yakui_core::{context, Alignment, Flow, Pivot}; use yakui_widgets::widgets::{Button, Pad, Text}; use yakui_widgets::{center, constrained, divider, draggable, offset, reflow}; @@ -37,7 +37,7 @@ impl<'a> Window<'a> { return; } mincolumn(0.0, || { - reflow(Alignment::TOP_RIGHT, Dim2::ZERO, || { + reflow(Alignment::TOP_RIGHT, Pivot::TOP_LEFT, Dim2::ZERO, || { offset(Vec2::new(-25.0, -15.0), || { constrained(Constraints::tight(Vec2::splat(40.0)), || { center(|| { diff --git a/headless/Cargo.toml b/headless/Cargo.toml index f34e6020..6545bb0e 100644 --- a/headless/Cargo.toml +++ b/headless/Cargo.toml @@ -11,4 +11,4 @@ simulation = { path = "../simulation" } networking = { path = "../networking" } common = { path = "../common" } structopt = "0.3.21" -log = { version = "0.4.11", features=["max_level_debug", "release_max_level_info"] } +log = { version = "0.4.11", features = ["max_level_info", "release_max_level_info"] } diff --git a/native_app/src/game_loop.rs b/native_app/src/game_loop.rs index d8a3dcf9..0c118196 100644 --- a/native_app/src/game_loop.rs +++ b/native_app/src/game_loop.rs @@ -1,3 +1,4 @@ +use std::ptr::addr_of; use std::sync::atomic::Ordering; use std::sync::{Arc, RwLock}; use std::time::{Duration, Instant}; @@ -351,15 +352,15 @@ impl State { let mut col = LinearColor::WHITE; col.a = 0.2; unsafe { - for v in &geom::DEBUG_POS { + for v in &*addr_of!(geom::DEBUG_POS) { immediate.circle(*v, 1.0).color(LinearColor::RED); } - for v in &geom::DEBUG_OBBS { + for v in &*addr_of!(geom::DEBUG_OBBS) { immediate .obb(*v, map.environment.height(v.center()).unwrap_or(0.0) + 8.0) .color(col); } - for v in &geom::DEBUG_SPLINES { + for v in &*addr_of!(geom::DEBUG_SPLINES) { immediate .polyline( v.smart_points(1.0, 0.0, 1.0) diff --git a/native_app/src/gui/debug_window.rs b/native_app/src/gui/debug_window.rs index 29afce23..803a4b21 100644 --- a/native_app/src/gui/debug_window.rs +++ b/native_app/src/gui/debug_window.rs @@ -237,14 +237,14 @@ fn debug(window: egui::Window<'_>, ui: &egui::Context, uiworld: &UiWorld, sim: & ui.horizontal(|ui| { egui::DragValue::new(&mut state.size) - .clamp_range(2..=100u32) + .range(2..=100u32) .ui(ui); ui.label("size"); }); ui.horizontal(|ui| { egui::DragValue::new(&mut state.spacing) - .clamp_range(30.0..=1000.0f32) + .range(30.0..=1000.0f32) .ui(ui); ui.label("spacing"); }); diff --git a/native_app/src/gui/hud.rs b/native_app/src/gui/hud.rs index d4c37be7..56ac66fd 100644 --- a/native_app/src/gui/hud.rs +++ b/native_app/src/gui/hud.rs @@ -32,7 +32,7 @@ pub fn tooltip(ui: &Context, uiworld: &UiWorld, sim: &Simulation) { egui::show_tooltip_at( ui, Id::new("tooltip_error"), - Some(egui::Pos2::new(s.x, s.y)), + egui::Pos2::new(s.x, s.y), |ui| ui.label(RichText::new(msg).color(Color32::from_rgb(255, 100, 100))), ); } diff --git a/native_app/src/inputmap.rs b/native_app/src/inputmap.rs index fee52e57..d7d78a95 100644 --- a/native_app/src/inputmap.rs +++ b/native_app/src/inputmap.rs @@ -1,6 +1,7 @@ use common::{FastMap, FastSet}; use engine::{InputContext, Key, MouseButton}; use geom::{Ray3, Vec2, Vec3}; +use serde::{Deserialize, Serialize}; use std::collections::hash_map::Entry; use std::collections::{BTreeMap, HashSet}; use std::fmt::{Debug, Display, Formatter}; diff --git a/native_app/src/main.rs b/native_app/src/main.rs index f4017f38..4eff6ec3 100644 --- a/native_app/src/main.rs +++ b/native_app/src/main.rs @@ -3,7 +3,6 @@ #[macro_use] extern crate common; -#[macro_use] extern crate simulation; #[allow(unused_imports)] diff --git a/native_app/src/newgui/hud.rs b/native_app/src/newgui/hud.rs index 773a715f..8cbcdd7b 100644 --- a/native_app/src/newgui/hud.rs +++ b/native_app/src/newgui/hud.rs @@ -3,7 +3,7 @@ use std::time::Instant; use goryak::{image_button, minrow, on_secondary_container, textc}; use ordered_float::OrderedFloat; use prototypes::ItemID; -use yakui::{reflow, Alignment, Color, Dim2, Vec2}; +use yakui::{reflow, Alignment, Color, Dim2, Pivot, Vec2}; use simulation::map_dynamic::ElectricityFlow; use simulation::Simulation; @@ -93,6 +93,7 @@ fn power_errors(uiworld: &UiWorld, sim: &Simulation) { for (screenpos, size) in buildings_with_issues { reflow( Alignment::TOP_LEFT, + Pivot::TOP_LEFT, Dim2::pixels(screenpos.x - size * 0.5, screenpos.y - size * 0.5), || { let mut image = yakui::widgets::Image::new(no_power_img, Vec2::new(size, size)); @@ -121,7 +122,7 @@ pub fn item_icon_yakui(uiworld: &UiWorld, id: ItemID, multiplier: i32) { ) .hovering { - reflow(Alignment::CENTER, Dim2::ZERO, || { + reflow(Alignment::CENTER, Pivot::TOP_LEFT, Dim2::ZERO, || { textc( on_secondary_container(), format!("{} x{}", item.name, multiplier), diff --git a/native_app/src/newgui/hud/chat.rs b/native_app/src/newgui/hud/chat.rs index c1e18e4f..c54425e8 100644 --- a/native_app/src/newgui/hud/chat.rs +++ b/native_app/src/newgui/hud/chat.rs @@ -1,5 +1,5 @@ use egui::TextBuffer; -use yakui::{constrained, reflow, Alignment, Color, Constraints, Dim2, Vec2}; +use yakui::{constrained, reflow, Alignment, Color, Constraints, Dim2, Pivot, Vec2}; use goryak::{ blur_bg, fixed_spacer, mincolumn, padxy, pivot, secondary_container, text_edit, textc, @@ -55,61 +55,67 @@ pub fn chat(uiw: &UiWorld, sim: &Simulation) { return; } - reflow(Alignment::BOTTOM_LEFT, Dim2::pixels(0.0, -192.0), || { - pivot(Alignment::BOTTOM_LEFT, || { - let alpha = if state.chat_bar_showed { 0.7 } else { 0.2 }; - blur_bg(secondary_container().with_alpha(alpha), 0.0, || { - mincolumn(0.0, || { - VertScroll { - size: VertScrollSize::Exact(300.0), - align_bot: true, - } - .show(|| { - constrained( - Constraints { - min: Vec2::new(250.0, 0.0), - max: Vec2::new(250.0, f32::INFINITY), - }, - || { - padxy(8.0, 8.0, || { - mincolumn(8.0, || { - for message in msgs.iter().rev() { - let color = message.color; + reflow( + Alignment::BOTTOM_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(0.0, -192.0), + || { + pivot(Alignment::BOTTOM_LEFT, || { + let alpha = if state.chat_bar_showed { 0.7 } else { 0.2 }; + blur_bg(secondary_container().with_alpha(alpha), 0.0, || { + mincolumn(0.0, || { + VertScroll { + size: VertScrollSize::Exact(300.0), + align_bot: true, + } + .show(|| { + constrained( + Constraints { + min: Vec2::new(250.0, 0.0), + max: Vec2::new(250.0, f32::INFINITY), + }, + || { + padxy(8.0, 8.0, || { + mincolumn(8.0, || { + for message in msgs.iter().rev() { + let color = message.color; - let text = message.text.clone(); + let text = message.text.clone(); - textc( - Color::rgb( - (color.r * 255.0) as u8, - (color.g * 255.0) as u8, - (color.b * 255.0) as u8, - ), - text, - ); - } + textc( + Color::rgb( + (color.r * 255.0) as u8, + (color.g * 255.0) as u8, + (color.b * 255.0) as u8, + ), + text, + ); + } + }); }); - }); - }, - ); - }); - if state.chat_bar_showed { - if text_edit(250.0, &mut state.cur_msg, "") && !state.cur_msg.is_empty() { - uiw.commands().push(WorldCommand::SendMessage { - message: Message { - name: "player".to_string(), - text: state.cur_msg.take(), - sent_at: sim.read::().instant(), - color: geom::Color::WHITE, - kind: MessageKind::PlayerChat, }, - }); - state.chat_bar_showed = false; + ); + }); + if state.chat_bar_showed { + if text_edit(250.0, &mut state.cur_msg, "") && !state.cur_msg.is_empty() + { + uiw.commands().push(WorldCommand::SendMessage { + message: Message { + name: "player".to_string(), + text: state.cur_msg.take(), + sent_at: sim.read::().instant(), + color: geom::Color::WHITE, + kind: MessageKind::PlayerChat, + }, + }); + state.chat_bar_showed = false; + } + } else { + fixed_spacer((0.0, 30.0)); } - } else { - fixed_spacer((0.0, 30.0)); - } + }); }); }); - }); - }); + }, + ); } diff --git a/native_app/src/newgui/hud/keybinds.rs b/native_app/src/newgui/hud/keybinds.rs index 10f4e0ed..2ff2a98d 100644 --- a/native_app/src/newgui/hud/keybinds.rs +++ b/native_app/src/newgui/hud/keybinds.rs @@ -1,5 +1,5 @@ use yakui::widgets::Layer; -use yakui::{center, reflow, Alignment, Dim2}; +use yakui::{center, reflow, Alignment, Dim2, Pivot}; use engine::InputContext; use goryak::{blur_bg, constrained_viewport, mincolumn, on_secondary, primary, textc, titlec}; @@ -28,18 +28,23 @@ pub fn keybind_modal(uiw: &UiWorld, _: &Simulation) { }; Layer::new().show(|| { - reflow(Alignment::TOP_LEFT, Dim2::pixels(0.0, 0.0), || { - blur_bg(primary().with_alpha(0.5), 0.0, || { - constrained_viewport(|| { - center(|| { - mincolumn(10.0, || { - titlec(on_secondary(), format!("{}", state.to_bind_to)); - textc(on_secondary(), "Press key/mouse to bind to action"); + reflow( + Alignment::TOP_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(0.0, 0.0), + || { + blur_bg(primary().with_alpha(0.5), 0.0, || { + constrained_viewport(|| { + center(|| { + mincolumn(10.0, || { + titlec(on_secondary(), format!("{}", state.to_bind_to)); + textc(on_secondary(), "Press key/mouse to bind to action"); + }); }); }); - }); - }) - }); + }) + }, + ); }); } diff --git a/native_app/src/newgui/hud/menu.rs b/native_app/src/newgui/hud/menu.rs index 8461b664..3a4d31ab 100644 --- a/native_app/src/newgui/hud/menu.rs +++ b/native_app/src/newgui/hud/menu.rs @@ -2,7 +2,7 @@ use std::sync::atomic::Ordering; use std::time::Instant; use yakui::widgets::{List, Pad}; -use yakui::{column, opaque, reflow, spacer, Alignment, CrossAxisAlignment, Dim2}; +use yakui::{column, opaque, reflow, spacer, Alignment, CrossAxisAlignment, Dim2, Pivot}; use goryak::{ blur_bg, button_primary, button_secondary, constrained_viewport, on_primary_container, @@ -18,7 +18,7 @@ use crate::uiworld::{SaveLoadState, UiWorld}; pub fn menu_bar(uiworld: &UiWorld, sim: &Simulation) { profiling::scope!("hud::menu_bar"); - reflow(Alignment::TOP_LEFT, Dim2::ZERO, || { + reflow(Alignment::TOP_LEFT, Pivot::TOP_LEFT, Dim2::ZERO, || { constrained_viewport(|| { column(|| { opaque(|| { diff --git a/native_app/src/newgui/hud/time_controls.rs b/native_app/src/newgui/hud/time_controls.rs index 63577c81..42e2f870 100644 --- a/native_app/src/newgui/hud/time_controls.rs +++ b/native_app/src/newgui/hud/time_controls.rs @@ -1,7 +1,7 @@ use yakui::widgets::{List, Pad}; use yakui::{ constrained, opaque, reflow, row, spacer, Alignment, Color, Constraints, CrossAxisAlignment, - Dim2, MainAxisAlignment, MainAxisSize, Vec2, + Dim2, MainAxisAlignment, MainAxisSize, Pivot, Vec2, }; use goryak::{ @@ -88,28 +88,33 @@ pub fn time_controls(uiworld: &UiWorld, sim: &Simulation) { }); }; - reflow(Alignment::TOP_LEFT, Dim2::pixels(-10.0, 10.0), || { - constrained_viewport(|| { - let mut l = List::row(); - l.main_axis_alignment = MainAxisAlignment::End; - l.show(|| { - opaque(|| { - blur_bg(secondary_container().with_alpha(0.5), 10.0, || { - padxy(10.0, 5.0, || { - constrained( - Constraints::loose(Vec2::new(170.0, f32::INFINITY)), - || { - let mut l = List::column(); - l.cross_axis_alignment = CrossAxisAlignment::Stretch; - l.main_axis_size = MainAxisSize::Min; - l.item_spacing = 5.0; - l.show(time_text); - }, - ); + reflow( + Alignment::TOP_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(-10.0, 10.0), + || { + constrained_viewport(|| { + let mut l = List::row(); + l.main_axis_alignment = MainAxisAlignment::End; + l.show(|| { + opaque(|| { + blur_bg(secondary_container().with_alpha(0.5), 10.0, || { + padxy(10.0, 5.0, || { + constrained( + Constraints::loose(Vec2::new(170.0, f32::INFINITY)), + || { + let mut l = List::column(); + l.cross_axis_alignment = CrossAxisAlignment::Stretch; + l.main_axis_size = MainAxisSize::Min; + l.item_spacing = 5.0; + l.show(time_text); + }, + ); + }); }); }); }); }); - }); - }); + }, + ); } diff --git a/native_app/src/newgui/hud/toolbox/building.rs b/native_app/src/newgui/hud/toolbox/building.rs index 10a825c0..5f97ccc6 100644 --- a/native_app/src/newgui/hud/toolbox/building.rs +++ b/native_app/src/newgui/hud/toolbox/building.rs @@ -2,8 +2,8 @@ use common::FastMap; use engine::{Context, TextureBuilder}; use yakui::widgets::List; use yakui::{ - reflow, use_state, Alignment, Color, CrossAxisAlignment, Dim2, MainAxisAlignment, TextureId, - Vec2, + reflow, use_state, Alignment, Color, CrossAxisAlignment, Dim2, MainAxisAlignment, Pivot, + TextureId, Vec2, }; use crate::newgui::item_icon_yakui; @@ -11,7 +11,7 @@ use engine::wgpu::TextureFormat; use geom::{Camera, Degrees, Polygon, Vec3}; use goryak::{ blur_bg, fixed_spacer, image_button, is_hovered, mincolumn, minrow, on_secondary_container, - padxy, pivot, primary, secondary_container, textc, titlec, + padxy, primary, secondary_container, textc, titlec, }; use prototypes::{ prototypes_iter, BuildingPrototypeID, GoodsCompanyID, GoodsCompanyPrototype, Prototype, @@ -64,8 +64,11 @@ pub fn special_building_properties(uiw: &UiWorld) { .map(|(id, last)| id == descr.id && last.elapsed().as_secs_f32() < 0.2) .unwrap_or(false) { - reflow(Alignment::TOP_CENTER, Dim2::pixels(0.0, -20.0), || { - pivot(Alignment::BOTTOM_CENTER, || { + reflow( + Alignment::TOP_CENTER, + Pivot::BOTTOM_CENTER, + Dim2::pixels(0.0, -20.0), + || { let hov_resp = is_hovered(|| { blur_bg(secondary_container().with_alpha(0.5), 10.0, || { padxy(10.0, 10.0, || { @@ -140,8 +143,8 @@ pub fn special_building_properties(uiw: &UiWorld) { if hov_resp.hovered { tooltip_active.set(Some((descr.id, Instant::now()))); } - }); - }); + }, + ); } if resp.clicked || state.opt.is_none() { diff --git a/native_app/src/newgui/hud/toolbox/mod.rs b/native_app/src/newgui/hud/toolbox/mod.rs index 27998797..a799e28f 100644 --- a/native_app/src/newgui/hud/toolbox/mod.rs +++ b/native_app/src/newgui/hud/toolbox/mod.rs @@ -1,7 +1,7 @@ use yakui::widgets::{Button, List, Pad}; use yakui::{ colored_box_container, column, image, opaque, reflow, spacer, Alignment, Color, - CrossAxisAlignment, Dim2, MainAxisAlignment, MainAxisSize, Vec2, + CrossAxisAlignment, Dim2, MainAxisAlignment, MainAxisSize, Pivot, Vec2, }; use goryak::{ @@ -31,7 +31,7 @@ pub fn new_toolbox(uiworld: &UiWorld, sim: &Simulation) { *uiworld.write::() = Tool::Hand; } - reflow(Alignment::TOP_LEFT, Dim2::ZERO, || { + reflow(Alignment::TOP_LEFT, Pivot::TOP_LEFT, Dim2::ZERO, || { constrained_viewport(|| { let mut l = List::column(); l.cross_axis_alignment = CrossAxisAlignment::Stretch; @@ -134,12 +134,17 @@ fn tools_list(uiworld: &UiWorld) { } pub(crate) fn select_triangle(uiworld: &UiWorld) { - reflow(Alignment::CENTER_LEFT, Dim2::pixels(0.0, 32.0), || { - image( - uiworld.read::().get("select_triangle_under"), - Vec2::new(64.0, 10.0), - ); - }); + reflow( + Alignment::CENTER_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(0.0, 32.0), + || { + image( + uiworld.read::().get("select_triangle_under"), + Vec2::new(64.0, 10.0), + ); + }, + ); } pub fn updown_button(text: &str) -> Button { diff --git a/native_app/src/newgui/hud/toolbox/roadbuild.rs b/native_app/src/newgui/hud/toolbox/roadbuild.rs index c6b7fc09..f36518d1 100644 --- a/native_app/src/newgui/hud/toolbox/roadbuild.rs +++ b/native_app/src/newgui/hud/toolbox/roadbuild.rs @@ -1,6 +1,7 @@ use yakui::widgets::List; use yakui::{ - image, reflow, Alignment, Color, CrossAxisAlignment, Dim2, MainAxisAlignment, MainAxisSize, Vec2 + image, reflow, Alignment, Color, CrossAxisAlignment, Dim2, MainAxisAlignment, MainAxisSize, + Pivot, Vec2, }; use goryak::{image_button, mincolumn, minrow, padxy, primary}; @@ -27,61 +28,104 @@ pub fn roadbuild_properties(uiw: &UiWorld) { mincolumn(4.0, || { minrow(2.0, || { let (snapping_none, snapping_grid, snapping_angel) = match state.snapping { - Snapping::None => {(active, default, default)}, - Snapping::SnapToGrid => {(default, active, default)}, - Snapping::SnapToAngle => {(default, default, active)}, + Snapping::None => (active, default, default), + Snapping::SnapToGrid => (default, active, default), + Snapping::SnapToAngle => (default, default, active), }; if image_button( uiw.read::().get("snap_notting"), Vec2::new(30.0, 30.0), - snapping_none.0, snapping_none.1, - primary(), "no snapping", - ).clicked { state.snapping = Snapping::None; } + snapping_none.0, + snapping_none.1, + primary(), + "no snapping", + ) + .clicked + { + state.snapping = Snapping::None; + } if image_button( uiw.read::().get("snap_grid"), Vec2::new(30.0, 30.0), - snapping_grid.0, snapping_grid.1, - primary(), "snap to grid", - ).clicked { state.snapping = Snapping::SnapToGrid; } + snapping_grid.0, + snapping_grid.1, + primary(), + "snap to grid", + ) + .clicked + { + state.snapping = Snapping::SnapToGrid; + } if image_button( uiw.read::().get("snap_angle"), Vec2::new(30.0, 30.0), - snapping_angel.0, snapping_angel.1, - primary(), "snap to angle", - ).clicked { state.snapping = Snapping::SnapToAngle; } + snapping_angel.0, + snapping_angel.1, + primary(), + "snap to angle", + ) + .clicked + { + state.snapping = Snapping::SnapToAngle; + } }); minrow(2.0, || { - let (hos_ground, hos_start, hos_incline, hos_decline) = match state.height_reference { - HeightReference::Ground => {(active, default, default, default)}, - HeightReference::Start => {(default, active, default, default)}, - HeightReference::MaxIncline => {(default, default, active, default)}, - HeightReference::MaxDecline => {(default, default, default, active)}, - }; + let (hos_ground, hos_start, hos_incline, hos_decline) = + match state.height_reference { + HeightReference::Ground => (active, default, default, default), + HeightReference::Start => (default, active, default, default), + HeightReference::MaxIncline => (default, default, active, default), + HeightReference::MaxDecline => (default, default, default, active), + }; if image_button( uiw.read::().get("height_reference_ground"), Vec2::new(30.0, 30.0), - hos_ground.0, hos_ground.1, - primary(), "Relative to ground", - ).clicked { state.height_reference = HeightReference::Ground; } + hos_ground.0, + hos_ground.1, + primary(), + "Relative to ground", + ) + .clicked + { + state.height_reference = HeightReference::Ground; + } if image_button( uiw.read::().get("height_reference_start"), Vec2::new(30.0, 30.0), - hos_start.0, hos_start.1, - primary(), "Relative to start", - ).clicked { state.height_reference = HeightReference::Start; } + hos_start.0, + hos_start.1, + primary(), + "Relative to start", + ) + .clicked + { + state.height_reference = HeightReference::Start; + } if image_button( uiw.read::().get("height_reference_incline"), Vec2::new(30.0, 30.0), - hos_incline.0, hos_incline.1, - primary(), "Maximum incline", - ).clicked { state.height_reference = HeightReference::MaxIncline; } + hos_incline.0, + hos_incline.1, + primary(), + "Maximum incline", + ) + .clicked + { + state.height_reference = HeightReference::MaxIncline; + } if image_button( uiw.read::().get("height_reference_decline"), Vec2::new(30.0, 30.0), - hos_decline.0, hos_decline.1, - primary(), "Maximum decline", - ).clicked { state.height_reference = HeightReference::MaxDecline; } + hos_decline.0, + hos_decline.1, + primary(), + "Maximum decline", + ) + .clicked + { + state.height_reference = HeightReference::MaxDecline; + } }); }); // Road elevation @@ -181,12 +225,17 @@ pub fn roadbuild_properties(uiw: &UiWorld) { } if is_active { - reflow(Alignment::CENTER_LEFT, Dim2::pixels(0.0, 32.0), || { - image( - uiw.read::().get("select_triangle_under"), - Vec2::new(64.0, 10.0), - ); - }); + reflow( + Alignment::CENTER_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(0.0, 32.0), + || { + image( + uiw.read::().get("select_triangle_under"), + Vec2::new(64.0, 10.0), + ); + }, + ); } }); } diff --git a/native_app/src/newgui/hud/toolbox/roadedit.rs b/native_app/src/newgui/hud/toolbox/roadedit.rs index 2e57b506..19ddf2cd 100644 --- a/native_app/src/newgui/hud/toolbox/roadedit.rs +++ b/native_app/src/newgui/hud/toolbox/roadedit.rs @@ -1,5 +1,7 @@ use yakui::widgets::List; -use yakui::{column, image, reflow, Alignment, CrossAxisAlignment, Dim2, MainAxisAlignment, Vec2}; +use yakui::{ + column, image, reflow, Alignment, CrossAxisAlignment, Dim2, MainAxisAlignment, Pivot, Vec2, +}; use goryak::{padxy, primary_image_button}; use simulation::map::LightPolicy; @@ -78,9 +80,14 @@ pub fn roadedit_properties(uiw: &UiWorld) { } if !*enabled { - reflow(Alignment::TOP_LEFT, Dim2::pixels(0.0, 0.0), || { - image(texs.get("roadedit_forbidden"), Vec2::new(64.0, 64.0)); - }); + reflow( + Alignment::TOP_LEFT, + Pivot::TOP_LEFT, + Dim2::pixels(0.0, 0.0), + || { + image(texs.get("roadedit_forbidden"), Vec2::new(64.0, 64.0)); + }, + ); } }); } diff --git a/native_app/src/newgui/hud/windows/settings.rs b/native_app/src/newgui/hud/windows/settings.rs index 7fab3241..e341d6b3 100644 --- a/native_app/src/newgui/hud/windows/settings.rs +++ b/native_app/src/newgui/hud/windows/settings.rs @@ -12,6 +12,7 @@ use goryak::{ button_primary, checkbox_value, combo_box, dragvalue, icon_button, minrow, on_secondary_container, outline, padx, padxy, textc, VertScrollSize, Window, }; +use serde::{Deserialize, Serialize}; use simulation::Simulation; use crate::game_loop::Timings; diff --git a/native_app/src/newgui/mod.rs b/native_app/src/newgui/mod.rs index 3fbcc143..9c71bf88 100644 --- a/native_app/src/newgui/mod.rs +++ b/native_app/src/newgui/mod.rs @@ -1,5 +1,6 @@ use crate::newgui::windows::GUIWindows; use crate::uiworld::UiWorld; +use serde::{Deserialize, Serialize}; use simulation::map::BuildingID; use simulation::world_command::WorldCommand; use simulation::{AnyEntity, Simulation}; @@ -20,7 +21,6 @@ pub struct GuiState { pub debug_window: bool, pub windows: GUIWindows, pub last_save: Instant, - pub last_gui_save: Instant, pub depause_warp: u32, pub hidden: bool, } @@ -31,7 +31,6 @@ impl Default for GuiState { debug_window: false, windows: Default::default(), last_save: Instant::now(), - last_gui_save: Instant::now(), depause_warp: 1, hidden: false, } diff --git a/native_app/src/newgui/tools/specialbuilding.rs b/native_app/src/newgui/tools/specialbuilding.rs index b8d19c46..2ed7f185 100644 --- a/native_app/src/newgui/tools/specialbuilding.rs +++ b/native_app/src/newgui/tools/specialbuilding.rs @@ -3,7 +3,7 @@ use crate::newgui::{ErrorTooltip, InspectedBuilding, PotentialCommands, Tool}; use crate::rendering::immediate::{ImmediateDraw, ImmediateSound}; use crate::uiworld::UiWorld; use engine::AudioKind; -use geom::{Degrees, Intersect, Vec3, OBB}; +use geom::{Degrees, Intersect, OBB}; use ordered_float::OrderedFloat; use prototypes::{RenderAsset, Size2D}; use simulation::map::{ProjectFilter, ProjectKind, RoadID}; @@ -13,7 +13,6 @@ use std::borrow::Cow; pub struct SpecialBuildArgs { pub obb: OBB, - pub mpos: Vec3, pub connected_road: Option, } @@ -189,7 +188,6 @@ pub fn specialbuilding(sim: &Simulation, uiworld: &UiWorld) { let cmds: Vec = make(&SpecialBuildArgs { obb, - mpos, connected_road: rid, }); if inp.act.contains(&InputAction::Select) { diff --git a/native_app/src/uiworld.rs b/native_app/src/uiworld.rs index c13a56cf..f7fd9491 100644 --- a/native_app/src/uiworld.rs +++ b/native_app/src/uiworld.rs @@ -4,6 +4,7 @@ use simulation::utils::resources::{RefMutSingle, RefSingle, ResourcesSingleThrea use simulation::world_command::{WorldCommand, WorldCommands}; use simulation::{Simulation, SimulationReplayLoader}; use std::any::Any; +use std::ptr::addr_of; use std::sync::atomic::AtomicBool; use std::sync::Arc; @@ -26,7 +27,7 @@ impl UiWorld { pub fn init() -> UiWorld { let mut w = UiWorld::default(); unsafe { - for s in &INIT_FUNCS { + for s in &*addr_of!(INIT_FUNCS) { (s.f)(&mut w); } } @@ -76,7 +77,7 @@ impl UiWorld { fn load_from_disk(&mut self) { unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { (l.load)(self); } } @@ -84,7 +85,7 @@ impl UiWorld { pub fn save_to_disk(&self) { unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { (l.save)(self); } } diff --git a/simulation/src/lib.rs b/simulation/src/lib.rs index 5fc61192..790374cf 100644 --- a/simulation/src/lib.rs +++ b/simulation/src/lib.rs @@ -19,6 +19,7 @@ use std::any::Any; use std::collections::BTreeMap; use std::fmt::{Display, Formatter}; use std::hash::Hash; +use std::ptr::addr_of; use std::time::{Duration, Instant}; use utils::rand_provider::RandProvider; use utils::scheduler::SeqSchedule; @@ -129,7 +130,7 @@ impl Simulation { pub fn schedule() -> SeqSchedule { let mut schedule = SeqSchedule::default(); unsafe { - for s in &GSYSTEMS { + for s in &*addr_of!(GSYSTEMS) { let s = (s.s)(); schedule.add_system(s); } @@ -153,7 +154,7 @@ impl Simulation { info!("Seed is {}", RNG_SEED); unsafe { - for s in &INIT_FUNCS { + for s in &*addr_of!(INIT_FUNCS) { (s.f)(&mut sim); } } @@ -180,7 +181,7 @@ impl Simulation { info!("{:?}", opts); unsafe { - for s in &INIT_FUNCS { + for s in &*addr_of!(INIT_FUNCS) { (s.f)(&mut sim); } } @@ -214,7 +215,7 @@ impl Simulation { } unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { let a = (l.save)(self); let b = (l.save)(other); @@ -270,7 +271,7 @@ impl Simulation { hashes.insert("world".to_string(), common::hash_u64(&*ser)); unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { let v = (l.save)(self); hashes.insert(l.name.to_string(), common::hash_u64(&*v)); } @@ -353,7 +354,7 @@ impl Serialize for Simulation { let mut m: FastMap> = FastMap::default(); unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { let v: Vec = (l.save)(self); m.insert(l.name.to_string(), v); } @@ -420,7 +421,7 @@ impl<'de> Deserialize<'de> for Simulation { }; unsafe { - for s in &INIT_FUNCS { + for s in &*addr_of!(INIT_FUNCS) { (s.f)(&mut sim); } } @@ -428,7 +429,7 @@ impl<'de> Deserialize<'de> for Simulation { sim.world = simdeser.world; unsafe { - for l in &SAVELOAD_FUNCS { + for l in &*addr_of!(SAVELOAD_FUNCS) { if let Some(data) = simdeser.res.remove(l.name) { (l.load)(&mut sim, data); }