From bd29da19c91ba65cd6869b78868ae7e84ad80ebd Mon Sep 17 00:00:00 2001 From: hatoo Date: Sat, 12 Apr 2025 16:00:51 +0900 Subject: [PATCH 1/5] pc --- Cargo.lock | 2188 +++++++++++++++++++++++++++++++++++++++------------- Cargo.toml | 2 +- src/lib.rs | 66 +- 3 files changed, 1701 insertions(+), 555 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ef48ccd..99cdd78 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,13 +8,30 @@ version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" +[[package]] +name = "accesskit" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" + [[package]] name = "accesskit_consumer" version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" dependencies = [ - "accesskit", + "accesskit 0.17.1", + "hashbrown 0.15.2", + "immutable-chunkmap", +] + +[[package]] +name = "accesskit_consumer" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0bf66a7bf0b7ea4fd7742d50b64782a88f99217cf246b3f93b4162528dde520" +dependencies = [ + "accesskit 0.18.0", "hashbrown 0.15.2", "immutable-chunkmap", ] @@ -25,8 +42,22 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" dependencies = [ - "accesskit", - "accesskit_consumer", + "accesskit 0.17.1", + "accesskit_consumer 0.26.0", + "hashbrown 0.15.2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "accesskit_macos" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" +dependencies = [ + "accesskit 0.18.0", + "accesskit_consumer 0.27.0", "hashbrown 0.15.2", "objc2", "objc2-app-kit", @@ -39,8 +70,23 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" dependencies = [ - "accesskit", - "accesskit_consumer", + "accesskit 0.17.1", + "accesskit_consumer 0.26.0", + "hashbrown 0.15.2", + "paste", + "static_assertions", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] +name = "accesskit_windows" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" +dependencies = [ + "accesskit 0.18.0", + "accesskit_consumer 0.27.0", "hashbrown 0.15.2", "paste", "static_assertions", @@ -54,9 +100,22 @@ version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" dependencies = [ - "accesskit", - "accesskit_macos", - "accesskit_windows", + "accesskit 0.17.1", + "accesskit_macos 0.18.1", + "accesskit_windows 0.24.1", + "raw-window-handle", + "winit", +] + +[[package]] +name = "accesskit_winit" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" +dependencies = [ + "accesskit 0.18.0", + "accesskit_macos 0.19.0", + "accesskit_windows 0.25.0", "raw-window-handle", "winit", ] @@ -75,10 +134,10 @@ checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "const-random", - "getrandom", + "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -223,6 +282,18 @@ dependencies = [ "futures-core", ] +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener 5.4.0", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + [[package]] name = "async-channel" version = "2.3.1" @@ -275,12 +346,18 @@ name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] [[package]] name = "atomic-waker" version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] [[package]] name = "atomicow" @@ -308,100 +385,147 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bevy" -version = "0.15.3" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2a21c9f3306676077a88700bb8f354be779cf9caba9c21e94da9e696751af4" +dependencies = [ + "bevy_internal 0.15.1", +] + +[[package]] +name = "bevy" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eaad7fe854258047680c51c3cacb804468553c04241912f6254c841c67c0198" +checksum = "fdd1a95f467119c45876e04814e17501ad14af8ff2f94f5721d0b065d6a654ac" dependencies = [ - "bevy_internal", + "bevy_internal 0.16.0-rc.4", ] [[package]] name = "bevy_a11y" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245a938f754f70a380687b89f1c4dac75b62d58fae90ae969fcfb8ecd91ed879" +checksum = "f96642402d2cd7c8e58c5994bbd14a2e44ca72dd7e460a2edad82aa3bf0348f9" dependencies = [ - "accesskit", - "bevy_app", - "bevy_derive", - "bevy_ecs", - "bevy_reflect", + "accesskit 0.17.1", + "bevy_app 0.15.1", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", ] [[package]] -name = "bevy_animation" -version = "0.15.3" +name = "bevy_a11y" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e2b3e4e6cb4df085b941b105f2c790901e34c8571e02342f8e96acdf7cf7d1" +checksum = "4afaf5487efe467b3169b0f944940efef0136d41e3b293b3afb45cc5f4e421b4" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", + "accesskit 0.18.0", + "bevy_app 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", +] + +[[package]] +name = "bevy_animation" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ed7f10e5a04392c7a85612d32a682c966bfd20ec7cd10c9e301e8fb8284397" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_mesh 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_time 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "blake3", "derive_more", - "downcast-rs", + "downcast-rs 2.0.1", "either", - "petgraph", + "petgraph 0.7.1", "ron", "serde", "smallvec", + "thiserror 2.0.12", "thread_local", + "tracing", "uuid", ] [[package]] name = "bevy_app" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ac033a388b8699d241499a43783a09e6a3bab2430f1297c6bd4974095efb3f" +checksum = "454a8cfd134864dcdcba6ee56fb958531b981021bba6bb2037c9e3df6046603c" dependencies = [ - "bevy_derive", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", + "bevy_tasks 0.15.3", + "bevy_utils 0.15.3", "console_error_panic_hook", "ctrlc", "derive_more", - "downcast-rs", + "downcast-rs 1.2.1", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "bevy_app" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0cdcee5cf8cfc0e92c027e7a274d69c1a89158e3c9b50f6f5bb109f725f9152" +dependencies = [ + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "cfg-if", + "console_error_panic_hook", + "ctrlc", + "downcast-rs 2.0.1", + "log", + "thiserror 2.0.12", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_asset" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fd901b3be016088c4dda2f628bda96b7cb578b9bc8ae684bbf30bec0a9483e" +checksum = "2d762dd4422fb6219fd904e514a4a5d1d451711a0a8e1d6495dea15a545f04f3" dependencies = [ - "async-broadcast", + "async-broadcast 0.5.1", "async-fs", "async-lock", "atomicow", - "bevy_app", - "bevy_asset_macros", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_window", + "bevy_app 0.15.1", + "bevy_asset_macros 0.15.3", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", + "bevy_tasks 0.15.3", + "bevy_utils 0.15.3", + "bevy_window 0.15.1", "bitflags 2.9.0", "blake3", "crossbeam-channel", "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 1.2.1", "either", "futures-io", "futures-lite", @@ -416,13 +540,65 @@ dependencies = [ "web-sys", ] +[[package]] +name = "bevy_asset" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c543a58c695feaa63f7f12ea0c1239105828c3303f32ae47f6a9b5fae620f15e" +dependencies = [ + "async-broadcast 0.7.2", + "async-fs", + "async-lock", + "atomicow", + "bevy_app 0.16.0-rc.4", + "bevy_asset_macros 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", + "bitflags 2.9.0", + "blake3", + "crossbeam-channel", + "derive_more", + "disqualified", + "downcast-rs 2.0.1", + "either", + "futures-io", + "futures-lite", + "js-sys", + "parking_lot", + "ron", + "serde", + "stackfuture", + "thiserror 2.0.12", + "tracing", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "bevy_asset_macros" version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6725a785789ece8d8c73bba25fdac5e50494d959530e89565bbcea9f808b7181" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.3", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_asset_macros" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f70896cb740ad13a746e2ff49719ec294adb57be60eb27e314a6f672b6c104b3" +dependencies = [ + "bevy_macro_utils 0.16.0-rc.4", "proc-macro2", "quote", "syn", @@ -430,70 +606,85 @@ dependencies = [ [[package]] name = "bevy_audio" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30af4b6a91c8e08f623b0cdc53ce5b8f731c78af6ef728cdfc06dc61eda164c4" +checksum = "c0aa580b25b80fce33f60742127cadfe84a6b62d0d0fd6202a81617f76da8d53" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_math", - "bevy_reflect", - "bevy_transform", - "bevy_utils", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", "rodio", + "tracing", +] + +[[package]] +name = "bevy_color" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f00aa2966c7ca0c7dd39f5ba8f3b1eaa5c2005a93ffdefb7a4090150d8327678" +dependencies = [ + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bytemuck", + "derive_more", + "encase", + "serde", + "wgpu-types 23.0.0", ] [[package]] name = "bevy_color" -version = "0.15.4" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a87b7137ffa9844ae542043769fb98c35efbf2f8a8429ff2a73d8ef30e58baaa" +checksum = "7f8ccf4d7368e176df8f90a4d0c2169bd7561d2982b1a3d08ec9e78b05d0032f" dependencies = [ - "bevy_math", - "bevy_reflect", + "bevy_math 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", "bytemuck", "derive_more", "encase", "serde", - "wgpu-types", + "thiserror 2.0.12", + "wgpu-types 24.0.0", ] [[package]] name = "bevy_core" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9ce8da8e4016f63c1d361b52e61aaf4348c569829c74f1a5bbedfd8d3d57a3" +checksum = "0ff28118f5ae3193f7f6cab30d4fd4246ba1802776910ab256dc7c20e8696381" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_app 0.15.1", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", + "bevy_tasks 0.15.3", + "bevy_utils 0.15.3", "uuid", ] [[package]] name = "bevy_core_pipeline" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee0ff0f4723f30a5a6578915dbfe0129f2befaec8438dde70ac1fb363aee01f5" +checksum = "c0c0eea548a55fd04acf01d351bd16da4d1198037cb9c7b98dea6519f5d7dade" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", + "bevy_app 0.15.1", + "bevy_asset 0.15.1", + "bevy_color 0.15.2", "bevy_core", - "bevy_derive", - "bevy_ecs", - "bevy_image", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", + "bevy_image 0.15.1", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_render 0.15.1", + "bevy_transform 0.15.1", + "bevy_utils 0.15.3", + "bevy_window 0.15.1", "bitflags 2.9.0", "derive_more", "nonmax", @@ -502,54 +693,139 @@ dependencies = [ "smallvec", ] +[[package]] +name = "bevy_core_pipeline" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0967347cb52a5cdf03ce19a20b2afc11bbdbd1a3d5675b802b76a35964dce2f7" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_diagnostic 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", + "bitflags 2.9.0", + "bytemuck", + "nonmax", + "radsort", + "serde", + "smallvec", + "thiserror 2.0.12", + "tracing", +] + [[package]] name = "bevy_derive" version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57d94761ce947b0a2402fd949fe1e7a5b1535293130ba4cd9893be6295d4680a" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.3", + "quote", + "syn", +] + +[[package]] +name = "bevy_derive" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d5f78757eff8d91e37d14955108ce261d11d862b618acd0b0af940a226f7d7" +dependencies = [ + "bevy_macro_utils 0.16.0-rc.4", "quote", "syn", ] [[package]] name = "bevy_diagnostic" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e83c65979f063b593917ab9b1d7328c5854dba4b6ddf1ab78156c0105831fdf" +checksum = "21fe41b22fdf47bf11f0a3ca3e61975b003e86fa44d87e070f2dc7e752dd99f5" dependencies = [ - "bevy_app", + "bevy_app 0.15.1", "bevy_core", - "bevy_ecs", - "bevy_tasks", - "bevy_time", - "bevy_utils", + "bevy_ecs 0.15.1", + "bevy_tasks 0.15.3", + "bevy_time 0.15.1", + "bevy_utils 0.15.3", "const-fnv1a-hash", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78972c5da2e8d1a562499daceffa50b8445e5a909b5aa8ace743cb7f082084ac" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_tasks 0.16.0-rc.4", + "bevy_time 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "const-fnv1a-hash", + "log", + "serde", "sysinfo", ] [[package]] name = "bevy_ecs" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1597106cc01e62e6217ccb662e0748b2ce330893f27c7dc17bac33e0bb99bca9" +checksum = "b747210d7db09dfacc237707d4fd31c8b43d7744cd5e5829e2c4ca86b9e47baf" +dependencies = [ + "bevy_ecs_macros 0.15.3", + "bevy_ptr 0.15.3", + "bevy_reflect 0.15.1", + "bevy_tasks 0.15.3", + "bevy_utils 0.15.3", + "bitflags 2.9.0", + "concurrent-queue", + "derive_more", + "disqualified", + "fixedbitset 0.5.7", + "nonmax", + "petgraph 0.6.5", + "serde", + "smallvec", +] + +[[package]] +name = "bevy_ecs" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cae38412de6e3f878f393e70d10fa7c1b00822f381ea34892eed57c68dc3b6a" dependencies = [ "arrayvec", - "bevy_ecs_macros", - "bevy_ptr", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", + "bevy_ecs_macros 0.16.0-rc.4", + "bevy_platform_support", + "bevy_ptr 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "bitflags 2.9.0", + "bumpalo", "concurrent-queue", "derive_more", "disqualified", "fixedbitset 0.5.7", + "indexmap", + "log", "nonmax", - "petgraph", "serde", "smallvec", + "thiserror 2.0.12", + "variadics_please", ] [[package]] @@ -558,7 +834,19 @@ version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f453adf07712b39826bc5845e5b0887ce03204ee8359bbe6b40a9afda60564a1" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.3", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196a5034c0175a64d4daba51f8222a9c1e8d48e6b41dd66cc56e5dfe67a5aa0d" +dependencies = [ + "bevy_macro_utils 0.16.0-rc.4", "proc-macro2", "quote", "syn", @@ -570,56 +858,69 @@ version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37ad69d36bb9e8479a88d481ef9748f5d7ab676040531d751d3a44441dcede7" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.3", + "encase_derive_impl", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a0b084f47812eb4ab635675709f5cfe6ffa0b122ba56bfaebdd13d46e23af8" +dependencies = [ + "bevy_macro_utils 0.16.0-rc.4", "encase_derive_impl", ] [[package]] name = "bevy_gilrs" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a737451ccd6be5da68fbba5d984328b8a82eebd16c1fda0bec840090a3d454fd" +checksum = "dd3e2ce153a9f8bc659d4e239372fbc7c153cafc12589c10bcd97140ab2e3060" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_time", - "bevy_utils", - "derive_more", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_platform_support", + "bevy_time 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "gilrs", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_gizmos" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1614516d0922ad60e87cc39658422286ed684aaf4b3162d25051bc105eed814" +checksum = "bfe4b252378a0217824ea9f8981df6fd8c4e78590d64ce01e068954ca5fe7133" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_ecs", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", "bevy_gizmos_macros", - "bevy_image", - "bevy_math", - "bevy_pbr", - "bevy_reflect", - "bevy_render", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_pbr 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", "bevy_sprite", - "bevy_time", - "bevy_transform", - "bevy_utils", + "bevy_time 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "bytemuck", + "tracing", ] [[package]] name = "bevy_gizmos_macros" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edb9e0dca64e0fc9d6b1d9e6e2178396e339e3e2b9f751e2504e3ea4ddf4508" +checksum = "71d4b5465e40de18c6d0b9b8f03db60f1a748052138697eb81383a1f6901ccef" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.16.0-rc.4", "proc-macro2", "quote", "syn", @@ -627,130 +928,221 @@ dependencies = [ [[package]] name = "bevy_gltf" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa8364f34bc08fe067ce32418e22ee96e177101dbf1bc00803aaeb2b262615be" +checksum = "192f70193ca069df06fcfd7ed1cb61c09e571275303e6ec517d76ff4c20210f5" dependencies = [ "base64 0.22.1", "bevy_animation", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_ecs", - "bevy_hierarchy", - "bevy_image", - "bevy_math", - "bevy_pbr", - "bevy_reflect", - "bevy_render", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_mesh 0.16.0-rc.4", + "bevy_pbr 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", "bevy_scene", - "bevy_tasks", - "bevy_transform", - "bevy_utils", - "derive_more", + "bevy_tasks 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "fixedbitset 0.5.7", "gltf", + "itertools 0.14.0", "percent-encoding", "serde", "serde_json", "smallvec", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_hierarchy" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ced04e04437d0a439fe4722544c2a4678c1fe3412b57ee489d817c11884045" +checksum = "bd9aab2cd1684d30f2eedf953b6377a6416fd6b482f8145b6c05f4684bd60c3e" dependencies = [ - "bevy_app", + "bevy_app 0.15.1", "bevy_core", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", + "bevy_utils 0.15.3", "disqualified", "smallvec", ] [[package]] name = "bevy_image" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b384d1ce9c87f6151292a76233897a628c2a50b3560487c4d74472225d49826" +checksum = "8c5942a7d681b81aa9723bb1d918135c2f88e7871331f5676119c86c01984759" dependencies = [ - "bevy_asset", - "bevy_color", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_asset 0.15.1", + "bevy_color 0.15.2", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_utils 0.15.3", "bitflags 2.9.0", "bytemuck", "derive_more", "futures-lite", "image", + "serde", + "wgpu 23.0.1", +] + +[[package]] +name = "bevy_image" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "749aeaed9e736750eba3ef3b54556ab49e405eb18f190a82fcf3c4b853b03e2e" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bitflags 2.9.0", + "bytemuck", + "futures-lite", + "guillotiere", + "half", + "image", "ktx2", + "rectangle-pack", "ruzstd", "serde", - "wgpu", + "thiserror 2.0.12", + "tracing", + "wgpu-types 24.0.0", ] [[package]] name = "bevy_input" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52589939ca09695c69d629d166c5edf1759feaaf8f2078904aae9c33d08f5c3" +checksum = "a9bbf39c1d2d33350e03354a67bebee5c21973c5203b1456a9a4b90a5e6f8e75" dependencies = [ - "bevy_app", + "bevy_app 0.15.1", "bevy_core", - "bevy_ecs", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_ecs 0.15.1", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_utils 0.15.3", + "derive_more", + "smol_str", +] + +[[package]] +name = "bevy_input" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "547d4a5e175fc2bd26e0115ae37256544b8edf0892864b791031698c2d6af8ee" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "derive_more", + "log", "smol_str", + "thiserror 2.0.12", +] + +[[package]] +name = "bevy_input_focus" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79561d77e9d99a95039a601d2ffd86db1da7d5d0b25453fb32c8df4a5168eef4" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", + "log", + "thiserror 2.0.12", ] [[package]] name = "bevy_internal" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e0c1d980d276e11558184d0627c8967ad8b70dab3e54a0f377bb53b98515b6" +checksum = "fd7fc4db9a1793ee71f79abb15e7a8fcfe4e2081e5f18ed91b802bf6cf30e088" dependencies = [ - "bevy_a11y", + "bevy_app 0.15.1", + "bevy_asset 0.15.1", + "bevy_core", + "bevy_derive 0.15.3", + "bevy_diagnostic 0.15.1", + "bevy_ecs 0.15.1", + "bevy_hierarchy", + "bevy_input 0.15.1", + "bevy_log 0.15.1", + "bevy_math 0.15.1", + "bevy_pbr 0.15.1", + "bevy_ptr 0.15.3", + "bevy_reflect 0.15.1", + "bevy_render 0.15.1", + "bevy_tasks 0.15.3", + "bevy_time 0.15.1", + "bevy_transform 0.15.1", + "bevy_utils 0.15.3", + "bevy_winit 0.15.1", +] + +[[package]] +name = "bevy_internal" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efc4a4857e019fb3079d30af3a2d282b8faece3e3a8ccc0608de598478695b47" +dependencies = [ + "bevy_a11y 0.16.0-rc.4", "bevy_animation", - "bevy_app", - "bevy_asset", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", "bevy_audio", - "bevy_color", - "bevy_core", - "bevy_core_pipeline", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_diagnostic 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", "bevy_gilrs", "bevy_gizmos", "bevy_gltf", - "bevy_hierarchy", - "bevy_image", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_pbr", + "bevy_image 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_input_focus", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_pbr 0.16.0-rc.4", "bevy_picking", - "bevy_ptr", - "bevy_reflect", - "bevy_render", + "bevy_platform_support", + "bevy_ptr 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", "bevy_scene", "bevy_sprite", "bevy_state", - "bevy_tasks", + "bevy_tasks 0.16.0-rc.4", "bevy_text", - "bevy_time", - "bevy_transform", + "bevy_time 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", "bevy_ui", - "bevy_utils", - "bevy_window", - "bevy_winit", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", + "bevy_winit 0.16.0-rc.4", ] [[package]] @@ -760,7 +1152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c929e59bffeb04011aab93880623163c0f8c31c7e99d752d74ba935a53546731" dependencies = [ "anyhow", - "bevy", + "bevy 0.15.1", "kira", "parking_lot", "thiserror 2.0.12", @@ -769,14 +1161,32 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381a22e01f24af51536ef1eace94298dd555d06ffcf368125d16317f5f179cb" +checksum = "774238dcf70a0ef4d82aa2860b24b1cffdd4633f3694d3bcbfbb05c4f17ae4fe" dependencies = [ "android_log-sys", - "bevy_app", - "bevy_ecs", - "bevy_utils", + "bevy_app 0.15.1", + "bevy_ecs 0.15.1", + "bevy_utils 0.15.3", + "tracing-log", + "tracing-oslog", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_log" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b9aac9641a105556f1d28860aaed29513031849e324e0b75cd5d8aeacbee48" +dependencies = [ + "android_log-sys", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "log", + "tracing", "tracing-log", "tracing-oslog", "tracing-subscriber", @@ -795,43 +1205,101 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "bevy_macro_utils" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e910801472bfd99ecf22723c27227bd78382857425afee0ce296749cbb809c" +dependencies = [ + "parking_lot", + "proc-macro2", + "quote", + "syn", + "toml_edit", +] + [[package]] name = "bevy_math" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2650169161b64f9a93e41f13253701fdf971dc95265ed667d17bea6d2a334f" +checksum = "edec18d90e6bab27b5c6131ee03172ece75b7edd0abe4e482a26d6db906ec357" dependencies = [ - "bevy_reflect", + "bevy_reflect 0.15.1", "derive_more", "glam", - "itertools", - "rand", + "itertools 0.13.0", + "rand 0.8.5", "rand_distr", "serde", "smallvec", ] [[package]] -name = "bevy_mesh" -version = "0.15.3" +name = "bevy_math" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760f3c41b4c61a5f0d956537f454c49f79b8ed0fd0781b1a879ead8e69d95283" -dependencies = [ - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_image", - "bevy_math", - "bevy_mikktspace", - "bevy_reflect", - "bevy_transform", - "bevy_utils", +checksum = "74d395017ec71d17d2ffa05d8586a357c2d7e61b94ba8585c42990e199340070" +dependencies = [ + "approx", + "bevy_reflect 0.16.0-rc.4", + "derive_more", + "glam", + "itertools 0.14.0", + "libm", + "rand 0.8.5", + "rand_distr", + "serde", + "smallvec", + "thiserror 2.0.12", + "variadics_please", +] + +[[package]] +name = "bevy_mesh" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "183abae7c6695a80d7408c860bd737410cd66d2a9f910dafc914485da06e43dc" +dependencies = [ + "bevy_asset 0.15.1", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", + "bevy_image 0.15.1", + "bevy_math 0.15.1", + "bevy_mikktspace 0.15.3", + "bevy_reflect 0.15.1", + "bevy_transform 0.15.1", + "bevy_utils 0.15.3", "bitflags 2.9.0", "bytemuck", "derive_more", "hexasphere", "serde", - "wgpu", + "wgpu 23.0.1", +] + +[[package]] +name = "bevy_mesh" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc23f376bfaf0792292f93f028f8ac7bd573af062733cec8ec14cb278f299604" +dependencies = [ + "bevy_asset 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_mikktspace 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bitflags 2.9.0", + "bytemuck", + "hexasphere", + "serde", + "thiserror 2.0.12", + "tracing", + "wgpu-types 24.0.0", ] [[package]] @@ -844,93 +1312,200 @@ dependencies = [ ] [[package]] -name = "bevy_pbr" -version = "0.15.3" +name = "bevy_mikktspace" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4d54c840d4352dac51f2a27cf915ac99b2f93db008d8fb1be8d23b09d522acf" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_image", - "bevy_math", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", +checksum = "2c4e9675786e709d53b7b3e39ddffdf46b5f71024f8b97ec9af63d5b64d9bbfa" +dependencies = [ + "glam", +] + +[[package]] +name = "bevy_pbr" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7f17067399cf00f4441e93d39fb4c391a16cc223e0d35346ac388e66712c418" +dependencies = [ + "bevy_app 0.15.1", + "bevy_asset 0.15.1", + "bevy_color 0.15.2", + "bevy_core_pipeline 0.15.1", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", + "bevy_image 0.15.1", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_render 0.15.1", + "bevy_transform 0.15.1", + "bevy_utils 0.15.3", + "bevy_window 0.15.1", + "bitflags 2.9.0", + "bytemuck", + "derive_more", + "fixedbitset 0.5.7", + "nonmax", + "radsort", + "smallvec", + "static_assertions", +] + +[[package]] +name = "bevy_pbr" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f7b50fefef13c4ccf7d34237055dad6284c46608f59eceadba17a22d2f19b28" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_diagnostic 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "bitflags 2.9.0", "bytemuck", "derive_more", "fixedbitset 0.5.7", "nonmax", + "offset-allocator", "radsort", "smallvec", "static_assertions", + "thiserror 2.0.12", + "tracing", ] [[package]] name = "bevy_picking" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2091a495c0f9c8962abb1e30f9d99696296c332b407e1f6fe1fe28aab96a8629" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_input", - "bevy_math", - "bevy_mesh", - "bevy_reflect", - "bevy_render", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83844abfbd567b10bdb7f15a9419b0936b989cb888dbd9fc022dcfe60c8e2d48" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_mesh 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_time 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "crossbeam-channel", + "tracing", "uuid", ] +[[package]] +name = "bevy_platform_support" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e07dae2ae4e79ae57147d7fe90362af18fbace134f66c537a45a8315f4855d53" +dependencies = [ + "cfg-if", + "critical-section", + "foldhash", + "getrandom 0.2.15", + "hashbrown 0.15.2", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin", + "web-time", +] + [[package]] name = "bevy_ptr" version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89fe0b0b919146939481a3a7c38864face2c6d0fd2c73ab3d430dc693ecd9b11" +[[package]] +name = "bevy_ptr" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e0b7a509abaeec48bb12bf54b2fe4ebf85ba9a23efe69de11f699f5620d59f4" + +[[package]] +name = "bevy_reflect" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab3264acc3b6f48bc23fbd09fdfea6e5d9b7bfec142e4f3333f532acf195bca" +dependencies = [ + "assert_type_match", + "bevy_ptr 0.15.3", + "bevy_reflect_derive 0.15.1", + "bevy_utils 0.15.3", + "derive_more", + "disqualified", + "downcast-rs 1.2.1", + "erased-serde", + "glam", + "serde", + "smallvec", + "smol_str", + "uuid", +] + [[package]] name = "bevy_reflect" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ddbca0a39e88eff2c301dc794ee9d73a53f4b08d47b2c9b5a6aac182fae6217" +checksum = "5012385cdb94f09546a0e077ef4c34f951b60b8ec84da77c2f76a6346a0f9154" dependencies = [ "assert_type_match", - "bevy_ptr", - "bevy_reflect_derive", - "bevy_utils", + "bevy_platform_support", + "bevy_ptr 0.16.0-rc.4", + "bevy_reflect_derive 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 2.0.1", "erased-serde", + "foldhash", "glam", - "petgraph", + "petgraph 0.7.1", "serde", "smallvec", "smol_str", + "thiserror 2.0.12", "uuid", + "variadics_please", + "wgpu-types 24.0.0", ] [[package]] name = "bevy_reflect_derive" -version = "0.15.3" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f83876a322130ab38a47d5dcf75258944bf76b3387d1acdb3750920fda63e2" +dependencies = [ + "bevy_macro_utils 0.15.3", + "proc-macro2", + "quote", + "syn", + "uuid", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d62affb769db17d34ad0b75ff27eca94867e2acc8ea350c5eca97d102bd98709" +checksum = "cc52bd2025f1be16c1f090f5426f3c96f3528a6aa982390b6e3a5c41f79ea6b1" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.16.0-rc.4", "proc-macro2", "quote", "syn", @@ -939,49 +1514,100 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4aa9d7df5c2b65540093b8402aceec0a55d67b54606e57ce2969abe280b4c48" +checksum = "5b14d77d8ff589743237c98502c0e47fd31059cf348ab86a265c4f90bb5e2a22" dependencies = [ "async-channel", - "bevy_app", - "bevy_asset", - "bevy_color", + "bevy_app 0.15.1", + "bevy_asset 0.15.1", + "bevy_color 0.15.2", "bevy_core", - "bevy_derive", - "bevy_diagnostic", - "bevy_ecs", - "bevy_encase_derive", + "bevy_derive 0.15.3", + "bevy_diagnostic 0.15.1", + "bevy_ecs 0.15.1", + "bevy_encase_derive 0.15.3", "bevy_hierarchy", - "bevy_image", - "bevy_math", - "bevy_mesh", - "bevy_reflect", - "bevy_render_macros", - "bevy_tasks", - "bevy_time", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_image 0.15.1", + "bevy_math 0.15.1", + "bevy_mesh 0.15.1", + "bevy_reflect 0.15.1", + "bevy_render_macros 0.15.3", + "bevy_tasks 0.15.3", + "bevy_time 0.15.1", + "bevy_transform 0.15.1", + "bevy_utils 0.15.3", + "bevy_window 0.15.1", + "bytemuck", + "codespan-reporting", + "derive_more", + "downcast-rs 1.2.1", + "encase", + "futures-lite", + "image", + "js-sys", + "naga 23.1.0", + "naga_oil 0.16.0", + "nonmax", + "offset-allocator", + "send_wrapper", + "serde", + "smallvec", + "wasm-bindgen", + "web-sys", + "wgpu 23.0.1", +] + +[[package]] +name = "bevy_render" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27b75744a303dfcec8dfa320f830e814ac6736b0acb18c2c9cadee60e480a4c" +dependencies = [ + "async-channel", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_diagnostic 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_encase_derive 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_mesh 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render_macros 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_time 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", + "bitflags 2.9.0", "bytemuck", "codespan-reporting", "derive_more", - "downcast-rs", + "downcast-rs 2.0.1", "encase", + "fixedbitset 0.5.7", "futures-lite", "image", + "indexmap", "js-sys", "ktx2", - "naga", - "naga_oil", + "naga 24.0.0", + "naga_oil 0.17.0", "nonmax", "offset-allocator", "send_wrapper", "serde", "smallvec", + "thiserror 2.0.12", + "tracing", + "variadics_please", "wasm-bindgen", "web-sys", - "wgpu", + "wgpu 24.0.3", ] [[package]] @@ -990,83 +1616,98 @@ version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3469307d1b5ca5c37b7f9269be033845357412ebad33eace46826e59da592f66" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.15.3", "proc-macro2", "quote", "syn", ] [[package]] -name = "bevy_scene" -version = "0.15.3" +name = "bevy_render_macros" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdfe819202aa97bbb206d79fef83504b34d45529810563aafc2fe02cc10e3ee4" +checksum = "b9300829586bef873b33bde1e8e635504704016ae2f9c1a0d371e17c3cd3ef60" dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", + "bevy_macro_utils 0.16.0-rc.4", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_scene" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b32de0bb0357b7865079607716f659623a15a95d84a4c92b91d8cd32c1f56200" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", "derive_more", "serde", + "thiserror 2.0.12", "uuid", ] [[package]] name = "bevy_sprite" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27411a31704117002787c9e8cc1f2f89babf5e67572508aa029366d4643f8d01" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_image", - "bevy_math", +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b112a50e9c68bfafc1e7de66ec8250dcf34c325afa4a7e1c420bb464adb7671c" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", "bevy_picking", - "bevy_reflect", - "bevy_render", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "bitflags 2.9.0", "bytemuck", "derive_more", "fixedbitset 0.5.7", - "guillotiere", "nonmax", "radsort", - "rectangle-pack", + "tracing", ] [[package]] name = "bevy_state" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243a72266f81452412f7a3859e5d11473952a25767dc29c8d285660330f007ba" +checksum = "2ea5f7570b0c3f6ebe0de222aeb94575fd3a345ddb677285e9485157050d1cbf" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_hierarchy", - "bevy_reflect", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", "bevy_state_macros", - "bevy_utils", + "bevy_utils 0.16.0-rc.4", + "log", + "variadics_please", ] [[package]] name = "bevy_state_macros" -version = "0.15.3" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022eb069dfd64090fd92ba4a7f235383e49aa1c0f4320dab4999b23f67843b36" +checksum = "de272e40f641418dd784a8722e9b7491741e939374e004bf73005b50e4047eba" dependencies = [ - "bevy_macro_utils", + "bevy_macro_utils 0.16.0-rc.4", "proc-macro2", "quote", "syn", @@ -1077,102 +1718,159 @@ name = "bevy_tasks" version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "028630ddc355563bd567df1076db3515858aa26715ddf7467d2086f9b40e5ab1" +dependencies = [ + "async-executor", + "futures-channel", + "futures-lite", + "pin-project", + "wasm-bindgen-futures", +] + +[[package]] +name = "bevy_tasks" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98675766d6cadb171699652c468f8fb0a741e0f4a94e123e95d42e6e39da850" dependencies = [ "async-channel", "async-executor", + "async-task", + "atomic-waker", + "bevy_platform_support", + "cfg-if", "concurrent-queue", + "crossbeam-queue", + "derive_more", "futures-channel", "futures-lite", + "heapless", "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872b0b627cedf6d1bd97b75bc4d59c16f67afdd4f2fed8f7d808a258d6cb982e" -dependencies = [ - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_image", - "bevy_math", - "bevy_reflect", - "bevy_render", +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3925163ece7df7d3e14bf3fb16036a80e8259415f49c8920f51e84a7cd9dd78d" +dependencies = [ + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", "bevy_sprite", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "cosmic-text", - "derive_more", "serde", "smallvec", "sys-locale", + "thiserror 2.0.12", + "tracing", "unicode-bidi", ] [[package]] name = "bevy_time" -version = "0.15.3" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb3108ed1ef864bc40bc859ba4c9c3844213c7be3674f982203cf5d87c656848" +dependencies = [ + "bevy_app 0.15.1", + "bevy_ecs 0.15.1", + "bevy_reflect 0.15.1", + "bevy_utils 0.15.3", + "crossbeam-channel", +] + +[[package]] +name = "bevy_time" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2051ec56301b994f7c182a2a6eb1490038149ad46d95eee715e1a922acdfd9" +checksum = "a067ea7d90112141ff23e210bfbf2ad81d9b976d056a5878998b20c25b123017" dependencies = [ - "bevy_app", - "bevy_ecs", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", "crossbeam-channel", + "log", + "serde", ] [[package]] name = "bevy_transform" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8109b1234b0e58931f51df12bc8895daa69298575cf92da408848f79a4ce201" +checksum = "056fabcedbf0503417af69447d47a983e18c7cfb5e6b6728636be3ec285cbcfa" dependencies = [ - "bevy_app", - "bevy_ecs", + "bevy_app 0.15.1", + "bevy_ecs 0.15.1", "bevy_hierarchy", - "bevy_math", - "bevy_reflect", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", "derive_more", ] [[package]] -name = "bevy_ui" -version = "0.15.3" +name = "bevy_transform" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e534590222d044c875bf3511e5d0b3da78889bb21ad797953484ce011af77b46" +checksum = "528f8839e88dc3263bbce3b31b4367b379fd995b862641d4a64ae8e68eab2e92" dependencies = [ - "accesskit", - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_color", - "bevy_core_pipeline", - "bevy_derive", - "bevy_ecs", - "bevy_hierarchy", - "bevy_image", - "bevy_input", - "bevy_math", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_reflect 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "derive_more", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "bevy_ui" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c153da1b126e90658fb1d5938c3642640399a7576b1ccea476ef089356ad36e1" +dependencies = [ + "accesskit 0.18.0", + "bevy_a11y 0.16.0-rc.4", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_color 0.16.0-rc.4", + "bevy_core_pipeline 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", "bevy_picking", - "bevy_reflect", - "bevy_render", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_render 0.16.0-rc.4", "bevy_sprite", "bevy_text", - "bevy_transform", - "bevy_utils", - "bevy_window", + "bevy_transform 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "bytemuck", "derive_more", "nonmax", "smallvec", "taffy", + "thiserror 2.0.12", + "tracing", ] [[package]] @@ -1183,13 +1881,23 @@ checksum = "63c2174d43a0de99f863c98a472370047a2bfa7d1e5cec8d9d647fb500905d9d" dependencies = [ "ahash", "bevy_utils_proc_macros", - "getrandom", + "getrandom 0.2.15", "hashbrown 0.14.5", "thread_local", "tracing", "web-time", ] +[[package]] +name = "bevy_utils" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee384d4ed938bc91591f551f103c1f1822a60ea731dfc17362e9d149d681c13" +dependencies = [ + "bevy_platform_support", + "thread_local", +] + [[package]] name = "bevy_utils_proc_macros" version = "0.15.3" @@ -1203,52 +1911,103 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.15.3" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36139955777cc9e7a40a97833ff3a95b7401ce525a3dbac05fc52557968b31a7" +dependencies = [ + "android-activity", + "bevy_a11y 0.15.1", + "bevy_app 0.15.1", + "bevy_ecs 0.15.1", + "bevy_input 0.15.1", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_utils 0.15.3", + "raw-window-handle", + "smol_str", +] + +[[package]] +name = "bevy_window" +version = "0.16.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e1e7c6713c04404a3e7cede48a9c47b76c30efc764664ec1246147f6fb9878" +checksum = "48526511ab22a044e1e8fe692e18e0f4038bc6082396cb804c452c6526b60860" dependencies = [ "android-activity", - "bevy_a11y", - "bevy_app", - "bevy_ecs", - "bevy_input", - "bevy_math", - "bevy_reflect", - "bevy_utils", + "bevy_app 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "log", "raw-window-handle", + "serde", "smol_str", ] [[package]] name = "bevy_winit" -version = "0.15.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e158a73d6d896b1600a61bc115017707ecb467d1a5ad49231c5e58294f6f6e13" +checksum = "36e84e7f94583cac93de4ba641029eb0b6551d35e559c829209f2b1b9fe532d8" dependencies = [ - "accesskit", - "accesskit_winit", + "accesskit 0.17.1", + "accesskit_winit 0.23.1", "approx", - "bevy_a11y", - "bevy_app", - "bevy_asset", - "bevy_derive", - "bevy_ecs", + "bevy_a11y 0.15.1", + "bevy_app 0.15.1", + "bevy_derive 0.15.3", + "bevy_ecs 0.15.1", "bevy_hierarchy", - "bevy_image", - "bevy_input", - "bevy_log", - "bevy_math", - "bevy_reflect", - "bevy_tasks", - "bevy_utils", - "bevy_window", + "bevy_input 0.15.1", + "bevy_log 0.15.1", + "bevy_math 0.15.1", + "bevy_reflect 0.15.1", + "bevy_tasks 0.15.3", + "bevy_utils 0.15.3", + "bevy_window 0.15.1", + "cfg-if", + "crossbeam-channel", + "raw-window-handle", + "wasm-bindgen", + "web-sys", + "winit", +] + +[[package]] +name = "bevy_winit" +version = "0.16.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04429e9ad430bcc9283695564d950135fcf2c69f7a900d5d242fbe2f6d78826c" +dependencies = [ + "accesskit 0.18.0", + "accesskit_winit 0.25.0", + "approx", + "bevy_a11y 0.16.0-rc.4", + "bevy_app 0.16.0-rc.4", + "bevy_asset 0.16.0-rc.4", + "bevy_derive 0.16.0-rc.4", + "bevy_ecs 0.16.0-rc.4", + "bevy_image 0.16.0-rc.4", + "bevy_input 0.16.0-rc.4", + "bevy_input_focus", + "bevy_log 0.16.0-rc.4", + "bevy_math 0.16.0-rc.4", + "bevy_platform_support", + "bevy_reflect 0.16.0-rc.4", + "bevy_tasks 0.16.0-rc.4", + "bevy_utils 0.16.0-rc.4", + "bevy_window 0.16.0-rc.4", "bytemuck", "cfg-if", "crossbeam-channel", "raw-window-handle", + "tracing", "wasm-bindgen", "web-sys", - "wgpu-types", + "wgpu-types 24.0.0", "winit", ] @@ -1261,7 +2020,7 @@ dependencies = [ "bitflags 2.9.0", "cexpr", "clang-sys", - "itertools", + "itertools 0.13.0", "log", "prettyplease", "proc-macro2", @@ -1498,6 +2257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] @@ -1531,7 +2291,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom", + "getrandom 0.2.15", "once_cell", "tiny-keccak", ] @@ -1635,18 +2395,18 @@ dependencies = [ [[package]] name = "cosmic-text" -version = "0.12.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fd57d82eb4bfe7ffa9b1cec0c05e2fd378155b47f255a67983cb4afe0e80c2" +checksum = "e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892" dependencies = [ "bitflags 2.9.0", "fontdb", "log", "rangemap", - "rayon", "rustc-hash", "rustybuzz", "self_cell", + "smol_str", "swash", "sys-locale", "ttf-parser 0.21.1", @@ -1689,29 +2449,25 @@ dependencies = [ ] [[package]] -name = "crossbeam-channel" -version = "0.5.14" +name = "critical-section" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" -dependencies = [ - "crossbeam-utils", -] +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] -name = "crossbeam-deque" -version = "0.8.6" +name = "crossbeam-channel" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" dependencies = [ - "crossbeam-epoch", "crossbeam-utils", ] [[package]] -name = "crossbeam-epoch" -version = "0.9.18" +name = "crossbeam-queue" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] @@ -1813,6 +2569,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downcast-rs" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" + [[package]] name = "dpi" version = "0.1.1" @@ -1979,9 +2741,9 @@ checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "font-types" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +checksum = "1fa6a5e5a77b5f3f7f9e32879f484aa5b3632ddfbe568a16266c904a6f32cdaf" dependencies = [ "bytemuck", ] @@ -2089,10 +2851,22 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + [[package]] name = "gilrs" version = "0.11.0" @@ -2140,13 +2914,14 @@ dependencies = [ [[package]] name = "glam" -version = "0.29.2" +version = "0.29.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" +checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" dependencies = [ "bytemuck", + "libm", "mint", - "rand", + "rand 0.8.5", "serde", ] @@ -2168,6 +2943,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "glow" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "gltf" version = "1.4.1" @@ -2266,9 +3053,9 @@ dependencies = [ [[package]] name = "grid" -version = "0.14.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" +checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" [[package]] name = "guillotiere" @@ -2280,6 +3067,25 @@ dependencies = [ "svg_fmt", ] +[[package]] +name = "half" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hash32" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.14.5" @@ -2297,9 +3103,28 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "equivalent", "foldhash", + "serde", +] + +[[package]] +name = "heapless" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" +dependencies = [ + "hash32", + "portable-atomic", + "stable_deref_trait", ] +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.4.0" @@ -2352,6 +3177,7 @@ checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown 0.15.2", + "serde", ] [[package]] @@ -2399,6 +3225,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.15" @@ -2507,9 +3342,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.170" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -2633,6 +3468,21 @@ dependencies = [ "paste", ] +[[package]] +name = "metal" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" +dependencies = [ + "bitflags 2.9.0", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[package]] name = "minimal-lexical" version = "0.2.1" @@ -2659,21 +3509,43 @@ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" name = "mobile" version = "0.1.0" dependencies = [ - "bevy", + "bevy 0.15.1", "bevy_kira_audio", "tempo-trainer", ] [[package]] name = "naga" -version = "23.1.0" +version = "23.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" +dependencies = [ + "arrayvec", + "bit-set 0.8.0", + "bitflags 2.9.0", + "cfg_aliases 0.1.1", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "pp-rs", + "rustc-hash", + "spirv", + "termcolor", + "thiserror 1.0.69", + "unicode-xid", +] + +[[package]] +name = "naga" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec", "bit-set 0.8.0", "bitflags 2.9.0", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "codespan-reporting", "hexf-parse", "indexmap", @@ -2681,8 +3553,9 @@ dependencies = [ "pp-rs", "rustc-hash", "spirv", + "strum", "termcolor", - "thiserror 1.0.69", + "thiserror 2.0.12", "unicode-xid", ] @@ -2696,7 +3569,27 @@ dependencies = [ "codespan-reporting", "data-encoding", "indexmap", - "naga", + "naga 23.1.0", + "once_cell", + "regex", + "regex-syntax 0.8.5", + "rustc-hash", + "thiserror 1.0.69", + "tracing", + "unicode-ident", +] + +[[package]] +name = "naga_oil" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca507a365f886f95f74420361b75442a3709c747a8a6e8b6c45b8667f45a82c" +dependencies = [ + "bit-set 0.5.3", + "codespan-reporting", + "data-encoding", + "indexmap", + "naga 24.0.0", "once_cell", "regex", "regex-syntax 0.8.5", @@ -2925,6 +3818,15 @@ dependencies = [ "objc2-foundation", ] +[[package]] +name = "objc2-core-foundation" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daeaf60f25471d26948a1c2f840e3f7d86f4109e3af4e8e4b5cd70c39690d925" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "objc2-core-image" version = "0.2.2" @@ -3117,6 +4019,15 @@ dependencies = [ "libredox", ] +[[package]] +name = "ordered-float" +version = "4.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +dependencies = [ + "num-traits", +] + [[package]] name = "overload" version = "0.1.1" @@ -3172,6 +4083,16 @@ checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", "indexmap", +] + +[[package]] +name = "petgraph" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" +dependencies = [ + "fixedbitset 0.5.7", + "indexmap", "serde", "serde_derive", ] @@ -3247,6 +4168,21 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "portable-atomic" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + [[package]] name = "pp-rs" version = "0.2.1" @@ -3262,7 +4198,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy 0.7.35", ] [[package]] @@ -3314,6 +4250,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radsort" version = "0.1.1" @@ -3327,8 +4269,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy 0.8.24", ] [[package]] @@ -3338,7 +4291,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -3347,7 +4310,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", ] [[package]] @@ -3357,7 +4329,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand", + "rand 0.8.5", ] [[package]] @@ -3378,31 +4350,11 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - [[package]] name = "read-fonts" -version = "0.22.7" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f" +checksum = "f6f9e8a4f503e5c8750e4cd3b32a4e090035c46374b305a15c70bad833dca05f" dependencies = [ "bytemuck", "font-types", @@ -3493,13 +4445,12 @@ dependencies = [ [[package]] name = "rodio" -version = "0.19.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6006a627c1a38d37f3d3a85c6575418cfe34a5392d60a686d0071e1c8d427acb" +checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" dependencies = [ "cpal", "lewton", - "thiserror 1.0.69", ] [[package]] @@ -3564,9 +4515,9 @@ dependencies = [ [[package]] name = "ruzstd" -version = "0.7.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" +checksum = "c581601827da5c717bfae77d7b187e54293d23d8fb6b700b4b5e9b5828a13cc3" dependencies = [ "twox-hash", ] @@ -3659,9 +4610,9 @@ checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "skrifa" -version = "0.22.3" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +checksum = "8cc1aa86c26dbb1b63875a7180aa0819709b33348eb5b1491e4321fae388179d" dependencies = [ "bytemuck", "read-fonts", @@ -3700,6 +4651,15 @@ dependencies = [ "serde", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "portable-atomic", +] + [[package]] name = "spirv" version = "0.3.0+sdk-1.3.268.0" @@ -3709,6 +4669,12 @@ dependencies = [ "bitflags 2.9.0", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "stackfuture" version = "0.3.0" @@ -3721,6 +4687,28 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + [[package]] name = "svg_fmt" version = "0.4.4" @@ -3729,9 +4717,9 @@ checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" [[package]] name = "swash" -version = "0.1.19" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +checksum = "fae9a562c7b46107d9c78cd78b75bbe1e991c16734c0aee8ff0ee711fb8b620a" dependencies = [ "skrifa", "yazi", @@ -3831,26 +4819,25 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.32.1" +version = "0.34.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" +checksum = "a4b93974b3d3aeaa036504b8eefd4c039dced109171c1ae973f1dc63b2c7e4b2" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", + "objc2-core-foundation", "windows 0.57.0", ] [[package]] name = "taffy" -version = "0.5.2" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cb893bff0f80ae17d3a57e030622a967b8dbc90e38284d9b4b1442e23873c94" +checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" dependencies = [ "arrayvec", "grid", - "num-traits", "serde", "slotmap", ] @@ -3859,7 +4846,7 @@ dependencies = [ name = "tempo-trainer" version = "0.1.0" dependencies = [ - "bevy", + "bevy 0.16.0-rc.4", "log", ] @@ -4073,13 +5060,9 @@ checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] +checksum = "e7b17f197b3050ba473acf9181f7b1d3b66d1cf7356c6cc57886662276e65908" [[package]] name = "typeid" @@ -4149,13 +5132,15 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "uuid" -version = "1.12.1" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3758f5e68192bb96cc8f9b7e2c2cfdabb435499a28499a42f8f984092adad4b" +checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" dependencies = [ - "getrandom", - "rand", + "getrandom 0.3.2", + "js-sys", + "rand 0.9.0", "serde", + "wasm-bindgen", ] [[package]] @@ -4164,6 +5149,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "variadics_please" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "vec_map" version = "0.8.2" @@ -4192,6 +5188,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.100" @@ -4294,7 +5299,33 @@ dependencies = [ "document-features", "js-sys", "log", - "naga", + "naga 23.1.0", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core 23.0.1", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", +] + +[[package]] +name = "wgpu" +version = "24.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35904fb00ba2d2e0a4d002fcbbb6e1b89b574d272a50e5fc95f6e81cf281c245" +dependencies = [ + "arrayvec", + "bitflags 2.9.0", + "cfg_aliases 0.2.1", + "document-features", + "js-sys", + "log", + "naga 24.0.0", "parking_lot", "profiling", "raw-window-handle", @@ -4303,9 +5334,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", + "wgpu-core 24.0.2", + "wgpu-hal 24.0.4", + "wgpu-types 24.0.0", ] [[package]] @@ -4321,7 +5352,7 @@ dependencies = [ "document-features", "indexmap", "log", - "naga", + "naga 23.1.0", "once_cell", "parking_lot", "profiling", @@ -4329,8 +5360,33 @@ dependencies = [ "rustc-hash", "smallvec", "thiserror 1.0.69", - "wgpu-hal", - "wgpu-types", + "wgpu-hal 23.0.1", + "wgpu-types 23.0.0", +] + +[[package]] +name = "wgpu-core" +version = "24.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "671c25545d479b47d3f0a8e373aceb2060b67c6eb841b24ac8c32348151c7a0c" +dependencies = [ + "arrayvec", + "bit-vec 0.8.0", + "bitflags 2.9.0", + "cfg_aliases 0.2.1", + "document-features", + "indexmap", + "log", + "naga 24.0.0", + "once_cell", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror 2.0.12", + "wgpu-hal 24.0.4", + "wgpu-types 24.0.0", ] [[package]] @@ -4348,7 +5404,7 @@ dependencies = [ "bytemuck", "cfg_aliases 0.1.1", "core-graphics-types", - "glow", + "glow 0.14.2", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", @@ -4358,8 +5414,8 @@ dependencies = [ "libc", "libloading", "log", - "metal", - "naga", + "metal 0.29.0", + "naga 23.1.0", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -4373,7 +5429,53 @@ dependencies = [ "thiserror 1.0.69", "wasm-bindgen", "web-sys", - "wgpu-types", + "wgpu-types 23.0.0", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] +name = "wgpu-hal" +version = "24.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set 0.8.0", + "bitflags 2.9.0", + "block", + "bytemuck", + "cfg_aliases 0.2.1", + "core-graphics-types", + "glow 0.16.0", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "js-sys", + "khronos-egl", + "libc", + "libloading", + "log", + "metal 0.31.0", + "naga 24.0.0", + "ndk-sys 0.5.0+25.2.9519653", + "objc", + "once_cell", + "ordered-float", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror 2.0.12", + "wasm-bindgen", + "web-sys", + "wgpu-types 24.0.0", "windows 0.58.0", "windows-core 0.58.0", ] @@ -4389,6 +5491,19 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wgpu-types" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" +dependencies = [ + "bitflags 2.9.0", + "js-sys", + "log", + "serde", + "web-sys", +] + [[package]] name = "winapi" version = "0.3.9" @@ -4948,6 +6063,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -5007,15 +6131,15 @@ checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" [[package]] name = "yazi" -version = "0.1.6" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" [[package]] name = "zeno" -version = "0.2.3" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" +checksum = "cc0de2315dc13d00e5df3cd6b8d2124a6eaec6a2d4b6a1c5f37b7efad17fcc17" [[package]] name = "zerocopy" @@ -5024,7 +6148,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +dependencies = [ + "zerocopy-derive 0.8.24", ] [[package]] @@ -5037,3 +6170,14 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zerocopy-derive" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 51a054e..8a342f8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ edition = "2024" members = ["mobile"] [dependencies] -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16.0-rc.4", default-features = false, features = [ "animation", "bevy_asset", "bevy_color", diff --git a/src/lib.rs b/src/lib.rs index 27da579..444ef87 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,9 @@ -use std::collections::VecDeque; - -use bevy::utils::{Duration, Instant}; +use std::{collections::VecDeque, time::Duration}; use bevy::{ color::palettes::basic::*, diagnostic::{DiagnosticsStore, EntityCountDiagnosticsPlugin, FrameTimeDiagnosticsPlugin}, + platform_support::time::Instant, prelude::*, render::{camera::ScalingMode, mesh::CircleMeshBuilder}, }; @@ -97,35 +96,38 @@ pub struct GamePlugin; impl Plugin for GamePlugin { fn build(&self, app: &mut App) { - app.add_plugins((FrameTimeDiagnosticsPlugin, EntityCountDiagnosticsPlugin)) - .insert_resource(Time::::from_duration(from_bpm(90.0))) - .insert_resource(LastTick(Instant::now())) - .insert_resource(Division(1)) - .insert_resource(TapDeltas(VecDeque::new())) - .insert_resource(Mute::default()) - .insert_resource(HideBarChart(false)) - .insert_resource(HideClock(false)) - .add_systems(Startup, setup) - .add_systems(FixedUpdate, metronome) - .add_systems( - Update, - ( - control, - clock, - set_status_text, - set_bins, - set_clock_legend, - diagnostics_text_update_system, - hide_bar_chart, - hide_clock, - button_system, - set_audio_indices, - set_statistics, - set_clock_delta, - ), - ) - // Set tap sound before tap - .add_systems(Update, (index_button_system, tap).chain()); + app.add_plugins(( + FrameTimeDiagnosticsPlugin::default(), + EntityCountDiagnosticsPlugin, + )) + .insert_resource(Time::::from_duration(from_bpm(90.0))) + .insert_resource(LastTick(Instant::now())) + .insert_resource(Division(1)) + .insert_resource(TapDeltas(VecDeque::new())) + .insert_resource(Mute::default()) + .insert_resource(HideBarChart(false)) + .insert_resource(HideClock(false)) + .add_systems(Startup, setup) + .add_systems(FixedUpdate, metronome) + .add_systems( + Update, + ( + control, + clock, + set_status_text, + set_bins, + set_clock_legend, + diagnostics_text_update_system, + hide_bar_chart, + hide_clock, + button_system, + set_audio_indices, + set_statistics, + set_clock_delta, + ), + ) + // Set tap sound before tap + .add_systems(Update, (index_button_system, tap).chain()); } } From 2b61be5fc80fe1ed468d1be1282c8ecc3884cf99 Mon Sep 17 00:00:00 2001 From: hatoo Date: Sat, 12 Apr 2025 16:43:19 +0900 Subject: [PATCH 2/5] web --- Cargo.lock | 621 ++++++---------------------------------------- mobile/Cargo.toml | 10 +- 2 files changed, 87 insertions(+), 544 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 99cdd78..498f364 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,17 +14,6 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" -[[package]] -name = "accesskit_consumer" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" -dependencies = [ - "accesskit 0.17.1", - "hashbrown 0.15.2", - "immutable-chunkmap", -] - [[package]] name = "accesskit_consumer" version = "0.27.0" @@ -36,20 +25,6 @@ dependencies = [ "immutable-chunkmap", ] -[[package]] -name = "accesskit_macos" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" -dependencies = [ - "accesskit 0.17.1", - "accesskit_consumer 0.26.0", - "hashbrown 0.15.2", - "objc2", - "objc2-app-kit", - "objc2-foundation", -] - [[package]] name = "accesskit_macos" version = "0.19.0" @@ -57,28 +32,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" dependencies = [ "accesskit 0.18.0", - "accesskit_consumer 0.27.0", + "accesskit_consumer", "hashbrown 0.15.2", "objc2", "objc2-app-kit", "objc2-foundation", ] -[[package]] -name = "accesskit_windows" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" -dependencies = [ - "accesskit 0.17.1", - "accesskit_consumer 0.26.0", - "hashbrown 0.15.2", - "paste", - "static_assertions", - "windows 0.58.0", - "windows-core 0.58.0", -] - [[package]] name = "accesskit_windows" version = "0.25.0" @@ -86,7 +46,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" dependencies = [ "accesskit 0.18.0", - "accesskit_consumer 0.27.0", + "accesskit_consumer", "hashbrown 0.15.2", "paste", "static_assertions", @@ -94,19 +54,6 @@ dependencies = [ "windows-core 0.58.0", ] -[[package]] -name = "accesskit_winit" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" -dependencies = [ - "accesskit 0.17.1", - "accesskit_macos 0.18.1", - "accesskit_windows 0.24.1", - "raw-window-handle", - "winit", -] - [[package]] name = "accesskit_winit" version = "0.25.0" @@ -114,8 +61,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" dependencies = [ "accesskit 0.18.0", - "accesskit_macos 0.19.0", - "accesskit_windows 0.25.0", + "accesskit_macos", + "accesskit_windows", "raw-window-handle", "winit", ] @@ -435,15 +382,15 @@ checksum = "e6ed7f10e5a04392c7a85612d32a682c966bfd20ec7cd10c9e301e8fb8284397" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", + "bevy_color", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", "bevy_log 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", - "bevy_mesh 0.16.0-rc.4", + "bevy_mesh", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_time 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", @@ -621,21 +568,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "bevy_color" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00aa2966c7ca0c7dd39f5ba8f3b1eaa5c2005a93ffdefb7a4090150d8327678" -dependencies = [ - "bevy_math 0.15.1", - "bevy_reflect 0.15.1", - "bytemuck", - "derive_more", - "encase", - "serde", - "wgpu-types 23.0.0", -] - [[package]] name = "bevy_color" version = "0.16.0-rc.4" @@ -649,7 +581,7 @@ dependencies = [ "encase", "serde", "thiserror 2.0.12", - "wgpu-types 24.0.0", + "wgpu-types", ] [[package]] @@ -666,33 +598,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "bevy_core_pipeline" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c0eea548a55fd04acf01d351bd16da4d1198037cb9c7b98dea6519f5d7dade" -dependencies = [ - "bevy_app 0.15.1", - "bevy_asset 0.15.1", - "bevy_color 0.15.2", - "bevy_core", - "bevy_derive 0.15.3", - "bevy_ecs 0.15.1", - "bevy_image 0.15.1", - "bevy_math 0.15.1", - "bevy_reflect 0.15.1", - "bevy_render 0.15.1", - "bevy_transform 0.15.1", - "bevy_utils 0.15.3", - "bevy_window 0.15.1", - "bitflags 2.9.0", - "derive_more", - "nonmax", - "radsort", - "serde", - "smallvec", -] - [[package]] name = "bevy_core_pipeline" version = "0.16.0-rc.4" @@ -701,15 +606,15 @@ checksum = "0967347cb52a5cdf03ce19a20b2afc11bbdbd1a3d5675b802b76a35964dce2f7" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", + "bevy_color", "bevy_derive 0.16.0-rc.4", "bevy_diagnostic 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_math 0.16.0-rc.4", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", "bevy_window 0.16.0-rc.4", @@ -852,16 +757,6 @@ dependencies = [ "syn", ] -[[package]] -name = "bevy_encase_derive" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37ad69d36bb9e8479a88d481ef9748f5d7ab676040531d751d3a44441dcede7" -dependencies = [ - "bevy_macro_utils 0.15.3", - "encase_derive_impl", -] - [[package]] name = "bevy_encase_derive" version = "0.16.0-rc.4" @@ -897,15 +792,15 @@ checksum = "bfe4b252378a0217824ea9f8981df6fd8c4e78590d64ce01e068954ca5fe7133" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_ecs 0.16.0-rc.4", "bevy_gizmos_macros", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_math 0.16.0-rc.4", - "bevy_pbr 0.16.0-rc.4", + "bevy_pbr", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_sprite", "bevy_time 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", @@ -936,17 +831,17 @@ dependencies = [ "bevy_animation", "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_log 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", - "bevy_mesh 0.16.0-rc.4", - "bevy_pbr 0.16.0-rc.4", + "bevy_mesh", + "bevy_pbr", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_scene", "bevy_tasks 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", @@ -977,26 +872,6 @@ dependencies = [ "smallvec", ] -[[package]] -name = "bevy_image" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c5942a7d681b81aa9723bb1d918135c2f88e7871331f5676119c86c01984759" -dependencies = [ - "bevy_asset 0.15.1", - "bevy_color 0.15.2", - "bevy_math 0.15.1", - "bevy_reflect 0.15.1", - "bevy_utils 0.15.3", - "bitflags 2.9.0", - "bytemuck", - "derive_more", - "futures-lite", - "image", - "serde", - "wgpu 23.0.1", -] - [[package]] name = "bevy_image" version = "0.16.0-rc.4" @@ -1005,7 +880,7 @@ checksum = "749aeaed9e736750eba3ef3b54556ab49e405eb18f190a82fcf3c4b853b03e2e" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", + "bevy_color", "bevy_math 0.16.0-rc.4", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", @@ -1022,7 +897,7 @@ dependencies = [ "serde", "thiserror 2.0.12", "tracing", - "wgpu-types 24.0.0", + "wgpu-types", ] [[package]] @@ -1091,15 +966,12 @@ dependencies = [ "bevy_input 0.15.1", "bevy_log 0.15.1", "bevy_math 0.15.1", - "bevy_pbr 0.15.1", "bevy_ptr 0.15.3", "bevy_reflect 0.15.1", - "bevy_render 0.15.1", "bevy_tasks 0.15.3", "bevy_time 0.15.1", "bevy_transform 0.15.1", "bevy_utils 0.15.3", - "bevy_winit 0.15.1", ] [[package]] @@ -1113,25 +985,25 @@ dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", "bevy_audio", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_derive 0.16.0-rc.4", "bevy_diagnostic 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", "bevy_gilrs", "bevy_gizmos", "bevy_gltf", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_input 0.16.0-rc.4", "bevy_input_focus", "bevy_log 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", - "bevy_pbr 0.16.0-rc.4", + "bevy_pbr", "bevy_picking", "bevy_platform_support", "bevy_ptr 0.16.0-rc.4", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_scene", "bevy_sprite", "bevy_state", @@ -1142,7 +1014,7 @@ dependencies = [ "bevy_ui", "bevy_utils 0.16.0-rc.4", "bevy_window 0.16.0-rc.4", - "bevy_winit 0.16.0-rc.4", + "bevy_winit", ] [[package]] @@ -1254,29 +1126,6 @@ dependencies = [ "variadics_please", ] -[[package]] -name = "bevy_mesh" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "183abae7c6695a80d7408c860bd737410cd66d2a9f910dafc914485da06e43dc" -dependencies = [ - "bevy_asset 0.15.1", - "bevy_derive 0.15.3", - "bevy_ecs 0.15.1", - "bevy_image 0.15.1", - "bevy_math 0.15.1", - "bevy_mikktspace 0.15.3", - "bevy_reflect 0.15.1", - "bevy_transform 0.15.1", - "bevy_utils 0.15.3", - "bitflags 2.9.0", - "bytemuck", - "derive_more", - "hexasphere", - "serde", - "wgpu 23.0.1", -] - [[package]] name = "bevy_mesh" version = "0.16.0-rc.4" @@ -1286,9 +1135,9 @@ dependencies = [ "bevy_asset 0.16.0-rc.4", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_math 0.16.0-rc.4", - "bevy_mikktspace 0.16.0-rc.4", + "bevy_mikktspace", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", @@ -1299,16 +1148,7 @@ dependencies = [ "serde", "thiserror 2.0.12", "tracing", - "wgpu-types 24.0.0", -] - -[[package]] -name = "bevy_mikktspace" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226f663401069ded4352ed1472a85bb1f43e2b7305d6a50e53a4f6508168e380" -dependencies = [ - "glam", + "wgpu-types", ] [[package]] @@ -1320,35 +1160,6 @@ dependencies = [ "glam", ] -[[package]] -name = "bevy_pbr" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f17067399cf00f4441e93d39fb4c391a16cc223e0d35346ac388e66712c418" -dependencies = [ - "bevy_app 0.15.1", - "bevy_asset 0.15.1", - "bevy_color 0.15.2", - "bevy_core_pipeline 0.15.1", - "bevy_derive 0.15.3", - "bevy_ecs 0.15.1", - "bevy_image 0.15.1", - "bevy_math 0.15.1", - "bevy_reflect 0.15.1", - "bevy_render 0.15.1", - "bevy_transform 0.15.1", - "bevy_utils 0.15.3", - "bevy_window 0.15.1", - "bitflags 2.9.0", - "bytemuck", - "derive_more", - "fixedbitset 0.5.7", - "nonmax", - "radsort", - "smallvec", - "static_assertions", -] - [[package]] name = "bevy_pbr" version = "0.16.0-rc.4" @@ -1357,16 +1168,16 @@ checksum = "8f7b50fefef13c4ccf7d34237055dad6284c46608f59eceadba17a22d2f19b28" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_derive 0.16.0-rc.4", "bevy_diagnostic 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_math 0.16.0-rc.4", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", "bevy_window 0.16.0-rc.4", @@ -1395,10 +1206,10 @@ dependencies = [ "bevy_ecs 0.16.0-rc.4", "bevy_input 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", - "bevy_mesh 0.16.0-rc.4", + "bevy_mesh", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_time 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", @@ -1483,7 +1294,7 @@ dependencies = [ "thiserror 2.0.12", "uuid", "variadics_please", - "wgpu-types 24.0.0", + "wgpu-types", ] [[package]] @@ -1512,52 +1323,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "bevy_render" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b14d77d8ff589743237c98502c0e47fd31059cf348ab86a265c4f90bb5e2a22" -dependencies = [ - "async-channel", - "bevy_app 0.15.1", - "bevy_asset 0.15.1", - "bevy_color 0.15.2", - "bevy_core", - "bevy_derive 0.15.3", - "bevy_diagnostic 0.15.1", - "bevy_ecs 0.15.1", - "bevy_encase_derive 0.15.3", - "bevy_hierarchy", - "bevy_image 0.15.1", - "bevy_math 0.15.1", - "bevy_mesh 0.15.1", - "bevy_reflect 0.15.1", - "bevy_render_macros 0.15.3", - "bevy_tasks 0.15.3", - "bevy_time 0.15.1", - "bevy_transform 0.15.1", - "bevy_utils 0.15.3", - "bevy_window 0.15.1", - "bytemuck", - "codespan-reporting", - "derive_more", - "downcast-rs 1.2.1", - "encase", - "futures-lite", - "image", - "js-sys", - "naga 23.1.0", - "naga_oil 0.16.0", - "nonmax", - "offset-allocator", - "send_wrapper", - "serde", - "smallvec", - "wasm-bindgen", - "web-sys", - "wgpu 23.0.1", -] - [[package]] name = "bevy_render" version = "0.16.0-rc.4" @@ -1567,17 +1332,17 @@ dependencies = [ "async-channel", "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", + "bevy_color", "bevy_derive 0.16.0-rc.4", "bevy_diagnostic 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_encase_derive 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_encase_derive", + "bevy_image", "bevy_math 0.16.0-rc.4", - "bevy_mesh 0.16.0-rc.4", + "bevy_mesh", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render_macros 0.16.0-rc.4", + "bevy_render_macros", "bevy_tasks 0.16.0-rc.4", "bevy_time 0.16.0-rc.4", "bevy_transform 0.16.0-rc.4", @@ -1595,8 +1360,8 @@ dependencies = [ "indexmap", "js-sys", "ktx2", - "naga 24.0.0", - "naga_oil 0.17.0", + "naga", + "naga_oil", "nonmax", "offset-allocator", "send_wrapper", @@ -1607,19 +1372,7 @@ dependencies = [ "variadics_please", "wasm-bindgen", "web-sys", - "wgpu 24.0.3", -] - -[[package]] -name = "bevy_render_macros" -version = "0.15.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3469307d1b5ca5c37b7f9269be033845357412ebad33eace46826e59da592f66" -dependencies = [ - "bevy_macro_utils 0.15.3", - "proc-macro2", - "quote", - "syn", + "wgpu", ] [[package]] @@ -1646,7 +1399,7 @@ dependencies = [ "bevy_ecs 0.16.0-rc.4", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", "derive_more", @@ -1663,16 +1416,16 @@ checksum = "b112a50e9c68bfafc1e7de66ec8250dcf34c325afa4a7e1c420bb464adb7671c" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_math 0.16.0-rc.4", "bevy_picking", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", "bevy_window 0.16.0-rc.4", @@ -1756,15 +1509,15 @@ checksum = "3925163ece7df7d3e14bf3fb16036a80e8259415f49c8920f51e84a7cd9dd78d" dependencies = [ "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", + "bevy_color", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_log 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_sprite", "bevy_transform 0.16.0-rc.4", "bevy_utils 0.16.0-rc.4", @@ -1848,17 +1601,17 @@ dependencies = [ "bevy_a11y 0.16.0-rc.4", "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", - "bevy_color 0.16.0-rc.4", - "bevy_core_pipeline 0.16.0-rc.4", + "bevy_color", + "bevy_core_pipeline", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_input 0.16.0-rc.4", "bevy_math 0.16.0-rc.4", "bevy_picking", "bevy_platform_support", "bevy_reflect 0.16.0-rc.4", - "bevy_render 0.16.0-rc.4", + "bevy_render", "bevy_sprite", "bevy_text", "bevy_transform 0.16.0-rc.4", @@ -1947,35 +1700,6 @@ dependencies = [ "smol_str", ] -[[package]] -name = "bevy_winit" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36e84e7f94583cac93de4ba641029eb0b6551d35e559c829209f2b1b9fe532d8" -dependencies = [ - "accesskit 0.17.1", - "accesskit_winit 0.23.1", - "approx", - "bevy_a11y 0.15.1", - "bevy_app 0.15.1", - "bevy_derive 0.15.3", - "bevy_ecs 0.15.1", - "bevy_hierarchy", - "bevy_input 0.15.1", - "bevy_log 0.15.1", - "bevy_math 0.15.1", - "bevy_reflect 0.15.1", - "bevy_tasks 0.15.3", - "bevy_utils 0.15.3", - "bevy_window 0.15.1", - "cfg-if", - "crossbeam-channel", - "raw-window-handle", - "wasm-bindgen", - "web-sys", - "winit", -] - [[package]] name = "bevy_winit" version = "0.16.0-rc.4" @@ -1983,14 +1707,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04429e9ad430bcc9283695564d950135fcf2c69f7a900d5d242fbe2f6d78826c" dependencies = [ "accesskit 0.18.0", - "accesskit_winit 0.25.0", + "accesskit_winit", "approx", "bevy_a11y 0.16.0-rc.4", "bevy_app 0.16.0-rc.4", "bevy_asset 0.16.0-rc.4", "bevy_derive 0.16.0-rc.4", "bevy_ecs 0.16.0-rc.4", - "bevy_image 0.16.0-rc.4", + "bevy_image", "bevy_input 0.16.0-rc.4", "bevy_input_focus", "bevy_log 0.16.0-rc.4", @@ -2007,7 +1731,7 @@ dependencies = [ "tracing", "wasm-bindgen", "web-sys", - "wgpu-types 24.0.0", + "wgpu-types", "winit", ] @@ -2207,12 +1931,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - [[package]] name = "cfg_aliases" version = "0.2.1" @@ -2931,18 +2649,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" -[[package]] -name = "glow" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "glow" version = "0.16.0" @@ -3453,21 +3159,6 @@ dependencies = [ "libc", ] -[[package]] -name = "metal" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" -dependencies = [ - "bitflags 2.9.0", - "block", - "core-graphics-types", - "foreign-types", - "log", - "objc", - "paste", -] - [[package]] name = "metal" version = "0.31.0" @@ -3509,33 +3200,11 @@ checksum = "e53debba6bda7a793e5f99b8dacf19e626084f525f7829104ba9898f367d85ff" name = "mobile" version = "0.1.0" dependencies = [ - "bevy 0.15.1", + "bevy 0.16.0-rc.4", "bevy_kira_audio", "tempo-trainer", ] -[[package]] -name = "naga" -version = "23.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" -dependencies = [ - "arrayvec", - "bit-set 0.8.0", - "bitflags 2.9.0", - "cfg_aliases 0.1.1", - "codespan-reporting", - "hexf-parse", - "indexmap", - "log", - "pp-rs", - "rustc-hash", - "spirv", - "termcolor", - "thiserror 1.0.69", - "unicode-xid", -] - [[package]] name = "naga" version = "24.0.0" @@ -3545,7 +3214,7 @@ dependencies = [ "arrayvec", "bit-set 0.8.0", "bitflags 2.9.0", - "cfg_aliases 0.2.1", + "cfg_aliases", "codespan-reporting", "hexf-parse", "indexmap", @@ -3559,26 +3228,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "naga_oil" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" -dependencies = [ - "bit-set 0.5.3", - "codespan-reporting", - "data-encoding", - "indexmap", - "naga 23.1.0", - "once_cell", - "regex", - "regex-syntax 0.8.5", - "rustc-hash", - "thiserror 1.0.69", - "tracing", - "unicode-ident", -] - [[package]] name = "naga_oil" version = "0.17.0" @@ -3589,7 +3238,7 @@ dependencies = [ "codespan-reporting", "data-encoding", "indexmap", - "naga 24.0.0", + "naga", "once_cell", "regex", "regex-syntax 0.8.5", @@ -3660,7 +3309,7 @@ checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ "bitflags 2.9.0", "cfg-if", - "cfg_aliases 0.2.1", + "cfg_aliases", "libc", ] @@ -5288,31 +4937,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "wgpu" -version = "23.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" -dependencies = [ - "arrayvec", - "cfg_aliases 0.1.1", - "document-features", - "js-sys", - "log", - "naga 23.1.0", - "parking_lot", - "profiling", - "raw-window-handle", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core 23.0.1", - "wgpu-hal 23.0.1", - "wgpu-types 23.0.0", -] - [[package]] name = "wgpu" version = "24.0.3" @@ -5321,11 +4945,11 @@ checksum = "35904fb00ba2d2e0a4d002fcbbb6e1b89b574d272a50e5fc95f6e81cf281c245" dependencies = [ "arrayvec", "bitflags 2.9.0", - "cfg_aliases 0.2.1", + "cfg_aliases", "document-features", "js-sys", "log", - "naga 24.0.0", + "naga", "parking_lot", "profiling", "raw-window-handle", @@ -5334,34 +4958,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core 24.0.2", - "wgpu-hal 24.0.4", - "wgpu-types 24.0.0", -] - -[[package]] -name = "wgpu-core" -version = "23.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" -dependencies = [ - "arrayvec", - "bit-vec 0.8.0", - "bitflags 2.9.0", - "cfg_aliases 0.1.1", - "document-features", - "indexmap", - "log", - "naga 23.1.0", - "once_cell", - "parking_lot", - "profiling", - "raw-window-handle", - "rustc-hash", - "smallvec", - "thiserror 1.0.69", - "wgpu-hal 23.0.1", - "wgpu-types 23.0.0", + "wgpu-core", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -5373,11 +4972,11 @@ dependencies = [ "arrayvec", "bit-vec 0.8.0", "bitflags 2.9.0", - "cfg_aliases 0.2.1", + "cfg_aliases", "document-features", "indexmap", "log", - "naga 24.0.0", + "naga", "once_cell", "parking_lot", "profiling", @@ -5385,53 +4984,8 @@ dependencies = [ "rustc-hash", "smallvec", "thiserror 2.0.12", - "wgpu-hal 24.0.4", - "wgpu-types 24.0.0", -] - -[[package]] -name = "wgpu-hal" -version = "23.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set 0.8.0", - "bitflags 2.9.0", - "block", - "bytemuck", - "cfg_aliases 0.1.1", - "core-graphics-types", - "glow 0.14.2", - "glutin_wgl_sys", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor", - "js-sys", - "khronos-egl", - "libc", - "libloading", - "log", - "metal 0.29.0", - "naga 23.1.0", - "ndk-sys 0.5.0+25.2.9519653", - "objc", - "once_cell", - "parking_lot", - "profiling", - "range-alloc", - "raw-window-handle", - "renderdoc-sys", - "rustc-hash", - "smallvec", - "thiserror 1.0.69", - "wasm-bindgen", - "web-sys", - "wgpu-types 23.0.0", - "windows 0.58.0", - "windows-core 0.58.0", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -5447,9 +5001,9 @@ dependencies = [ "bitflags 2.9.0", "block", "bytemuck", - "cfg_aliases 0.2.1", + "cfg_aliases", "core-graphics-types", - "glow 0.16.0", + "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", @@ -5459,8 +5013,8 @@ dependencies = [ "libc", "libloading", "log", - "metal 0.31.0", - "naga 24.0.0", + "metal", + "naga", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -5475,22 +5029,11 @@ dependencies = [ "thiserror 2.0.12", "wasm-bindgen", "web-sys", - "wgpu-types 24.0.0", + "wgpu-types", "windows 0.58.0", "windows-core 0.58.0", ] -[[package]] -name = "wgpu-types" -version = "23.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" -dependencies = [ - "bitflags 2.9.0", - "js-sys", - "web-sys", -] - [[package]] name = "wgpu-types" version = "24.0.0" @@ -6022,7 +5565,7 @@ dependencies = [ "block2", "bytemuck", "calloop", - "cfg_aliases 0.2.1", + "cfg_aliases", "concurrent-queue", "core-foundation 0.9.4", "core-graphics", diff --git a/mobile/Cargo.toml b/mobile/Cargo.toml index 176e414..f8464fa 100644 --- a/mobile/Cargo.toml +++ b/mobile/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["staticlib", "cdylib"] [dependencies] tempo-trainer = { path = ".." } -bevy = { version = "0.15", default-features = false, features = [ +bevy = { version = "0.16.0-rc.4", default-features = false, features = [ "android-native-activity", ] } @@ -18,10 +18,10 @@ bevy = { version = "0.15", default-features = false, features = [ bevy_kira_audio = { version = "0.22.0", features = ["android_shared_stdcxx"] } # See https://github.com/bevyengine/bevy/pull/12052 -[target.aarch64-apple-ios-sim.dependencies] -bevy = { version = "0.15", default-features = false, features = [ - "ios_simulator", -] } +# # [target.aarch64-apple-ios-sim.dependencies] +# bevy = { version = "0.16.0-rc.4", default-features = false, features = [ + # "ios_simulator", +# ] } [package.metadata.android] package = "me.nikl.bevygame" # ToDo From bc77203708fdb0fc1451056f105b91961d1a6cc1 Mon Sep 17 00:00:00 2001 From: hatoo Date: Sat, 12 Apr 2025 16:50:23 +0900 Subject: [PATCH 3/5] despawn --- src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 444ef87..984e443 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -905,7 +905,7 @@ fn set_clock_legend( ) { if division.is_changed() || timer.is_changed() { for e in query.iter() { - commands.entity(e).despawn_recursive(); + commands.entity(e).despawn(); } let division = division.0; @@ -974,7 +974,7 @@ fn set_clock_delta( ) { if tap_deltas.is_changed() { for e in query.iter() { - commands.entity(e).despawn_recursive(); + commands.entity(e).despawn(); } for parent in &parent { From 61440631415e29bfdb4187fdbc8280c0e96b898c Mon Sep 17 00:00:00 2001 From: hatoo Date: Sat, 12 Apr 2025 17:24:31 +0900 Subject: [PATCH 4/5] ClockPlugin --- src/clock.rs | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 218 +++----------------------------------------------- 2 files changed, 229 insertions(+), 208 deletions(-) create mode 100644 src/clock.rs diff --git a/src/clock.rs b/src/clock.rs new file mode 100644 index 0000000..81c12c5 --- /dev/null +++ b/src/clock.rs @@ -0,0 +1,219 @@ +use crate::{Delta, Division, LastTick, TapDeltas}; +use bevy::{platform_support::time::Instant, prelude::*, render::mesh::CircleMeshBuilder}; + +const CIRCLE_SIZE: f32 = 400.0; + +pub struct ClockPlugin; + +#[derive(Component)] +struct Clock; + +#[derive(Component)] +struct ClockMarker; + +#[derive(Resource)] +pub struct HideClock(pub bool); + +#[derive(Resource)] +struct ClockResource { + mesh_legend: Handle, + material_legend: Handle, + mesh_delta: Handle, + material_delta: Handle, + mesh_precision: Handle, + material_precision: Handle, +} + +fn setup( + mut commands: Commands, + mut meshes: ResMut>, + mut materials: ResMut>, +) { + commands.insert_resource(ClockResource { + mesh_legend: meshes.add(Mesh::from(Circle { radius: 16.0 })), + material_legend: materials.add(Color::linear_rgb(0.1, 0.3, 0.1)), + mesh_delta: meshes.add(Mesh::from(Circle { radius: 12.0 })), + material_delta: materials.add(Color::linear_rgb(0.1, 0.1, 0.3)), + mesh_precision: meshes.add(Mesh::from(Rectangle { + half_size: Vec2::new(0.5, 0.5), + })), + material_precision: materials.add(Color::linear_rgb(0.0, 0.0, 0.0)), + }); + + commands + .spawn((Clock, Transform::default(), Visibility::Hidden)) + .with_children(|commands| { + commands.spawn(( + Mesh2d(meshes.add(CircleMeshBuilder { + circle: Circle::new(CIRCLE_SIZE), + resolution: 128, + })), + MeshMaterial2d(materials.add(Color::linear_rgb(0.4, 0.4, 0.4))), + Transform::from_xyz(0.0, 0.0, 0.0), + )); + + commands.spawn(( + Mesh2d(meshes.add(CircleMeshBuilder { + circle: Circle::new(CIRCLE_SIZE + 4.0), + resolution: 128, + })), + MeshMaterial2d(materials.add(Color::linear_rgb(0.1, 0.1, 0.1))), + Transform::from_xyz(0.0, 0.0, -1.0), + )); + + commands.spawn(( + ClockMarker, + Mesh2d(meshes.add(Mesh::from(Circle::new(CIRCLE_SIZE / 8.0)))), + MeshMaterial2d(materials.add(Color::BLACK)), + Transform::from_xyz(0.0, 0.0, 1.0), + )); + }); +} + +fn update_clock_marker( + last_tick: Res, + timer: Res>, + mut query: Query<&mut Transform, With>, +) { + let now = Instant::now(); + let time_step = timer.timestep(); + let delta = (now - last_tick.0).as_secs_f64() / time_step.as_secs_f64(); + + let angle = 2.0 * std::f32::consts::PI * delta as f32; + + for mut transform in &mut query { + transform.translation = + Vec3::new(angle.sin() * CIRCLE_SIZE, angle.cos() * CIRCLE_SIZE, 1.0); + } +} + +fn hide_clock(mut clock: Query<&mut Visibility, With>, hide_clock: Res) { + if hide_clock.is_changed() { + for mut visibility in &mut clock { + if hide_clock.0 { + *visibility = Visibility::Hidden; + } else { + *visibility = Visibility::Visible; + } + } + } +} + +#[derive(Component)] +struct ClockLegend; + +fn update_clock_legend( + mut commands: Commands, + query: Query>, + parent: Query>, + division: Res, + clock_resource: Res, + timer: Res>, +) { + if division.is_changed() || timer.is_changed() { + for e in query.iter() { + commands.entity(e).despawn(); + } + + let division = division.0; + let tick = timer.timestep().as_secs_f32(); + + for parent in &parent { + commands.entity(parent).with_children(|commands| { + for i in 0..division { + let angle = 2.0 * std::f32::consts::PI * (i as f32 / division as f32); + let x = angle.sin() * CIRCLE_SIZE; + let y = angle.cos() * CIRCLE_SIZE; + + commands.spawn(( + ClockLegend, + Mesh2d(clock_resource.mesh_legend.clone()), + MeshMaterial2d(clock_resource.material_legend.clone()), + Transform::from_xyz(x, y, 3.0), + )); + + let t = tick / division as f32 * i as f32; + + for delta in [ + -1.0 / 60.0, + 1.0 / 60.0, + -1.5 / 60.0, + 1.5 / 60.0, + -2.0 / 60.0, + 2.0 / 60.0, + ] { + let theta = (t + delta) / tick * 2.0 * std::f32::consts::PI; + + let mut transform = Transform::from_scale(Vec3::new( + 6.0, + 96.0 * (-delta.abs() * 60.0).exp(), + 1.0, + )) + .with_translation(Vec3::new( + 0.0, + CIRCLE_SIZE, + 8.0, + )); + transform.rotate_around(Vec3::ZERO, Quat::from_rotation_z(theta)); + + commands.spawn(( + ClockLegend, + Mesh2d(clock_resource.mesh_precision.clone()), + MeshMaterial2d(clock_resource.material_precision.clone()), + transform, + )); + } + } + }); + } + } +} + +#[derive(Component)] +struct ClockDelta; + +fn set_clock_delta( + mut commands: Commands, + query: Query>, + tap_deltas: Res, + parent: Query>, + clock_resource: Res, +) { + if tap_deltas.is_changed() { + for e in query.iter() { + commands.entity(e).despawn(); + } + + for parent in &parent { + commands.entity(parent).with_children(|commands| { + for Delta { theta, .. } in tap_deltas.0.iter() { + let x = theta.sin() as f32 * CIRCLE_SIZE; + let y = theta.cos() as f32 * CIRCLE_SIZE; + + commands.spawn(( + ClockDelta, + Mesh2d(clock_resource.mesh_delta.clone()), + MeshMaterial2d(clock_resource.material_delta.clone()), + Transform::from_xyz(x, y, 4.0), + )); + } + }); + } + } +} + +impl Plugin for ClockPlugin { + fn build(&self, app: &mut App) { + app.insert_resource(HideClock(false)) + .add_systems(Startup, setup) + .add_systems( + Update, + ( + update_clock_marker, + update_clock_legend, + set_clock_delta, + hide_clock, + ), + ); + } +} diff --git a/src/lib.rs b/src/lib.rs index 984e443..a4d6b53 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -5,10 +5,12 @@ use bevy::{ diagnostic::{DiagnosticsStore, EntityCountDiagnosticsPlugin, FrameTimeDiagnosticsPlugin}, platform_support::time::Instant, prelude::*, - render::{camera::ScalingMode, mesh::CircleMeshBuilder}, + render::camera::ScalingMode, }; +use clock::{ClockPlugin, HideClock}; + +mod clock; -const CIRCLE_SIZE: f32 = 400.0; const BINS: usize = 16; const BAR_HEIGHT_MULTIPLIER: f32 = 4000.0; @@ -16,16 +18,13 @@ const BAR_HEIGHT_MULTIPLIER: f32 = 4000.0; #[derive(Component)] struct StatusText; -#[derive(Component)] -struct ClockMarker; - #[derive(Resource)] -struct LastTick(Instant); +pub struct LastTick(Instant); #[derive(Resource)] -struct Division(u32); +pub struct Division(u32); -struct Delta { +pub struct Delta { delta: f64, division: usize, // 0 to 2pi @@ -34,7 +33,7 @@ struct Delta { #[derive(Resource)] // delta and nearest disvision -struct TapDeltas(VecDeque); +pub struct TapDeltas(VecDeque); #[derive(Resource, Default)] struct Mute { @@ -42,12 +41,6 @@ struct Mute { tap_mute: bool, } -#[derive(Resource)] -struct HideClock(bool); - -#[derive(Component)] -struct Clock; - #[derive(Resource)] struct AudioHandles { handles: Vec>, @@ -65,16 +58,6 @@ impl AudioHandles { } } -#[derive(Resource)] -struct ClockResource { - mesh_legend: Handle, - material_legend: Handle, - mesh_delta: Handle, - material_delta: Handle, - mesh_precision: Handle, - material_precision: Handle, -} - #[derive(Component)] enum Index { Tick, @@ -99,6 +82,7 @@ impl Plugin for GamePlugin { app.add_plugins(( FrameTimeDiagnosticsPlugin::default(), EntityCountDiagnosticsPlugin, + ClockPlugin, )) .insert_resource(Time::::from_duration(from_bpm(90.0))) .insert_resource(LastTick(Instant::now())) @@ -106,24 +90,19 @@ impl Plugin for GamePlugin { .insert_resource(TapDeltas(VecDeque::new())) .insert_resource(Mute::default()) .insert_resource(HideBarChart(false)) - .insert_resource(HideClock(false)) .add_systems(Startup, setup) .add_systems(FixedUpdate, metronome) .add_systems( Update, ( control, - clock, set_status_text, set_bins, - set_clock_legend, diagnostics_text_update_system, hide_bar_chart, - hide_clock, button_system, set_audio_indices, set_statistics, - set_clock_delta, ), ) // Set tap sound before tap @@ -179,12 +158,7 @@ struct BarChart; #[derive(Resource)] struct HideBarChart(bool); -fn setup( - mut commands: Commands, - mut meshes: ResMut>, - mut materials: ResMut>, - asset_server: Res, -) { +fn setup(mut commands: Commands, asset_server: Res) { commands.insert_resource(AudioHandles { handles: vec![ asset_server.load("sounds/c4.ogg"), @@ -197,17 +171,6 @@ fn setup( tick: 1, }); - commands.insert_resource(ClockResource { - mesh_legend: meshes.add(Mesh::from(Circle { radius: 16.0 })), - material_legend: materials.add(Color::linear_rgb(0.1, 0.3, 0.1)), - mesh_delta: meshes.add(Mesh::from(Circle { radius: 12.0 })), - material_delta: materials.add(Color::linear_rgb(0.1, 0.1, 0.3)), - mesh_precision: meshes.add(Mesh::from(Rectangle { - half_size: Vec2::new(0.5, 0.5), - })), - material_precision: materials.add(Color::linear_rgb(0.0, 0.0, 0.0)), - }); - commands.spawn(( Camera2d, Projection::Orthographic(OrthographicProjection { @@ -219,35 +182,6 @@ fn setup( }), )); - commands - .spawn((Clock, Transform::default(), Visibility::Hidden)) - .with_children(|commands| { - commands.spawn(( - Mesh2d(meshes.add(CircleMeshBuilder { - circle: Circle::new(CIRCLE_SIZE), - resolution: 128, - })), - MeshMaterial2d(materials.add(Color::linear_rgb(0.4, 0.4, 0.4))), - Transform::from_xyz(0.0, 0.0, 0.0), - )); - - commands.spawn(( - Mesh2d(meshes.add(CircleMeshBuilder { - circle: Circle::new(CIRCLE_SIZE + 4.0), - resolution: 128, - })), - MeshMaterial2d(materials.add(Color::linear_rgb(0.1, 0.1, 0.1))), - Transform::from_xyz(0.0, 0.0, -1.0), - )); - - commands.spawn(( - ClockMarker, - Mesh2d(meshes.add(Mesh::from(Circle::new(CIRCLE_SIZE / 8.0)))), - MeshMaterial2d(materials.add(Color::BLACK)), - Transform::from_xyz(0.0, 0.0, 1.0), - )); - }); - commands.spawn( Node { position_type: PositionType::Absolute, @@ -798,23 +732,6 @@ fn set_status_text( } } -fn clock( - last_tick: Res, - timer: Res>, - mut query: Query<&mut Transform, With>, -) { - let now = Instant::now(); - let time_step = timer.timestep(); - let delta = (now - last_tick.0).as_secs_f64() / time_step.as_secs_f64(); - - let angle = 2.0 * std::f32::consts::PI * delta as f32; - - for mut transform in &mut query { - transform.translation = - Vec3::new(angle.sin() * CIRCLE_SIZE, angle.cos() * CIRCLE_SIZE, 1.0); - } -} - #[derive(Component)] struct BinIndex(usize); @@ -880,121 +797,6 @@ fn hide_bar_chart( } } -fn hide_clock(mut clock: Query<&mut Visibility, With>, hide_clock: Res) { - if hide_clock.is_changed() { - for mut visibility in &mut clock { - if hide_clock.0 { - *visibility = Visibility::Hidden; - } else { - *visibility = Visibility::Visible; - } - } - } -} - -#[derive(Component)] -struct ClockLegend; - -fn set_clock_legend( - mut commands: Commands, - query: Query>, - parent: Query>, - division: Res, - clock_resource: Res, - timer: Res>, -) { - if division.is_changed() || timer.is_changed() { - for e in query.iter() { - commands.entity(e).despawn(); - } - - let division = division.0; - let tick = timer.timestep().as_secs_f32(); - - for parent in &parent { - commands.entity(parent).with_children(|commands| { - for i in 0..division { - let angle = 2.0 * std::f32::consts::PI * (i as f32 / division as f32); - let x = angle.sin() * CIRCLE_SIZE; - let y = angle.cos() * CIRCLE_SIZE; - - commands.spawn(( - ClockLegend, - Mesh2d(clock_resource.mesh_legend.clone()), - MeshMaterial2d(clock_resource.material_legend.clone()), - Transform::from_xyz(x, y, 3.0), - )); - - let t = tick / division as f32 * i as f32; - - for delta in [ - -1.0 / 60.0, - 1.0 / 60.0, - -1.5 / 60.0, - 1.5 / 60.0, - -2.0 / 60.0, - 2.0 / 60.0, - ] { - let theta = (t + delta) / tick * 2.0 * std::f32::consts::PI; - - let mut transform = Transform::from_scale(Vec3::new( - 6.0, - 96.0 * (-delta.abs() * 60.0).exp(), - 1.0, - )) - .with_translation(Vec3::new( - 0.0, - CIRCLE_SIZE, - 8.0, - )); - transform.rotate_around(Vec3::ZERO, Quat::from_rotation_z(theta)); - - commands.spawn(( - ClockLegend, - Mesh2d(clock_resource.mesh_precision.clone()), - MeshMaterial2d(clock_resource.material_precision.clone()), - transform, - )); - } - } - }); - } - } -} - -#[derive(Component)] -struct ClockDelta; - -fn set_clock_delta( - mut commands: Commands, - query: Query>, - tap_deltas: Res, - parent: Query>, - clock_resource: Res, -) { - if tap_deltas.is_changed() { - for e in query.iter() { - commands.entity(e).despawn(); - } - - for parent in &parent { - commands.entity(parent).with_children(|commands| { - for Delta { theta, .. } in tap_deltas.0.iter() { - let x = theta.sin() as f32 * CIRCLE_SIZE; - let y = theta.cos() as f32 * CIRCLE_SIZE; - - commands.spawn(( - ClockDelta, - Mesh2d(clock_resource.mesh_delta.clone()), - MeshMaterial2d(clock_resource.material_delta.clone()), - Transform::from_xyz(x, y, 4.0), - )); - } - }); - } - } -} - #[derive(Component)] struct DiagnosticsText; From c8af8ab24e6cdb1afbccf4fd036a40daa9e4779b Mon Sep 17 00:00:00 2001 From: hatoo Date: Sat, 12 Apr 2025 17:36:17 +0900 Subject: [PATCH 5/5] bar chart --- src/bar_chart.rs | 233 +++++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 230 +--------------------------------------------- 2 files changed, 236 insertions(+), 227 deletions(-) create mode 100644 src/bar_chart.rs diff --git a/src/bar_chart.rs b/src/bar_chart.rs new file mode 100644 index 0000000..e6f3d26 --- /dev/null +++ b/src/bar_chart.rs @@ -0,0 +1,233 @@ +use bevy::prelude::*; + +use crate::{Delta, TapDeltas}; + +pub const BINS: usize = 16; +const BAR_HEIGHT_MULTIPLIER: f32 = 4000.0; + +pub struct BarChartPlugin; +impl Plugin for BarChartPlugin { + fn build(&self, app: &mut App) { + app.insert_resource(HideBarChart(false)) + .add_systems(Startup, setup) + .add_systems(Update, (update_bins, hide_bar_chart)); + } +} + +#[derive(Component)] +struct BarChart; +#[derive(Resource)] +pub struct HideBarChart(pub bool); +#[derive(Component)] +struct BinIndex(usize); + +#[derive(Component)] +struct BinBar; + +fn setup(mut commands: Commands) { + commands + .spawn(( + BarChart, + Visibility::Visible, + Node { + width: Val::Percent(100.0), + height: Val::Percent(100.0), + justify_self: JustifySelf::Center, + justify_content: JustifyContent::Center, + align_items: AlignItems::Center, + ..default() + }, + )) + .with_children(|commands| { + commands + .spawn(Node { + display: Display::Flex, + justify_self: JustifySelf::Center, + flex_direction: FlexDirection::Row, + width: Val::Percent(80.0), + height: Val::Percent(100.0), + ..Default::default() + }) + .with_children(|commands| { + for (f, height, label) in [ + (0.0, 4.0, "0"), + (1.0, 3.0, "1/60"), + (1.5, 2.0, "1.5/60"), + (2.0, 1.0, "2/60"), + ] { + commands.spawn(( + Node { + position_type: PositionType::Absolute, + width: Val::Percent(100.0), + height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER + height / 2.0), + bottom: Val::Percent(50.0), + border: UiRect { + top: Val::Px(height), + ..default() + }, + ..default() + }, + BorderColor(Color::BLACK), + )); + commands.spawn(( + Node { + position_type: PositionType::Absolute, + width: Val::Percent(100.0), + height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER + height / 2.0), + top: Val::Percent(50.0), + border: UiRect { + bottom: Val::Px(height), + ..default() + }, + ..default() + }, + BorderColor(Color::BLACK), + )); + + commands + .spawn(( + Node { + position_type: PositionType::Absolute, + left: Val::Px(-12.0), + height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER), + width: Val::Percent(100.0), + bottom: Val::Percent(50.0), + ..default() + }, + // BackgroundColor(Color::linear_rgba(0.0, 1.0, 0.0, 0.3)), + )) + .with_children(|commands| { + commands.spawn(( + Node { + position_type: PositionType::Absolute, + right: Val::Percent(100.0), + bottom: Val::Percent(100.0), + ..default() + }, + Text::new(label), + TextFont { + font_size: 10.3, + ..Default::default() + }, + )); + }); + } + + for i in 0..BINS { + commands + .spawn(Node { + margin: UiRect { + left: Val::Px(4.0), + right: Val::Px(4.0), + ..default() + }, + flex_grow: 1.0, + flex_basis: Val::Px(0.0), + justify_content: JustifyContent::Center, + justify_self: JustifySelf::Center, + align_items: AlignItems::Center, + ..default() + }) + .with_children(|commands| { + commands + .spawn(( + Node { + width: Val::Percent(100.0), + height: Val::Percent(100.0), + justify_content: JustifyContent::Center, + justify_self: JustifySelf::Center, + align_items: AlignItems::Center, + ..default() + }, + // BackgroundColor(Color::linear_rgba(0.0, 1.0, 0.0, 0.3)), + )) + .with_children(|commands| { + commands.spawn(( + BinBar, + BinIndex(i), + Visibility::Inherited, + Node { + position_type: PositionType::Absolute, + width: Val::Percent(100.0), + height: Val::Px(100.0), + top: Val::Percent(50.0), + bottom: Val::DEFAULT, + justify_content: JustifyContent::Center, + align_items: AlignItems::Center, + ..default() + }, + BackgroundColor(Color::linear_rgb(0.0, 0.0, 1.0)), + )); + commands.spawn(( + BinIndex(i), + Text::new("1.23"), + TextFont { + font_size: 10.3, + ..Default::default() + }, + )); + }); + }); + } + }); + }); +} + +fn update_bins( + mut query_bar: Query< + (&BinIndex, &mut Node, &mut BackgroundColor, &mut Visibility), + With, + >, + mut query_text: Query<(&BinIndex, &mut Text)>, + tap_deltas: Res, +) { + if tap_deltas.is_changed() { + for (BinIndex(index), mut node, mut color, mut visibility) in &mut query_bar { + if let Some(Delta { delta, .. }) = tap_deltas.0.get(*index) { + let height = delta.abs() as f32 * BAR_HEIGHT_MULTIPLIER; + node.height = Val::Px(height); + node.position_type = PositionType::Absolute; + + if *delta >= 0.0 { + color.0 = Color::linear_rgba(1.0, 0.0, 0.0, 0.6); + node.top = Val::DEFAULT; + node.bottom = Val::Percent(50.0); + } else { + color.0 = Color::linear_rgba(0.0, 0.0, 1.0, 0.6); + node.bottom = Val::DEFAULT; + node.top = Val::Percent(50.0); + } + + *visibility = Visibility::Inherited; + } else { + *visibility = Visibility::Hidden; + } + } + + for (BinIndex(index), mut text) in &mut query_text { + if let Some(Delta { + delta, division, .. + }) = tap_deltas.0.get(*index) + { + text.0 = format!("[{}]{:+.1}", division, delta * 1000.0); + } else { + text.0 = "".to_string(); + } + } + } +} + +fn hide_bar_chart( + mut bar_chart: Query<&mut Visibility, With>, + hide_bar_chart: Res, +) { + if hide_bar_chart.is_changed() { + for mut visibility in &mut bar_chart { + if hide_bar_chart.0 { + *visibility = Visibility::Hidden; + } else { + *visibility = Visibility::Visible; + } + } + } +} diff --git a/src/lib.rs b/src/lib.rs index a4d6b53..91ec218 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,6 @@ use std::{collections::VecDeque, time::Duration}; +use bar_chart::{BINS, BarChartPlugin, HideBarChart}; use bevy::{ color::palettes::basic::*, diagnostic::{DiagnosticsStore, EntityCountDiagnosticsPlugin, FrameTimeDiagnosticsPlugin}, @@ -9,12 +10,9 @@ use bevy::{ }; use clock::{ClockPlugin, HideClock}; +mod bar_chart; mod clock; -const BINS: usize = 16; - -const BAR_HEIGHT_MULTIPLIER: f32 = 4000.0; - #[derive(Component)] struct StatusText; @@ -83,13 +81,13 @@ impl Plugin for GamePlugin { FrameTimeDiagnosticsPlugin::default(), EntityCountDiagnosticsPlugin, ClockPlugin, + BarChartPlugin, )) .insert_resource(Time::::from_duration(from_bpm(90.0))) .insert_resource(LastTick(Instant::now())) .insert_resource(Division(1)) .insert_resource(TapDeltas(VecDeque::new())) .insert_resource(Mute::default()) - .insert_resource(HideBarChart(false)) .add_systems(Startup, setup) .add_systems(FixedUpdate, metronome) .add_systems( @@ -97,9 +95,7 @@ impl Plugin for GamePlugin { ( control, set_status_text, - set_bins, diagnostics_text_update_system, - hide_bar_chart, button_system, set_audio_indices, set_statistics, @@ -152,12 +148,6 @@ impl ButtonKind { } } -#[derive(Component)] -struct BarChart; - -#[derive(Resource)] -struct HideBarChart(bool); - fn setup(mut commands: Commands, asset_server: Res) { commands.insert_resource(AudioHandles { handles: vec![ @@ -358,155 +348,6 @@ fn setup(mut commands: Commands, asset_server: Res) { )); }); - // Bar chart - - commands - .spawn(( - BarChart, - Visibility::Visible, - Node { - width: Val::Percent(100.0), - height: Val::Percent(100.0), - justify_self: JustifySelf::Center, - justify_content: JustifyContent::Center, - align_items: AlignItems::Center, - ..default() - }, - )) - .with_children(|commands| { - commands - .spawn(Node { - display: Display::Flex, - justify_self: JustifySelf::Center, - flex_direction: FlexDirection::Row, - width: Val::Percent(80.0), - height: Val::Percent(100.0), - ..Default::default() - }) - .with_children(|commands| { - for (f, height, label) in [ - (0.0, 4.0, "0"), - (1.0, 3.0, "1/60"), - (1.5, 2.0, "1.5/60"), - (2.0, 1.0, "2/60"), - ] { - commands.spawn(( - Node { - position_type: PositionType::Absolute, - width: Val::Percent(100.0), - height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER + height / 2.0), - bottom: Val::Percent(50.0), - border: UiRect { - top: Val::Px(height), - ..default() - }, - ..default() - }, - BorderColor(Color::BLACK), - )); - commands.spawn(( - Node { - position_type: PositionType::Absolute, - width: Val::Percent(100.0), - height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER + height / 2.0), - top: Val::Percent(50.0), - border: UiRect { - bottom: Val::Px(height), - ..default() - }, - ..default() - }, - BorderColor(Color::BLACK), - )); - - commands - .spawn(( - Node { - position_type: PositionType::Absolute, - left: Val::Px(-12.0), - height: Val::Px(f / 60.0 * BAR_HEIGHT_MULTIPLIER), - width: Val::Percent(100.0), - bottom: Val::Percent(50.0), - ..default() - }, - // BackgroundColor(Color::linear_rgba(0.0, 1.0, 0.0, 0.3)), - )) - .with_children(|commands| { - commands.spawn(( - Node { - position_type: PositionType::Absolute, - right: Val::Percent(100.0), - bottom: Val::Percent(100.0), - ..default() - }, - Text::new(label), - TextFont { - font_size: 10.3, - ..Default::default() - }, - )); - }); - } - - for i in 0..BINS { - commands - .spawn(Node { - margin: UiRect { - left: Val::Px(4.0), - right: Val::Px(4.0), - ..default() - }, - flex_grow: 1.0, - flex_basis: Val::Px(0.0), - justify_content: JustifyContent::Center, - justify_self: JustifySelf::Center, - align_items: AlignItems::Center, - ..default() - }) - .with_children(|commands| { - commands - .spawn(( - Node { - width: Val::Percent(100.0), - height: Val::Percent(100.0), - justify_content: JustifyContent::Center, - justify_self: JustifySelf::Center, - align_items: AlignItems::Center, - ..default() - }, - // BackgroundColor(Color::linear_rgba(0.0, 1.0, 0.0, 0.3)), - )) - .with_children(|commands| { - commands.spawn(( - BinBar, - BinIndex(i), - Visibility::Inherited, - Node { - position_type: PositionType::Absolute, - width: Val::Percent(100.0), - height: Val::Px(100.0), - top: Val::Percent(50.0), - bottom: Val::DEFAULT, - justify_content: JustifyContent::Center, - align_items: AlignItems::Center, - ..default() - }, - BackgroundColor(Color::linear_rgb(0.0, 0.0, 1.0)), - )); - commands.spawn(( - BinIndex(i), - Text::new("1.23"), - TextFont { - font_size: 10.3, - ..Default::default() - }, - )); - }); - }); - } - }); - }); - #[cfg(not(target_os = "android"))] commands.spawn(( DiagnosticsText, @@ -732,71 +573,6 @@ fn set_status_text( } } -#[derive(Component)] -struct BinIndex(usize); - -#[derive(Component)] -struct BinBar; - -fn set_bins( - mut query_bar: Query< - (&BinIndex, &mut Node, &mut BackgroundColor, &mut Visibility), - With, - >, - mut query_text: Query<(&BinIndex, &mut Text)>, - tap_deltas: Res, -) { - if tap_deltas.is_changed() { - for (BinIndex(index), mut node, mut color, mut visibility) in &mut query_bar { - if let Some(Delta { delta, .. }) = tap_deltas.0.get(*index) { - let height = delta.abs() as f32 * BAR_HEIGHT_MULTIPLIER; - node.height = Val::Px(height); - node.position_type = PositionType::Absolute; - - if *delta >= 0.0 { - color.0 = Color::linear_rgba(1.0, 0.0, 0.0, 0.6); - node.top = Val::DEFAULT; - node.bottom = Val::Percent(50.0); - } else { - color.0 = Color::linear_rgba(0.0, 0.0, 1.0, 0.6); - node.bottom = Val::DEFAULT; - node.top = Val::Percent(50.0); - } - - *visibility = Visibility::Inherited; - } else { - *visibility = Visibility::Hidden; - } - } - - for (BinIndex(index), mut text) in &mut query_text { - if let Some(Delta { - delta, division, .. - }) = tap_deltas.0.get(*index) - { - text.0 = format!("[{}]{:+.1}", division, delta * 1000.0); - } else { - text.0 = "".to_string(); - } - } - } -} - -fn hide_bar_chart( - mut bar_chart: Query<&mut Visibility, With>, - hide_bar_chart: Res, -) { - if hide_bar_chart.is_changed() { - for mut visibility in &mut bar_chart { - if hide_bar_chart.0 { - *visibility = Visibility::Hidden; - } else { - *visibility = Visibility::Visible; - } - } - } -} - #[derive(Component)] struct DiagnosticsText;