From 6994776054b18a0c9025389a25bf7b8a2c3b5900 Mon Sep 17 00:00:00 2001 From: Rob Parrett Date: Wed, 8 Nov 2023 10:05:16 -0700 Subject: [PATCH 1/9] Now compiles --- Cargo.lock | 665 ++++++++++++++++------------- Cargo.toml | 7 +- src/voxel/render/chunk_material.rs | 7 +- src/voxel/world/chunks_anim.rs | 2 +- src/voxel/world/terrain.rs | 2 +- 5 files changed, 380 insertions(+), 303 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0288c07..a8229c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,24 +20,24 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.11.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8" +checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2" [[package]] name = "accesskit_consumer" -version = "0.15.2" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00" +checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" dependencies = [ "accesskit", ] [[package]] name = "accesskit_macos" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56" +checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" dependencies = [ "accesskit", "accesskit_consumer", @@ -47,23 +47,23 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.14.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31" +checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" dependencies = [ "accesskit", "accesskit_consumer", - "arrayvec", "once_cell", "paste", + "static_assertions", "windows 0.48.0", ] [[package]] name = "accesskit_winit" -version = "0.14.4" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0" +checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738" dependencies = [ "accesskit", "accesskit_macos", @@ -185,12 +185,6 @@ dependencies = [ "libc", ] -[[package]] -name = "anyhow" -version = "1.0.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" - [[package]] name = "approx" version = "0.5.1" @@ -220,21 +214,37 @@ dependencies = [ "x11rb", ] +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ash" -version = "0.37.2+1.3.238" +version = "0.37.3+1.3.251" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28bf19c1f0a470be5fbf7522a308a05df06610252c5bcf5143e1b23f629a9a03" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" dependencies = [ "libloading 0.7.4", ] +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener", + "futures-core", +] + [[package]] name = "async-channel" version = "1.8.0" @@ -255,16 +265,28 @@ dependencies = [ "async-lock", "async-task", "concurrent-queue", - "fastrand", + "fastrand 1.9.0", "futures-lite", "slab", ] +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock", + "autocfg", + "blocking", + "futures-lite", +] + [[package]] name = "async-lock" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", ] @@ -276,10 +298,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" [[package]] -name = "atomic_refcell" -version = "0.1.10" +name = "atomic-waker" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" @@ -310,18 +332,18 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "bevy" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91c6d3ec4f89e85294dc97334c5b271ddc301fdf67ac9bb994fe44d9273e6ed7" +checksum = "329e344f835f5a9a4c46a6d1d57371f726aa2c482d1bd669b2b9c4eb1ee91fd7" dependencies = [ "bevy_internal", ] [[package]] name = "bevy_a11y" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132c9e35a77c5395951f6d25fa2c52ee92296353426df4f961e60f3ff47e2e42" +checksum = "271b812e5734f5056a400f7d64592dd82d6c0e6179389c2f066f433ab8bc7692" dependencies = [ "accesskit", "bevy_app", @@ -331,9 +353,9 @@ dependencies = [ [[package]] name = "bevy_animation" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44eae3f1c35a87e38ad146f72317f19ce7616dad8bbdfb88ee752c1282d28c5" +checksum = "ab94187a1253433e14f175293d8a86ec1c2822fda2a17807908f11ec21f45f00" dependencies = [ "bevy_app", "bevy_asset", @@ -350,9 +372,9 @@ dependencies = [ [[package]] name = "bevy_app" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557a7d59e1e16892d7544fc37316506ee598cb5310ef0365125a30783c11531" +checksum = "172d532ea812e5954fa814dae003c207f2a0b20c6e50431787c94a7159677ece" dependencies = [ "bevy_derive", "bevy_ecs", @@ -366,26 +388,29 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9714af523da4cdf58c42a317e5ed40349708ad954a18533991fd64c8ae0a6f68" +checksum = "ccb2b67984088b23e223cfe9ec1befd89a110665a679acb06839bc4334ed37d6" dependencies = [ - "anyhow", - "async-channel", + "async-broadcast", + "async-fs", + "async-lock", "bevy_app", - "bevy_diagnostic", + "bevy_asset_macros", "bevy_ecs", "bevy_log", "bevy_reflect", "bevy_tasks", "bevy_utils", "bevy_winit", + "blake3", "crossbeam-channel", "downcast-rs", - "fastrand", + "futures-io", + "futures-lite", "js-sys", - "notify", "parking_lot", + "ron", "serde", "thiserror", "wasm-bindgen", @@ -393,11 +418,22 @@ dependencies = [ "web-sys", ] +[[package]] +name = "bevy_asset_macros" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b3245193e90fc8abcf1059a467cb224501dcda083d114c67c10ac66b7171e3a" +dependencies = [ + "bevy_macro_utils 0.12.0", + "proc-macro2", + "quote", + "syn 2.0.15", +] + [[package]] name = "bevy_atmosphere" version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e824a9e417cea4dabece5214f621fed36c8e916790924fcd6054a3ca5342a3" +source = "git+https://github.com/elodin-sys/bevy_atmosphere?branch=master#e469e29848d624dd54fee4c6ecc860fa1171033a" dependencies = [ "bevy", "bevy_atmosphere_macros", @@ -407,10 +443,9 @@ dependencies = [ [[package]] name = "bevy_atmosphere_macros" version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec647b6d64306efddf366911786e7a6150e6a97603dd7380d62f81768f2a3f1" +source = "git+https://github.com/elodin-sys/bevy_atmosphere?branch=master#e469e29848d624dd54fee4c6ecc860fa1171033a" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.11.3", "proc-macro-crate", "proc-macro2", "quote", @@ -419,11 +454,10 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4de308bd63a2f7a0b77ffeb7cf00cc185ec01393c5db2091fe03964f97152749" +checksum = "478de80ff25cb7decbcb22797774d1597e8c32914e81431c67d64faadc08f84a" dependencies = [ - "anyhow", "bevy_app", "bevy_asset", "bevy_derive", @@ -433,15 +467,14 @@ dependencies = [ "bevy_transform", "bevy_utils", "oboe", - "parking_lot", "rodio", ] [[package]] name = "bevy_core" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5272321be5fcf5ce2fb16023bc825bb10dfcb71611117296537181ce950f48" +checksum = "025e6800b73048092a55c3611e9327ad4c4c17b60517ec1c0086bb40b4b19ea8" dependencies = [ "bevy_app", "bevy_ecs", @@ -454,15 +487,16 @@ dependencies = [ [[package]] name = "bevy_core_pipeline" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67382fa9c96ce4f4e5833ed7cedd9886844a8f3284b4a717bd4ac738dcdea0c3" +checksum = "2e4b08a2d53ba62d9ec1fca3f7f4e0f556e9f59e1c8e63a4b7c2a18c0701152c" dependencies = [ "bevy_app", "bevy_asset", "bevy_core", "bevy_derive", "bevy_ecs", + "bevy_log", "bevy_math", "bevy_reflect", "bevy_render", @@ -475,20 +509,20 @@ dependencies = [ [[package]] name = "bevy_derive" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44e4e2784a81430199e4157e02903a987a32127c773985506f020e7d501b62e" +checksum = "24bf40259be12a1a24d9fd536f5ff18d31eeb5665b77e2732899783be6edc5d6" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "quote", "syn 2.0.15", ] [[package]] name = "bevy_diagnostic" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6babb230dc383c98fdfc9603e3a7a2a49e1e2879dbe8291059ef37dca897932e" +checksum = "41b5a99a9fb6cd7d1eb1714fad193944a0317f0887a15cccb8309c8d37951132" dependencies = [ "bevy_app", "bevy_core", @@ -501,9 +535,9 @@ dependencies = [ [[package]] name = "bevy_ecs" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266144b36df7e834d5198049e037ecdf2a2310a76ce39ed937d1b0a6a2c4e8c6" +checksum = "ae11a1f467c372b50e9d4b55e78370f5420c9db7416200cc441cc84f08174dd3" dependencies = [ "async-channel", "bevy_ecs_macros", @@ -522,11 +556,11 @@ dependencies = [ [[package]] name = "bevy_ecs_macros" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7157a9c3be038d5008ee3f114feb6cf6b39c1d3d32ee21a7cacb8f81fccdfa80" +checksum = "f642c2b67c4d0daf8edf15074f6351457eb487a34b3de1290c760d8f3ac9ec16" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "proc-macro2", "quote", "syn 2.0.15", @@ -534,9 +568,9 @@ dependencies = [ [[package]] name = "bevy_egui" -version = "0.21.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a73a93a8cf6b8c744281d1b88f5b0fa278d608e909af9bbf4eb491a7cb1ad2c" +checksum = "85450af551b7e1cb766f710763b60a12a82ffd6323945a8f776c6334c59ccdc1" dependencies = [ "arboard", "bevy", @@ -547,19 +581,19 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0ac0f55ad6bca1be7b0f35bbd5fc95ed3d31e4e9db158fee8e5327f59006001" +checksum = "65b9fb5a62c4e3ab70caaa839470d35fa932001b1b34b08bc7f7f1909bd2b3a7" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "encase_derive_impl", ] [[package]] name = "bevy_gilrs" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f4d79c55829f8016014593a42453f61a564ffb06ef79460d25696ccdfac67b" +checksum = "ad31cc2c84315e0759d793d6c5bcb7d8789bbc16359c98d1b766e708c1bbae49" dependencies = [ "bevy_app", "bevy_ecs", @@ -573,9 +607,9 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e286a3e7276431963f4aa29165ea5429fa7dbbc6d5c5ba0c531e7dd44ecc88a2" +checksum = "87d1cc978b91f416b23eb16f00e69f95c3a04582021827d8082e92d4725cc510" dependencies = [ "bevy_app", "bevy_asset", @@ -593,11 +627,10 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f07494a733dca032e71a20f4b1f423de765da49cbff34406ae6cd813f9b50c41" +checksum = "6f933745c0c86e2c07948def581259b466f99708328657054e956275430ccfd7" dependencies = [ - "anyhow", "base64", "bevy_animation", "bevy_app", @@ -624,9 +657,9 @@ dependencies = [ [[package]] name = "bevy_hierarchy" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "103f8f58416ac6799b8c7f0b418f1fac9eba44fa924df3b0e16b09256b897e3d" +checksum = "64fa240011fce8ee23f9b46e5a26a628a31d7860d6d2e4e0e361bb3ea6d5a703" dependencies = [ "bevy_app", "bevy_core", @@ -639,9 +672,9 @@ dependencies = [ [[package]] name = "bevy_input" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbd935401101ac8003f3c3aea70788c65ad03f7a32716a10608bedda7a648bc" +checksum = "9e86e241b3a10b79f65a69205552546723b855d3d4c1bd8261637c076144d32f" dependencies = [ "bevy_app", "bevy_ecs", @@ -653,9 +686,9 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0e35a9b2bd29aa784b3cc416bcbf2a298f69f00ca51fd042ea39d9af7fad37e" +checksum = "55124e486814c4d3632d5cfad9c4f4e46d052c028593ec46fef5bfbfb0f840b1" dependencies = [ "bevy_a11y", "bevy_animation", @@ -692,9 +725,9 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07dcc615ff4f617b06c3f9522fca3c55d56f9644db293318f8ab68fcdea5d4fe" +checksum = "011417debf7868b45932bb97fc0d5bfdeaf9304e324aa94840e2f1e6deeed69d" dependencies = [ "android_log-sys", "bevy_app", @@ -715,14 +748,27 @@ dependencies = [ "quote", "rustc-hash", "syn 2.0.15", - "toml_edit", + "toml_edit 0.19.8", +] + +[[package]] +name = "bevy_macro_utils" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf6fba87c6d069fcbcd8a48625ca8ab4392ad40d2b260863ce7d641a0f42986d" +dependencies = [ + "proc-macro2", + "quote", + "rustc-hash", + "syn 2.0.15", + "toml_edit 0.20.7", ] [[package]] name = "bevy_math" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78286a81fead796dc4b45ab14f4f02fe29a94423d3587bcfef872b2a8e0a474b" +checksum = "752764558a1f429c20704c3b836a019fa308961c43fdfef4f08e339d456c96be" dependencies = [ "glam 0.24.2", "serde", @@ -730,18 +776,18 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cfc2a21ea47970a9b1f0f4735af3256a8f204815bd756110051d10f9d909497" +checksum = "b596c41a56f2268ec7cde560edc588bc7b5886e4b49c8b27c4dcc9f7c743424c" dependencies = [ "glam 0.24.2", ] [[package]] name = "bevy_pbr" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63ca796a619e61cd43a0a3b11fde54644f7f0732a1fba1eef5d406248c6eba85" +checksum = "eeb6a35a78d355cc21c10f277dcd171eca65e30a90e76eb89f4dacf606621fe1" dependencies = [ "bevy_app", "bevy_asset", @@ -756,21 +802,24 @@ dependencies = [ "bevy_window", "bitflags 2.4.0", "bytemuck", + "fixedbitset", "naga_oil", "radsort", + "smallvec", + "thread_local", ] [[package]] name = "bevy_ptr" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72c7586401a46f7d8e436028225c1df5288f2e0082d066b247a82466fea155c6" +checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2" [[package]] name = "bevy_reflect" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0778197a1eb3e095a71417c74b7152ede02975cdc95b5ea4ddc5251ed00a2eb5" +checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d" dependencies = [ "bevy_math", "bevy_ptr", @@ -779,8 +828,6 @@ dependencies = [ "downcast-rs", "erased-serde", "glam 0.24.2", - "once_cell", - "parking_lot", "serde", "smallvec", "smol_str", @@ -789,12 +836,11 @@ dependencies = [ [[package]] name = "bevy_reflect_derive" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342a4b2d09db22c48607d23ad59a056aff1ee004549050a51d490d375ba29528" +checksum = "25f627907c40ac552f798423447fc331fc1ddacd94c5f7a2a70942eb06bc8447" dependencies = [ - "bevy_macro_utils", - "bit-set", + "bevy_macro_utils 0.12.0", "proc-macro2", "quote", "syn 2.0.15", @@ -803,11 +849,10 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39df4824b760928c27afc7b00fb649c7a63c9d76661ab014ff5c86537ee906cb" +checksum = "90d777f4c51bd58e9e40777c6cb8dde0778df7e2c5298b3f9e3455bd12a9856c" dependencies = [ - "anyhow", "async-channel", "bevy_app", "bevy_asset", @@ -838,8 +883,6 @@ dependencies = [ "ktx2", "naga", "naga_oil", - "parking_lot", - "regex", "ruzstd", "serde", "smallvec", @@ -848,16 +891,15 @@ dependencies = [ "wasm-bindgen", "web-sys", "wgpu", - "wgpu-hal", ] [[package]] name = "bevy_render_macros" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd08c740aac73363e32fb45af869b10cec65bcb76fe3e6cd0f8f7eebf4c36c9" +checksum = "35b00c3d0abff94a729460fc9aa95c2ceac71b49b3041166bb5ba3098e9657e7" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.12.0", "proc-macro2", "quote", "syn 2.0.15", @@ -865,11 +907,10 @@ dependencies = [ [[package]] name = "bevy_scene" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd47e1263506153bef3a8be97fe2d856f206d315668c4f97510ca6cc181d9681" +checksum = "ba6294396a6375f0b14341d8003408c10aa040e3f833ac8bd49677170ec55d73" dependencies = [ - "anyhow", "bevy_app", "bevy_asset", "bevy_derive", @@ -887,9 +928,9 @@ dependencies = [ [[package]] name = "bevy_sprite" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a8ca824fad75c6ef74cfbbba0a4ce3ccc435fa23d6bf3f003f260548813397" +checksum = "b4f7d1f88a6e5497fdafd95c20984a1d1b5517bc39d51600b4988cd60c51837a" dependencies = [ "bevy_app", "bevy_asset", @@ -906,15 +947,16 @@ dependencies = [ "bytemuck", "fixedbitset", "guillotiere", + "radsort", "rectangle-pack", "thiserror", ] [[package]] name = "bevy_tasks" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c73bbb847c83990d3927005090df52f8ac49332e1643d2ad9aac3cd2974e66bf" +checksum = "3a45be906618192515bc613e46546150089adbb4a82178dc462045acd1e89e92" dependencies = [ "async-channel", "async-executor", @@ -926,12 +968,11 @@ dependencies = [ [[package]] name = "bevy_text" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692288ab7b0a9f8b38058964c52789fc6bcb63703b23de51cce90ec41bfca355" +checksum = "c136af700af4f87c94f68d6e019528c371bf09ebf4a8ff7468bb3c73806b34f5" dependencies = [ "ab_glyph", - "anyhow", "bevy_app", "bevy_asset", "bevy_ecs", @@ -949,9 +990,9 @@ dependencies = [ [[package]] name = "bevy_time" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d58d6dbae9c8225d8c0e0f04d2c5dbb71d22adc01ecd5ab3cebc364139e4a6d" +checksum = "b29709cadf22d318a0b7c79f763e9c5ac414292bd0e850066fa935959021b276" dependencies = [ "bevy_app", "bevy_ecs", @@ -963,22 +1004,23 @@ dependencies = [ [[package]] name = "bevy_transform" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b0ac0149a57cd846cb357a35fc99286f9848e53d4481954608ac9552ed2d4" +checksum = "70262c51e915b6224129206d23823364e650cf5eb5f4b6ce3ee379f608c180d2" dependencies = [ "bevy_app", "bevy_ecs", "bevy_hierarchy", "bevy_math", "bevy_reflect", + "thiserror", ] [[package]] name = "bevy_ui" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b6d295a755e5b79e869a09e087029d72974562a521ec7ccfba7141fa948a32" +checksum = "cd5ecbf2dceaab118769dd870e34d780bfde556af561fd10d8d613b0f237297e" dependencies = [ "bevy_a11y", "bevy_app", @@ -1006,15 +1048,16 @@ dependencies = [ [[package]] name = "bevy_utils" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d9484e32434ea84dc548cff246ce0c6f756c1336f5ea03f24ac120a48595c7" +checksum = "c8e75d4a34ef0b15dffd1ee9079ef1f0f5139527e192b9d5708b3e158777c753" dependencies = [ "ahash 0.8.3", "bevy_utils_proc_macros", "getrandom 0.2.9", "hashbrown 0.14.1", "instant", + "nonmax", "petgraph", "thiserror", "tracing", @@ -1023,9 +1066,9 @@ dependencies = [ [[package]] name = "bevy_utils_proc_macros" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5391b242c36f556db01d5891444730c83aa9dd648b6a8fd2b755d22cb3bddb57" +checksum = "f7dfd3735a61a1b681ed1e176afe4eae731bbb03e51ad871e9eb39e76a2d170e" dependencies = [ "proc-macro2", "quote", @@ -1034,10 +1077,11 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd584c0da7c4ada6557b09f57f30fb7cff21ccedc641473fc391574b4c9b7944" +checksum = "e60d1830b3fbd7db5bfea7ac9fcd0f5e1d1af88c91ab469e697ab176d8b3140b" dependencies = [ + "bevy_a11y", "bevy_app", "bevy_ecs", "bevy_input", @@ -1049,9 +1093,9 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdc044abdb95790c20053e6326760f0a2985f0dcd78613d397bf35f16039d53" +checksum = "7f8294e78c6a1f9c34d36501a377c5d20bf0fa23a0958187bb270187741448ba" dependencies = [ "accesskit_winit", "approx", @@ -1119,6 +1163,19 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +[[package]] +name = "blake3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block" version = "0.1.6" @@ -1155,6 +1212,22 @@ dependencies = [ "objc2-encode", ] +[[package]] +name = "blocking" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite", + "piper", + "tracing", +] + [[package]] name = "bumpalo" version = "3.12.1" @@ -1314,6 +1387,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + [[package]] name = "constgebra" version = "0.1.3" @@ -1354,7 +1433,7 @@ dependencies = [ "bitflags 1.3.2", "core-foundation", "core-graphics-types", - "foreign-types", + "foreign-types 0.3.2", "libc", ] @@ -1366,7 +1445,7 @@ checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" dependencies = [ "bitflags 1.3.2", "core-foundation", - "foreign-types", + "foreign-types 0.3.2", "libc", ] @@ -1445,12 +1524,12 @@ dependencies = [ [[package]] name = "d3d12" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" +checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ - "bitflags 1.3.2", - "libloading 0.7.4", + "bitflags 2.4.0", + "libloading 0.8.1", "winapi", ] @@ -1500,18 +1579,18 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecolor" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e479a7fa3f23d4e794f8b2f8b3568dd4e47886ad1b12c9c095e141cb591eb63" +checksum = "cfdf4e52dbbb615cfd30cf5a5265335c217b5fd8d669593cea74a517d9c605af" dependencies = [ "bytemuck", ] [[package]] name = "egui" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aef8ec3ae1b772f340170c65bf27d5b8c28f543a0116c844d2ac08d01123e7" +checksum = "8bd69fed5fcf4fbb8225b24e80ea6193b61e17a625db105ef0c4d71dde6eb8b7" dependencies = [ "ahash 0.8.3", "epaint", @@ -1526,9 +1605,9 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" [[package]] name = "emath" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3857d743a6e0741cdd60b622a74c7a36ea75f5f8f11b793b41d905d2c9721a4b" +checksum = "1ef2b29de53074e575c18b694167ccbe6e5191f7b25fe65175a0d905a32eeec0" dependencies = [ "bytemuck", ] @@ -1567,13 +1646,12 @@ dependencies = [ [[package]] name = "epaint" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09333964d4d57f40a85338ba3ca5ed4716070ab184dcfed966b35491c5c64f3b" +checksum = "58067b840d009143934d91d8dcb8ded054d8301d7c11a517ace0a99bb1e1595e" dependencies = [ "ab_glyph", "ahash 0.8.3", - "atomic_refcell", "bytemuck", "ecolor", "emath", @@ -1581,6 +1659,12 @@ dependencies = [ "parking_lot", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "erased-serde" version = "0.3.25" @@ -1624,6 +1708,12 @@ dependencies = [ "instant", ] +[[package]] +name = "fastrand" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + [[package]] name = "fdeflate" version = "0.3.0" @@ -1633,18 +1723,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "filetime" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.3.5", - "windows-sys 0.48.0", -] - [[package]] name = "fixedbitset" version = "0.4.2" @@ -1679,7 +1757,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" dependencies = [ - "foreign-types-shared", + "foreign-types-shared 0.1.1", +] + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared 0.3.1", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", ] [[package]] @@ -1688,6 +1787,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + [[package]] name = "form_urlencoded" version = "1.1.0" @@ -1697,15 +1802,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fsevent-sys" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] - [[package]] name = "futures-core" version = "0.3.28" @@ -1724,7 +1820,7 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "futures-io", "memchr", @@ -1836,9 +1932,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "glow" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1" +checksum = "ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728" dependencies = [ "js-sys", "slotmap", @@ -1848,33 +1944,32 @@ dependencies = [ [[package]] name = "gltf" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd7703af6975def3b32573c60aaa5ebfebfab5d879da1e1315d87155ba57bcd" +checksum = "ad2dcfb6dd7a66f9eb3d181a29dcfb22d146b0bcdc2e1ed1713cbf03939a88ea" dependencies = [ "byteorder", "gltf-json", "lazy_static", - "urlencoding", ] [[package]] name = "gltf-derive" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b33dbe598480111e3b2e5a1e9a7e52ad5df0f836e04b8c80fc96f52a9c9f2e" +checksum = "f2cbcea5dd47e7ad4e9ee6f040384fcd7204bbf671aa4f9e7ca7dfc9bfa1de20" dependencies = [ "inflections", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.15", ] [[package]] name = "gltf-json" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5511a759d99beeeef064bd6f81e207c77e3a3431c7499d7590929e35de371f31" +checksum = "7d5b810806b78dde4b71a95cc0e6fdcab34c4c617da3574df166f9987be97d03" dependencies = [ "gltf-derive", "serde", @@ -1895,21 +1990,21 @@ dependencies = [ [[package]] name = "gpu-alloc" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc59e5f710e310e76e6707f86c561dd646f69a8876da9131703b2f717de818d" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "gpu-alloc-types", ] [[package]] name = "gpu-alloc-types" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", ] [[package]] @@ -2070,30 +2165,20 @@ dependencies = [ ] [[package]] -name = "inflections" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" - -[[package]] -name = "inotify" -version = "0.9.6" +name = "indexmap" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", + "equivalent", + "hashbrown 0.14.1", ] [[package]] -name = "inotify-sys" -version = "0.1.5" +name = "inflections" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -dependencies = [ - "libc", -] +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" [[package]] name = "instant" @@ -2199,9 +2284,9 @@ checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -2217,26 +2302,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "kqueue" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98" -dependencies = [ - "kqueue-sys", - "libc", -] - -[[package]] -name = "kqueue-sys" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - [[package]] name = "ktx2" version = "0.3.0" @@ -2368,16 +2433,17 @@ dependencies = [ [[package]] name = "metal" -version = "0.24.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +checksum = "623b5e6cefd76e58f774bd3cc0c6f5c7615c58c03a97815245a25c3c9bdee318" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "block", "core-graphics-types", - "foreign-types", + "foreign-types 0.5.0", "log", "objc", + "paste", ] [[package]] @@ -2429,15 +2495,15 @@ dependencies = [ [[package]] name = "naga" -version = "0.12.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" +checksum = "c1ceaaa4eedaece7e4ec08c55c640ba03dbb73fb812a6570a59bcf1930d0f70e" dependencies = [ "bit-set", - "bitflags 1.3.2", + "bitflags 2.4.0", "codespan-reporting", "hexf-parse", - "indexmap", + "indexmap 1.9.3", "log", "num-traits", "pp-rs", @@ -2450,18 +2516,18 @@ dependencies = [ [[package]] name = "naga_oil" -version = "0.8.2" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be942a5c21c58b9b0bf4d9b99db3634ddb7a916f8e1d1d0b71820cc4150e56b" +checksum = "a1fa9518ff79ae8a98c3abe3897d873a85561d1b5642981c2245c1c4b9b2429d" dependencies = [ "bit-set", "codespan-reporting", "data-encoding", - "indexmap", + "indexmap 1.9.3", "naga", "once_cell", "regex", - "regex-syntax 0.6.29", + "regex-syntax 0.7.1", "rustc-hash", "thiserror", "tracing", @@ -2573,23 +2639,10 @@ dependencies = [ ] [[package]] -name = "notify" -version = "6.1.1" +name = "nonmax" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" -dependencies = [ - "bitflags 2.4.0", - "crossbeam-channel", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio", - "walkdir", - "windows-sys 0.48.0", -] +checksum = "99756f5493e135528f0cd660ac67b4c3a542bb65a3565efe92bb2c2317eb3669" [[package]] name = "ntapi" @@ -2923,7 +2976,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", ] [[package]] @@ -2932,6 +2985,17 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.26" @@ -2973,7 +3037,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.8", ] [[package]] @@ -3457,9 +3521,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "toml_datetime" -version = "0.6.1" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" [[package]] name = "toml_edit" @@ -3467,9 +3531,20 @@ version = "0.19.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" dependencies = [ - "indexmap", + "indexmap 1.9.3", + "toml_datetime", + "winnow 0.4.1", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap 2.1.0", "toml_datetime", - "winnow", + "winnow 0.5.19", ] [[package]] @@ -3604,12 +3679,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "urlencoding" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9" - [[package]] name = "uuid" version = "1.3.1" @@ -3688,9 +3757,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3698,16 +3767,16 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.15", "wasm-bindgen-shared", ] @@ -3725,9 +3794,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3735,22 +3804,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.15", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "wayland-scanner" @@ -3765,9 +3834,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -3798,9 +3867,9 @@ checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "wgpu" -version = "0.16.3" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c965c9306872eb6255fa55e4b4953be55a8b64d57e61d7ff840d3dcc051cd" +checksum = "ed547920565c56c7a29afb4538ac5ae5048865a5d2f05bff3ad4fbeb921a9a2c" dependencies = [ "arrayvec", "cfg-if", @@ -3822,9 +3891,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "0.16.1" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" +checksum = "0f8a44dd301a30ceeed3c27d8c0090433d3da04d7b2a4042738095a424d12ae7" dependencies = [ "arrayvec", "bit-vec", @@ -3845,9 +3914,9 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "0.16.2" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" +checksum = "9a80bf0e3c77399bb52850cb0830af9bad073d5cfcb9dd8253bef8125c42db17" dependencies = [ "android_system_properties", "arrayvec", @@ -3857,7 +3926,6 @@ dependencies = [ "block", "core-graphics-types", "d3d12", - "foreign-types", "glow", "gpu-alloc", "gpu-allocator", @@ -3887,9 +3955,9 @@ dependencies = [ [[package]] name = "wgpu-types" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" +checksum = "ee64d7398d0c2f9ca48922c902ef69c42d000c759f3db41e355f4a570b052b67" dependencies = [ "bitflags 2.4.0", "js-sys", @@ -4127,9 +4195,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winit" -version = "0.28.3" +version = "0.28.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f504e8c117b9015f618774f8d58cd4781f5a479bc41079c064f974cbb253874" +checksum = "9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94" dependencies = [ "android-activity", "bitflags 1.3.2", @@ -4164,6 +4232,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winnow" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +dependencies = [ + "memchr", +] + [[package]] name = "x11-dl" version = "2.21.0" diff --git a/Cargo.toml b/Cargo.toml index 5c1dd8f..8eb517a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,16 +9,17 @@ resolver = "2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -bevy = "0.11.3" +bevy = "0.12" ndshape = "0.3.0" block-mesh = "0.2.0" ndcopy = "0.3.0" thread_local = "1.1.7" -bevy_egui = "0.21" +bevy_egui = "0.23" float-ord = "0.3.2" futures-lite = "1.12.0" once_cell = "1.17.1" -bevy_atmosphere = "0.7" +# use version 0.8 from crates.io when it is released +bevy_atmosphere = { git = "https://github.com/elodin-sys/bevy_atmosphere", branch = "master" } bitflags = "2.0.2" ilattice = { version = "0.3.0", features = ["glam", "morton-encoding"] } noise = "0.8.2" diff --git a/src/voxel/render/chunk_material.rs b/src/voxel/render/chunk_material.rs index ad4fc33..d672553 100644 --- a/src/voxel/render/chunk_material.rs +++ b/src/voxel/render/chunk_material.rs @@ -1,7 +1,7 @@ use crate::voxel::material::VoxelMaterialRegistry; use bevy::{ prelude::*, - reflect::{TypePath, TypeUuid}, + reflect::TypePath, render::{ extract_component::ExtractComponent, mesh::MeshVertexAttribute, @@ -18,7 +18,7 @@ impl VoxelTerrainMesh { MeshVertexAttribute::new("Vertex_Data", 0x696969, VertexFormat::Uint32); } -#[derive(ShaderType, Clone, Copy, Default)] +#[derive(ShaderType, Clone, Copy, Debug, Default)] pub struct GpuVoxelMaterial { base_color: Color, flags: u32, @@ -28,8 +28,7 @@ pub struct GpuVoxelMaterial { reflectance: f32, } -#[derive(AsBindGroup, ShaderType, Clone, TypePath, TypeUuid)] -#[uuid = "1e31e29e-73d8-419c-8293-876ae81d2636"] +#[derive(Asset, TypePath, AsBindGroup, Debug, Clone)] pub struct GpuTerrainUniforms { #[uniform(0)] pub render_distance: u32, diff --git a/src/voxel/world/chunks_anim.rs b/src/voxel/world/chunks_anim.rs index b098c36..e4a97f0 100644 --- a/src/voxel/world/chunks_anim.rs +++ b/src/voxel/world/chunks_anim.rs @@ -1,6 +1,6 @@ use bevy::{ prelude::{ - Commands, Component, Entity, IntoSystemConfigs, IntoSystemSetConfig, Plugin, PostUpdate, + Commands, Component, Entity, IntoSystemConfigs, IntoSystemSetConfigs, Plugin, PostUpdate, Query, RemovedComponents, Res, SystemSet, Transform, Update, Visibility, }, time::Time, diff --git a/src/voxel/world/terrain.rs b/src/voxel/world/terrain.rs index 2d19113..bb2de56 100644 --- a/src/voxel/world/terrain.rs +++ b/src/voxel/world/terrain.rs @@ -9,7 +9,7 @@ use crate::voxel::{ }; use bevy::{ prelude::{ - Added, Commands, Component, Entity, IntoSystemConfigs, IntoSystemSetConfig, Plugin, Query, + Added, Commands, Component, Entity, IntoSystemConfigs, IntoSystemSetConfigs, Plugin, Query, ResMut, SystemSet, Update, }, tasks::{AsyncComputeTaskPool, Task}, From 45a2bdc36cd0cadc6897296a47bbfb7a9c8a1bcd Mon Sep 17 00:00:00 2001 From: Rob Parrett Date: Wed, 8 Nov 2023 10:19:22 -0700 Subject: [PATCH 2/9] WIP: working through shader migrations --- assets/shaders/fog.wgsl | 4 ++-- assets/shaders/noise.wgsl | 6 +++--- assets/shaders/terrain_pipeline.wgsl | 7 +++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/assets/shaders/fog.wgsl b/assets/shaders/fog.wgsl index 57b503e..97857d6 100644 --- a/assets/shaders/fog.wgsl +++ b/assets/shaders/fog.wgsl @@ -6,8 +6,8 @@ const FOG_COLOR: vec4 = vec4(0.4, 0.4, 0.4, 1.0); fn ffog_calc_factor(clamped_d: f32, fog_distance: f32, chunk_size: f32) -> f32 { let fog_max: f32 = fog_distance; let fog_min: f32 = fog_max - 4.5 * chunk_size; - let clamped_d = clamp(fog_min, clamped_d, fog_max); - return 1.0 - (fog_max - clamped_d) / (fog_max - fog_min); + let new_clamped_d = clamp(fog_min, clamped_d, fog_max); + return 1.0 - (fog_max - new_clamped_d) / (fog_max - fog_min); } fn ffog_apply_fog(d: f32, fog_min: f32, chunk_size: f32, color: vec4) -> vec4 { diff --git a/assets/shaders/noise.wgsl b/assets/shaders/noise.wgsl index 6f513bf..31965d1 100644 --- a/assets/shaders/noise.wgsl +++ b/assets/shaders/noise.wgsl @@ -3,7 +3,7 @@ // See https://github.com/veloren/veloren fn hash(p: vec4) -> f32 { - var p: vec4 = fract(p * 0.3183099 + 0.1) - fract(p + 23.22121); - p = p * 17.0; - return (fract(p.x * p.y * (1.0 - p.z) * p.w * (p.x + p.y + p.z + p.w)) - 0.5) * 2.0; + var n: vec4 = fract(p * 0.3183099 + 0.1) - fract(p + 23.22121); + n = n * 17.0; + return (fract(n.x * n.y * (1.0 - n.z) * n.w * (n.x + n.y + n.z + n.w)) - 0.5) * 2.0; } \ No newline at end of file diff --git a/assets/shaders/terrain_pipeline.wgsl b/assets/shaders/terrain_pipeline.wgsl index 88e3f95..28b5c27 100644 --- a/assets/shaders/terrain_pipeline.wgsl +++ b/assets/shaders/terrain_pipeline.wgsl @@ -2,6 +2,7 @@ #import bevy_pbr::pbr_bindings #import bevy_pbr::mesh_bindings #import bevy_pbr::mesh_functions +#import bevy_pbr::view_transformations #import bevy_pbr::utils #import bevy_pbr::clustered_forward @@ -19,6 +20,7 @@ #import "shaders/fog.wgsl" ffog_apply_fog struct Vertex { + @builtin(instance_index) instance_index: u32, @location(0) position: vec3, @location(1) voxel_data: u32, }; @@ -32,10 +34,11 @@ struct VertexOutput { @vertex fn vertex(vertex: Vertex) -> VertexOutput { - let world_position = bevy_pbr::mesh_functions::mesh_position_local_to_world(mesh.model, vec4(vertex.position, 1.0)); + let model = mesh_functions::get_model_matrix(vertex.instance_index); + let world_position = bevy_pbr::mesh_functions::mesh_position_local_to_world(model, vec4(vertex.position, 1.0)); var out: VertexOutput; - out.clip_position = bevy_pbr::mesh_functions::mesh_position_world_to_clip(world_position); + out.clip_position = view_transformations::position_world_to_clip(world_position); out.voxel_normal = voxel_data_extract_normal(vertex.voxel_data); out.voxel_data = vertex.voxel_data; out.world_position = world_position.xyz; From 77181d6f8734a15ff5e5931dc669939b95281a49 Mon Sep 17 00:00:00 2001 From: Rob Parrett Date: Wed, 8 Nov 2023 11:23:38 -0700 Subject: [PATCH 3/9] Fixed shader errors --- assets/shaders/terrain_pipeline.wgsl | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/assets/shaders/terrain_pipeline.wgsl b/assets/shaders/terrain_pipeline.wgsl index 28b5c27..fd17726 100644 --- a/assets/shaders/terrain_pipeline.wgsl +++ b/assets/shaders/terrain_pipeline.wgsl @@ -9,7 +9,8 @@ #import bevy_pbr::lighting #import bevy_pbr::shadows #import bevy_pbr::fog -#import bevy_pbr::pbr_functions PbrInput, pbr_input_new, calculate_view, pbr +#import bevy_pbr::pbr_functions calculate_view, apply_pbr_lighting +#import bevy_pbr::pbr_types PbrInput, pbr_input_new #import bevy_pbr::mesh_bindings mesh #import bevy_pbr::mesh_view_bindings view #import bevy_core_pipeline::tonemapping tone_mapping @@ -30,6 +31,7 @@ struct VertexOutput { @location(0) voxel_normal: vec3, @location(1) voxel_data: u32, @location(2) world_position: vec3, + @location(3) voxel_world_normal: vec3, }; @vertex @@ -38,8 +40,11 @@ fn vertex(vertex: Vertex) -> VertexOutput { let world_position = bevy_pbr::mesh_functions::mesh_position_local_to_world(model, vec4(vertex.position, 1.0)); var out: VertexOutput; - out.clip_position = view_transformations::position_world_to_clip(world_position); - out.voxel_normal = voxel_data_extract_normal(vertex.voxel_data); + let voxel_normal = voxel_data_extract_normal(vertex.voxel_data); + out.clip_position = view_transformations::position_world_to_clip(world_position.xyz); + out.voxel_normal = voxel_normal; + out.voxel_world_normal = bevy_pbr::mesh_functions::mesh_normal_local_to_world(voxel_normal, vertex.instance_index); + out.voxel_data = vertex.voxel_data; out.world_position = world_position.xyz; @@ -55,6 +60,7 @@ struct Fragment { @location(1) voxel_data: u32, /// The world position of the voxel vertex. @location(2) world_position: vec3, + @location(3) voxel_world_normal: vec3, }; fn prepare_pbr_input_from_voxel_mat(voxel_mat: VoxelMat, frag: Fragment) -> PbrInput { @@ -70,12 +76,12 @@ fn prepare_pbr_input_from_voxel_mat(voxel_mat: VoxelMat, frag: Fragment) -> PbrI pbr_input.frag_coord = frag.frag_coord; pbr_input.world_position = vec4(frag.world_position, 1.0); - pbr_input.world_normal = (f32(frag.front_facing) * 2.0 - 1.0) * bevy_pbr::mesh_functions::mesh_normal_local_to_world(frag.voxel_normal); - + pbr_input.world_normal = (f32(frag.front_facing) * 2.0 - 1.0) * frag.voxel_world_normal; + pbr_input.is_orthographic = view.projection[3].w == 1.0; - pbr_input.N = normalize(bevy_pbr::mesh_functions::mesh_normal_local_to_world(frag.voxel_normal)); + pbr_input.N = normalize(frag.voxel_world_normal); pbr_input.V = calculate_view(vec4(frag.world_position, 1.0), pbr_input.is_orthographic); - pbr_input.flags = mesh.flags; + return pbr_input; } @@ -85,7 +91,7 @@ fn fragment(frag: Fragment) -> @location(0) vec4 { /// PBR lighting input data preparation var pbr_input = prepare_pbr_input_from_voxel_mat(material, frag); - let pbr_colour = tone_mapping(pbr(pbr_input), view.color_grading); + let pbr_colour = tone_mapping(apply_pbr_lighting(pbr_input), view.color_grading); // @todo: switch to bevy_pbr::fog From bf2ad394e3b07da5f06e49c4b32b94715bdbac64 Mon Sep 17 00:00:00 2001 From: Rob Parrett Date: Wed, 8 Nov 2023 13:13:16 -0700 Subject: [PATCH 4/9] Fix deprecations --- src/debug/debug_ui.rs | 2 +- src/voxel/material.rs | 3 ++- src/voxel/world/chunks.rs | 2 +- src/voxel/world/chunks_anim.rs | 4 ++-- src/voxel/world/meshing.rs | 2 +- src/voxel/world/player.rs | 2 +- src/voxel/world/terrain.rs | 2 +- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/debug/debug_ui.rs b/src/debug/debug_ui.rs index 9a4397a..3aab689 100644 --- a/src/debug/debug_ui.rs +++ b/src/debug/debug_ui.rs @@ -83,7 +83,7 @@ fn toggle_debug_ui_displays( mut inputs: EventReader, mut ui_state: ResMut, ) { - for input in inputs.iter() { + for input in inputs.read() { match input.key_code { Some(key_code) if key_code == KeyCode::F3 && input.state == ButtonState::Pressed => { ui_state.display_debug_info = !ui_state.display_debug_info; diff --git a/src/voxel/material.rs b/src/voxel/material.rs index 4183027..f477a0d 100644 --- a/src/voxel/material.rs +++ b/src/voxel/material.rs @@ -1,5 +1,6 @@ use bevy::{ - prelude::{info, Color, Plugin, Resource}, + log::info, + prelude::{Color, Plugin, Resource}, utils::HashMap, }; use bitflags::bitflags; diff --git a/src/voxel/world/chunks.rs b/src/voxel/world/chunks.rs index cf0418b..bfee00b 100644 --- a/src/voxel/world/chunks.rs +++ b/src/voxel/world/chunks.rs @@ -211,7 +211,7 @@ impl Plugin for VoxelWorldChunkingPlugin { }) .init_resource::() .init_resource::() - .configure_set(Update, ChunkLoadingSet) + .configure_sets(Update, ChunkLoadingSet) .add_systems( Update, (update_player_pos, update_view_chunks, create_chunks) diff --git a/src/voxel/world/chunks_anim.rs b/src/voxel/world/chunks_anim.rs index e4a97f0..82c42e1 100644 --- a/src/voxel/world/chunks_anim.rs +++ b/src/voxel/world/chunks_anim.rs @@ -25,7 +25,7 @@ fn attach_chunk_animation( time: Res