diff --git a/Cargo.lock b/Cargo.lock index 95a90056..aec0c456 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,9 +26,13 @@ checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" [[package]] name = "accesskit" -version = "0.17.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" +checksum = "becf0eb5215b6ecb0a739c31c21bd83c4f326524c9b46b7e882d77559b60a529" +dependencies = [ + "enumn", + "serde", +] [[package]] name = "accesskit_consumer" @@ -42,12 +46,12 @@ dependencies = [ [[package]] name = "accesskit_consumer" -version = "0.26.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459" +checksum = "d0bf66a7bf0b7ea4fd7742d50b64782a88f99217cf246b3f93b4162528dde520" dependencies = [ - "accesskit 0.17.1", - "hashbrown 0.15.2", + "accesskit 0.18.0", + "hashbrown 0.15.3", "immutable-chunkmap", ] @@ -59,24 +63,24 @@ checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" dependencies = [ "accesskit 0.14.0", "accesskit_consumer 0.22.0", - "objc2", - "objc2-app-kit", - "objc2-foundation", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", "once_cell", ] [[package]] name = "accesskit_macos" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1" +checksum = "09e230718177753b4e4ad9e1d9f6cfc2f4921212d4c1c480b253f526babb258d" dependencies = [ - "accesskit 0.17.1", - "accesskit_consumer 0.26.0", - "hashbrown 0.15.2", - "objc2", - "objc2-app-kit", - "objc2-foundation", + "accesskit 0.18.0", + "accesskit_consumer 0.27.0", + "hashbrown 0.15.3", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -94,13 +98,13 @@ dependencies = [ [[package]] name = "accesskit_windows" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81" +checksum = "65178f3df98a51e4238e584fcb255cb1a4f9111820848eeddd37663be40a625f" dependencies = [ - "accesskit 0.17.1", - "accesskit_consumer 0.26.0", - "hashbrown 0.15.2", + "accesskit 0.18.0", + "accesskit_consumer 0.27.0", + "hashbrown 0.15.3", "paste", "static_assertions", "windows 0.58.0", @@ -122,13 +126,13 @@ dependencies = [ [[package]] name = "accesskit_winit" -version = "0.23.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6a48dad5530b6deb9fc7a52cc6c3bf72cdd9eb8157ac9d32d69f2427a5e879" +checksum = "34d941bb8c414caba6e206de669c7dc0dbeb305640ea890772ee422a40e6b89f" dependencies = [ - "accesskit 0.17.1", - "accesskit_macos 0.18.1", - "accesskit_windows 0.24.1", + "accesskit 0.18.0", + "accesskit_macos 0.19.0", + "accesskit_windows 0.25.0", "raw-window-handle", "winit", ] @@ -208,20 +212,19 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "once_cell", "version_check", ] [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "const-random", - "getrandom 0.2.15", + "getrandom 0.3.2", "once_cell", "version_check", "zerocopy", @@ -236,6 +239,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned-vec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1" + [[package]] name = "allocator-api2" version = "0.2.21" @@ -249,7 +258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.8.0", + "bitflags 2.9.0", "cc", "cesu8", "jni", @@ -260,7 +269,7 @@ dependencies = [ "ndk-context", "ndk-sys 0.6.0+11769913", "num_enum 0.7.3", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -271,9 +280,9 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] name = "android_log-sys" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" [[package]] name = "android_system_properties" @@ -342,9 +351,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.95" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "approx" @@ -355,24 +364,43 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" + [[package]] name = "arboard" -version = "3.4.1" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4" +checksum = "c1df21f715862ede32a0c525ce2ca4d52626bb0007f8c18b87a384503ac33e70" dependencies = [ "clipboard-win", - "core-graphics", "image", "log", - "objc2", - "objc2-app-kit", - "objc2-foundation", + "objc2 0.6.1", + "objc2-app-kit 0.3.1", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.1", "parking_lot", - "windows-sys 0.48.0", + "percent-encoding", + "windows-sys 0.59.0", "x11rb", ] +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "arrayref" version = "0.3.9" @@ -423,7 +451,7 @@ checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -436,6 +464,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 = "1.9.0" @@ -471,14 +511,15 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" dependencies = [ "async-task", "concurrent-queue", "fastrand 2.3.0", "futures-lite 2.6.0", + "pin-project-lite", "slab", ] @@ -586,9 +627,9 @@ dependencies = [ [[package]] name = "async-std" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" +checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24" dependencies = [ "async-channel 1.9.0", "async-global-executor", @@ -615,6 +656,9 @@ name = "async-task" version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] [[package]] name = "async-tls" @@ -631,13 +675,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.86" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -645,12 +689,19 @@ 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" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467163b50876d3a4a44da5f4dbd417537e522fc059ede8d518d57941cfb3d745" +checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" +dependencies = [ + "portable-atomic", + "portable-atomic-util", +] [[package]] name = "autocfg" @@ -658,11 +709,34 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "av1-grain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf" +dependencies = [ + "anyhow", + "arrayvec 0.7.6", + "log", + "nom 7.1.3", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e" +dependencies = [ + "arrayvec 0.7.6", +] + [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -714,56 +788,56 @@ dependencies = [ [[package]] name = "bevy" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f7715ae81a5b4b0839d5d515db2bbadb09abf1bb5ac5c721aa6a6edc06d7f33" +checksum = "2a5cd3b24a5adb7c7378da7b3eea47639877643d11b6b087fc8a8094f2528615" dependencies = [ - "bevy_internal 0.15.2", + "bevy_internal 0.16.0", ] [[package]] name = "bevy-inspector-egui" -version = "0.28.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36172627eb6fd8586600972bcbba2880ed6f59e4e243dcf2ed7ff68d987577ce" +checksum = "4971e763f289921fd4616418628458bec26a6fc13fe4299c0e4066f39d7ceaa2" dependencies = [ "bevy-inspector-egui-derive", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core 0.15.2", - "bevy_core_pipeline 0.15.2", - "bevy_ecs 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_ecs 0.16.0", "bevy_egui", - "bevy_hierarchy 0.15.2", "bevy_image", - "bevy_log 0.15.2", - "bevy_math 0.15.2", - "bevy_pbr 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_pbr 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", "bevy_state", - "bevy_time 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", + "bevy_time 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", "bytemuck", "disqualified", "egui", "fuzzy-matcher", "image", "smallvec", + "uuid", "winit", ] [[package]] name = "bevy-inspector-egui-derive" -version = "0.28.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afc67826e0a4347414545e022e748f42550a577a502b26af44e6d03742c9266" +checksum = "2656316165dbe2af6b3acaa763332f5dbdd12f809d59f5bf4304e0642a8005c9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -780,15 +854,16 @@ dependencies = [ [[package]] name = "bevy_a11y" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a04ffbe740b2f6f20680528987f99fc7d5eee29e45ebea19f1495b82d93c7a" +checksum = "91ed969a58fbe449ef35ebec58ab19578302537f34ee8a35d04e5a038b3c40f5" dependencies = [ - "accesskit 0.17.1", - "bevy_app 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", + "accesskit 0.18.0", + "bevy_app 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", + "bevy_reflect 0.16.0", + "serde", ] [[package]] @@ -803,38 +878,42 @@ dependencies = [ "bevy_tasks 0.14.2", "bevy_utils 0.14.2", "console_error_panic_hook", - "downcast-rs", - "thiserror", + "downcast-rs 1.2.1", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_app" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47983196daf9290ac97023de67d9364182c4a9a88ce400039e2d79aaf342dcb2" +checksum = "a2b6267ac23a9947d5b2725ff047a1e1add70076d85fa9fb73d044ab9bea1f3c" dependencies = [ - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", - "bevy_tasks 0.15.2", - "bevy_utils 0.15.2", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_tasks 0.16.0", + "bevy_utils 0.16.0", + "cfg-if", "console_error_panic_hook", "ctrlc", - "derive_more", - "downcast-rs", + "downcast-rs 2.0.1", + "log", + "thiserror 2.0.12", + "variadics_please", "wasm-bindgen", "web-sys", ] [[package]] name = "bevy_args" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48faacd79c4754e2a29cd34245eb2173ffd191eff24a561fb699dc6f4623d36" +checksum = "ac904a740526b144edf9fc089976b300736f6e5a46e1d6a314bc2adb22788536" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "clap", "console_error_panic_hook", "serde", @@ -849,7 +928,7 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60ec5ea257e1ebd3d411f669e29acf60beb715bebc7e1f374c17f49cd3aad46c" dependencies = [ - "async-broadcast", + "async-broadcast 0.5.1", "async-fs", "async-lock 3.4.0", "bevy_app 0.14.2", @@ -861,14 +940,14 @@ dependencies = [ "bevy_winit 0.14.2", "blake3", "crossbeam-channel", - "downcast-rs", + "downcast-rs 1.2.1", "futures-io", "futures-lite 2.6.0", "js-sys", "parking_lot", "ron", "serde", - "thiserror", + "thiserror 1.0.69", "uuid", "wasm-bindgen", "wasm-bindgen-futures", @@ -877,27 +956,28 @@ dependencies = [ [[package]] name = "bevy_asset" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298cdf2723654b3330fffcbfb979cd265bdd78a13a27ef079c73295e3fddeb9d" +checksum = "0698040d63199391ea77fd02e039630748e3e335c3070c6d932fd96cbf80f5d6" dependencies = [ - "async-broadcast", + "async-broadcast 0.7.2", "async-fs", "async-lock 3.4.0", "atomicow", - "bevy_app 0.15.2", - "bevy_asset_macros 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", - "bevy_tasks 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bitflags 2.8.0", + "bevy_app 0.16.0", + "bevy_asset_macros 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_tasks 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", + "bitflags 2.9.0", "blake3", "crossbeam-channel", "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 2.0.1", "either", "futures-io", "futures-lite 2.6.0", @@ -906,6 +986,8 @@ dependencies = [ "ron", "serde", "stackfuture", + "thiserror 2.0.12", + "tracing", "uuid", "wasm-bindgen", "wasm-bindgen-futures", @@ -921,19 +1003,19 @@ dependencies = [ "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_asset_macros" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0df207d6c6582d6b2d5ff77ad0e17f6f384369fbf9c92cb976496e235e5b5de" +checksum = "0bf8c00b5d532f8e5ac7b49af10602f9f7774a2d522cf0638323b5dfeee7b31c" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -947,23 +1029,24 @@ dependencies = [ "bytemuck", "encase 0.8.0", "serde", - "thiserror", + "thiserror 1.0.69", "wgpu-types 0.20.0", ] [[package]] name = "bevy_color" -version = "0.15.3" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df600cf7c7989d07285c537eb2ea2c053e351391f1ea8ce46cbc591258c8a6f" +checksum = "ddf6a5ad35496bbc41713efbcf06ab72b9a310fabcab0f9db1debb56e8488c6e" dependencies = [ - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", + "bevy_math 0.16.0", + "bevy_reflect 0.16.0", "bytemuck", "derive_more", "encase 0.10.0", "serde", - "wgpu-types 23.0.0", + "thiserror 2.0.12", + "wgpu-types 24.0.0", ] [[package]] @@ -980,21 +1063,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "bevy_core" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd69fc620b79f955209b33c0e8b72dcbc4dbe27b99841a0278e5083b62b38711" -dependencies = [ - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", - "bevy_tasks 0.15.2", - "bevy_utils 0.15.2", - "serde", - "uuid", -] - [[package]] name = "bevy_core_pipeline" version = "0.14.2" @@ -1004,7 +1072,7 @@ dependencies = [ "bevy_app 0.14.2", "bevy_asset 0.14.2", "bevy_color 0.14.3", - "bevy_core 0.14.2", + "bevy_core", "bevy_derive 0.14.2", "bevy_ecs 0.14.2", "bevy_math 0.14.2", @@ -1012,39 +1080,42 @@ dependencies = [ "bevy_render 0.14.2", "bevy_transform 0.14.2", "bevy_utils 0.14.2", - "bitflags 2.8.0", + "bitflags 2.9.0", "nonmax", "radsort", "serde", "smallvec", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_core_pipeline" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e391fc0428834ddf147a512f5d02ad8287ba6f39c991dd2a627114cc3b823d" +checksum = "55c2310717b9794e4a45513ee5946a7be0838852a4c1e185884195e1a8688ff3" dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_derive 0.16.0", + "bevy_diagnostic 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bitflags 2.8.0", - "derive_more", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", + "bitflags 2.9.0", + "bytemuck", "nonmax", "radsort", "serde", "smallvec", + "thiserror 2.0.12", + "tracing", ] [[package]] @@ -1055,18 +1126,18 @@ checksum = "3fbfc33a4c6b80760bb8bf850a2cc65a1e031da62fd3ca8b552189104dc98514" dependencies = [ "bevy_macro_utils 0.14.2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_derive" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa901a443b9ee433823f0d1a4e6db78440ff27572a98e7fa7f2a614bf8d6e475" +checksum = "f626531b9c05c25a758ede228727bd11c2c2c8498ecbed9925044386d525a2a3" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -1076,7 +1147,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bebb154e0cc78e3bbfbfdb42fb502b14c1cd47e72f16e6d4228dfe6233ba6cbd" dependencies = [ "bevy_app 0.14.2", - "bevy_core 0.14.2", + "bevy_core", "bevy_ecs 0.14.2", "bevy_tasks 0.14.2", "bevy_time 0.14.2", @@ -1086,17 +1157,19 @@ dependencies = [ [[package]] name = "bevy_diagnostic" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd1770fe501babaaf56218f4a62c9f1b5fcd056a5cbf823c8744934f0681708" +checksum = "048a1ff3944a534b8472516866284181eef0a75b6dd4d39b6e5925715e350766" dependencies = [ - "bevy_app 0.15.2", - "bevy_core 0.15.2", - "bevy_ecs 0.15.2", - "bevy_tasks 0.15.2", - "bevy_time 0.15.2", - "bevy_utils 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_tasks 0.16.0", + "bevy_time 0.16.0", + "bevy_utils 0.16.0", "const-fnv1a-hash", + "log", + "serde", ] [[package]] @@ -1110,36 +1183,41 @@ dependencies = [ "bevy_reflect 0.14.2", "bevy_tasks 0.14.2", "bevy_utils 0.14.2", - "bitflags 2.8.0", + "bitflags 2.9.0", "concurrent-queue", "fixedbitset 0.5.7", "nonmax", "petgraph", "serde", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_ecs" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e6d5ad061f750f710a9a4e2f9e7d65f86c0061fc9ffcf3a430b3c003bc0088" +checksum = "d9e807b5d9aab3bb8dfe47e7a44c9ff088bad2ceefe299b80ac77609a87fe9d4" dependencies = [ "arrayvec 0.7.6", - "bevy_ecs_macros 0.15.2", - "bevy_ptr 0.15.2", - "bevy_reflect 0.15.2", - "bevy_tasks 0.15.2", - "bevy_utils 0.15.2", - "bitflags 2.8.0", + "bevy_ecs_macros 0.16.0", + "bevy_platform", + "bevy_ptr 0.16.0", + "bevy_reflect 0.16.0", + "bevy_tasks 0.16.0", + "bevy_utils 0.16.0", + "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]] @@ -1151,53 +1229,53 @@ dependencies = [ "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_ecs_macros" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea80917f2d11e8928d0b7cd41efa55b814355e6a3544a1bf68e6b73871d332c" +checksum = "467d7bb98aeb8dd30f36e6a773000c12a891d4f1bee2adc3841ec89cc8eaf54e" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_egui" -version = "0.31.1" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954fbe8551af4b40767ea9390ec7d32fe1070a6ab55d524cf0868c17f8469a55" +checksum = "3a3d58a8afdb6100bca50251043a85320391742cae125d559f6cca3a16b84cdd" dependencies = [ "arboard", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_input 0.15.2", - "bevy_log 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_time 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bevy_winit 0.15.2", + "bevy_input 0.16.0", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_time 0.16.0", + "bevy_window 0.16.0", + "bevy_winit 0.16.0", "bytemuck", "crossbeam-channel", "egui", "encase 0.10.0", + "image", "js-sys", - "log", "thread_local", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-types 23.0.0", + "wgpu-types 24.0.0", "winit", ] @@ -1213,11 +1291,11 @@ dependencies = [ [[package]] name = "bevy_encase_derive" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c863fb27c9c000bb3f573e5fc1bf3716e2182f99c582a373de6f5fba7e5a1" +checksum = "b8bb31dc1090c6f8fabbf6b21994d19a12766e786885ee48ffc547f0f1fa7863" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "encase_derive_impl 0.10.0", ] @@ -1230,7 +1308,7 @@ dependencies = [ "bevy_app 0.14.2", "bevy_ecs 0.14.2", "bevy_eventlistener_derive", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_utils 0.14.2", ] @@ -1242,16 +1320,16 @@ checksum = "3fc779559aa23b81da2b14fba90586755d225983c5b6d3154658e42fc088de7f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_file_asset" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "790f6af0ea857b65e36c88708deb15aa85a3d27365794e217269562978a671a6" +checksum = "89125b87890345cc3304783950d9b519a1b0fc0b6fab2e3a4bc8c8a30975b0bd" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "console_error_panic_hook", "futures", "serde", @@ -1261,10 +1339,10 @@ dependencies = [ [[package]] name = "bevy_gaussian_splatting" -version = "4.6.1" +version = "5.0.1" dependencies = [ "base64 0.22.1", - "bevy 0.15.2", + "bevy 0.16.0", "bevy-inspector-egui", "bevy_args", "bevy_file_asset", @@ -1282,7 +1360,6 @@ dependencies = [ "flexbuffers", "futures-intrusive", "half", - "image", "kd-tree", "noise", "ply-rs", @@ -1295,7 +1372,7 @@ dependencies = [ "typenum", "wasm-bindgen", "web-sys", - "wgpu 23.0.1", + "wgpu 24.0.3", ] [[package]] @@ -1322,26 +1399,27 @@ dependencies = [ [[package]] name = "bevy_gizmos" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e72da8e8ec50fac0fbe6734eab906df420adadbd410a277b7b8e1810e7a506f1" +checksum = "54af8145b35ab2a830a6dd1058e23c1e1ddc4b893db79d295259ef82f51c7520" dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core_pipeline 0.15.2", - "bevy_ecs 0.15.2", - "bevy_gizmos_macros 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_ecs 0.16.0", + "bevy_gizmos_macros 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_pbr 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", + "bevy_math 0.16.0", + "bevy_pbr 0.16.0", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", "bevy_sprite", - "bevy_time 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", + "bevy_time 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", "bytemuck", + "tracing", ] [[package]] @@ -1353,19 +1431,19 @@ dependencies = [ "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_gizmos_macros" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4db73d0a92f54b51f81da09702829ef1592bbdcbbfc5cfb1707ba45a4b33932" +checksum = "40137ace61f092b7a09eba41d7d1e6aef941f53a7818b06ef86dcce7b6a1fd3f" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -1375,46 +1453,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a88b912b37e1bc4dbb2aa40723199f74c8b06c4fbb6da0bb4585131df28ef66e" dependencies = [ "bevy_app 0.14.2", - "bevy_core 0.14.2", + "bevy_core", "bevy_ecs 0.14.2", "bevy_reflect 0.14.2", "bevy_utils 0.14.2", "smallvec", ] -[[package]] -name = "bevy_hierarchy" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618411cdfd5fcf6d5d56f86acef62f836090df63564d45e9ee14b4f295890574" -dependencies = [ - "bevy_app 0.15.2", - "bevy_core 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", - "bevy_utils 0.15.2", - "disqualified", - "smallvec", -] - [[package]] name = "bevy_image" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2de1efe0d2cc4952d0a0916f837edea5040b6dd286f6c7489869d09c9344b" +checksum = "840b25f7f58894c641739f756959028a04f519c448db7e2cd3e2e29fc5fd188d" dependencies = [ - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_utils 0.15.2", - "bitflags 2.8.0", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_utils 0.16.0", + "bitflags 2.9.0", "bytemuck", - "derive_more", "futures-lite 2.6.0", + "guillotiere", + "half", "image", + "rectangle-pack", "serde", - "wgpu 23.0.1", + "thiserror 2.0.12", + "tracing", + "wgpu-types 24.0.0", ] [[package]] @@ -1429,33 +1498,51 @@ dependencies = [ "bevy_reflect 0.14.2", "bevy_utils 0.14.2", "smol_str", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_input" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ce5373477aca15d0354336d763277bbff8086510e41aeb362ef1f90cf20db0" +checksum = "763410715714f3d4d2dcdf077af276e2e4ea93fd8081b183d446d060ea95baaa" dependencies = [ - "bevy_app 0.15.2", - "bevy_core 0.15.2", - "bevy_ecs 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_utils 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_utils 0.16.0", "derive_more", + "log", "serde", "smol_str", + "thiserror 2.0.12", +] + +[[package]] +name = "bevy_input_focus" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7e7b4ed65e10927a39a987cf85ef98727dd319aafb6e6835f2cb05b883c6d66" +dependencies = [ + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_input 0.16.0", + "bevy_math 0.16.0", + "bevy_reflect 0.16.0", + "bevy_window 0.16.0", + "log", + "thiserror 2.0.12", ] [[package]] name = "bevy_interleave" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3856aba0712d9c39b50e50cdda663e0ec5d4a859952fb1e0a9afb704989492d0" +checksum = "6bfe1f7e02a4113fd2ee3be2cbc7647234a9e84d5f176d562e74c0b9fc77dcba" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "bevy_interleave_interface", "bevy_interleave_macros", "bytemuck", @@ -1463,33 +1550,33 @@ dependencies = [ "serde", "wasm-bindgen", "web-sys", - "wgpu 23.0.1", + "wgpu 24.0.3", ] [[package]] name = "bevy_interleave_interface" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af56940118d5310ce0997660fd8a16ac2dc5a12c14787fbd7d5523a8cebf6aaf" +checksum = "85dfed00d02ff904f9140e2f7e65a2a3a1dd57323d9be95799ea7712bb784522" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", ] [[package]] name = "bevy_interleave_macros" -version = "0.6.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcf89341f2d25d6f39594461309b94c95868186d184e1dfc946944a3fb616e5" +checksum = "9b2f1c9a83705a01dc2968dd3e8860073ba106c6f9198b9c6e8bee6d19f90e65" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "bevy_interleave_interface", "bytemuck", "convert_case", "proc-macro2", "quote", "sha1 0.10.6", - "syn 2.0.98", - "wgpu 23.0.1", + "syn 2.0.101", + "wgpu 24.0.3", ] [[package]] @@ -1502,13 +1589,13 @@ dependencies = [ "bevy_app 0.14.2", "bevy_asset 0.14.2", "bevy_color 0.14.3", - "bevy_core 0.14.2", + "bevy_core", "bevy_core_pipeline 0.14.2", "bevy_derive 0.14.2", "bevy_diagnostic 0.14.2", "bevy_ecs 0.14.2", "bevy_gizmos 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_input 0.14.2", "bevy_log 0.14.2", "bevy_math 0.14.2", @@ -1526,40 +1613,40 @@ dependencies = [ [[package]] name = "bevy_internal" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "855d919ea737d7ff90b5225662ae8fb6294ab5fec587658e2ecd557149ca8a31" -dependencies = [ - "bevy_a11y 0.15.2", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core 0.15.2", - "bevy_core_pipeline 0.15.2", - "bevy_derive 0.15.2", - "bevy_diagnostic 0.15.2", - "bevy_ecs 0.15.2", - "bevy_gizmos 0.15.2", - "bevy_hierarchy 0.15.2", +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "526ffd64c58004cb97308826e896c07d0e23dc056c243b97492e31cdf72e2830" +dependencies = [ + "bevy_a11y 0.16.0", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_derive 0.16.0", + "bevy_diagnostic 0.16.0", + "bevy_ecs 0.16.0", + "bevy_gizmos 0.16.0", "bevy_image", - "bevy_input 0.15.2", - "bevy_log 0.15.2", - "bevy_math 0.15.2", - "bevy_pbr 0.15.2", - "bevy_picking", - "bevy_ptr 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_scene 0.15.2", + "bevy_input 0.16.0", + "bevy_input_focus", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_pbr 0.16.0", + "bevy_platform", + "bevy_ptr 0.16.0", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_scene 0.16.0", "bevy_sprite", - "bevy_tasks 0.15.2", + "bevy_state", + "bevy_tasks 0.16.0", "bevy_text", - "bevy_time 0.15.2", - "bevy_transform 0.15.2", + "bevy_time 0.16.0", + "bevy_transform 0.16.0", "bevy_ui", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bevy_winit 0.15.2", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", + "bevy_winit 0.16.0", ] [[package]] @@ -1579,14 +1666,15 @@ dependencies = [ [[package]] name = "bevy_log" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8530cc17503ccfe86c8496136fca222bfa389c9cc70267be7d377d0f6621aa29" +checksum = "7156df8d2f11135cf71c03eb4c11132b65201fd4f51648571e59e39c9c9ee2f6" dependencies = [ "android_log-sys", - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_utils 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_utils 0.16.0", + "tracing", "tracing-log", "tracing-oslog", "tracing-subscriber", @@ -1601,20 +1689,21 @@ checksum = "bfc65e570012e64a21f3546df68591aaede8349e6174fb500071677f54f06630" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", - "toml_edit 0.22.24", + "syn 2.0.101", + "toml_edit 0.22.26", ] [[package]] name = "bevy_macro_utils" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090371a2cd85574989febff6063a21d1fbbc2939e80f00fe075f62aa8e616136" +checksum = "7a2473db70d8785b5c75d6dd951a2e51e9be2c2311122db9692c79c9d887517b" dependencies = [ + "parking_lot", "proc-macro2", "quote", - "syn 2.0.98", - "toml_edit 0.22.24", + "syn 2.0.101", + "toml_edit 0.22.26", ] [[package]] @@ -1628,46 +1717,52 @@ dependencies = [ "rand 0.8.5", "serde", "smallvec", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_math" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389aaa6477f247f2c5d508f5a8cb800ea78442c74939c51383305fb1f5ee9939" +checksum = "f1a3a926d02dc501c6156a047510bdb538dcb1fa744eeba13c824b73ba88de55" dependencies = [ - "bevy_reflect 0.15.2", + "approx", + "bevy_reflect 0.16.0", "derive_more", - "glam 0.29.2", - "itertools 0.13.0", + "glam 0.29.3", + "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.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67098d7f880576315066b9220e7a3adec4c7ce9e0904f9388f652ac8e1965324" +checksum = "12af58280c7453e32e2f083d86eaa4c9b9d03ea8683977108ded8f1930c539f2" dependencies = [ - "bevy_asset 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", + "bevy_asset 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_mikktspace 0.15.2", - "bevy_reflect 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bitflags 2.8.0", + "bevy_math 0.16.0", + "bevy_mikktspace 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bitflags 2.9.0", "bytemuck", - "derive_more", "hexasphere 15.1.0", "serde", - "wgpu 23.0.1", + "thiserror 2.0.12", + "tracing", + "wgpu-types 24.0.0", ] [[package]] @@ -1681,11 +1776,11 @@ dependencies = [ [[package]] name = "bevy_mikktspace" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b437200c24c3f04183b34c28f7e854f8523cec6f44941c658c1e637d752f55b" +checksum = "75e0258423c689f764556e36b5d9eebdbf624b29a1fd5b33cd9f6c42dcc4d5f3" dependencies = [ - "glam 0.29.2", + "glam 0.29.3", ] [[package]] @@ -1695,7 +1790,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e290b8ad3e72dc621da7a9c21129da10540d78290ef8857353190e0213cac692" dependencies = [ "bevy_app 0.14.2", - "bevy_core 0.14.2", + "bevy_core", "bevy_ecs 0.14.2", "bevy_eventlistener", "bevy_math 0.14.2", @@ -1731,11 +1826,11 @@ dependencies = [ [[package]] name = "bevy_panorbit_camera" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55e54a2fbf69a596957134b387093009c1d4dc046a6c9f3d62f37230525dca19" +checksum = "ca6e15e297754d0bcb7665620c390c4f05665d4ac4ac91b4b5d3c66b9fe1f0e6" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "bevy_egui", ] @@ -1757,7 +1852,7 @@ dependencies = [ "bevy_transform 0.14.2", "bevy_utils 0.14.2", "bevy_window 0.14.2", - "bitflags 2.8.0", + "bitflags 2.9.0", "bytemuck", "fixedbitset 0.5.7", "nonmax", @@ -1768,53 +1863,36 @@ dependencies = [ [[package]] name = "bevy_pbr" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8705673ff221a8cccbd57beed4a304bc53836252fd986746691c75354765c419" +checksum = "d9fe0de43b68bf9e5090a33efc963f125e9d3f9d97be9ebece7bcfdde1b6da80" dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core_pipeline 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_derive 0.16.0", + "bevy_diagnostic 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bitflags 2.8.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", + "bitflags 2.9.0", "bytemuck", "derive_more", "fixedbitset 0.5.7", "nonmax", + "offset-allocator", "radsort", "smallvec", "static_assertions", -] - -[[package]] -name = "bevy_picking" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2688941eb3ba938a062924194d656e48749e25c76514a7c882b56f2495d4efb" -dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", - "bevy_input 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_time 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "uuid", + "thiserror 2.0.12", + "tracing", ] [[package]] @@ -1859,7 +1937,7 @@ checksum = "0ba8cf67c68a5e150c066366744f9a44006ead9ad280de1c9ca69a6a13c5e283" dependencies = [ "bevy_app 0.14.2", "bevy_ecs 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_input 0.14.2", "bevy_math 0.14.2", "bevy_picking_core", @@ -1885,6 +1963,24 @@ dependencies = [ "bevy_utils 0.14.2", ] +[[package]] +name = "bevy_platform" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704db2c11b7bc31093df4fbbdd3769f9606a6a5287149f4b51f2680f25834ebc" +dependencies = [ + "cfg-if", + "critical-section", + "foldhash", + "getrandom 0.2.16", + "hashbrown 0.15.3", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin 0.9.8", + "web-time", +] + [[package]] name = "bevy_ptr" version = "0.14.2" @@ -1893,9 +1989,9 @@ checksum = "61baa1bdc1f4a7ac2c18217570a7cc04e1cd54d38456e91782f0371c79afe0a8" [[package]] name = "bevy_ptr" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da2111eefa2000ea8c9dc1beee2eb7283b29b5ef90a29fe43c748df549f84ad" +checksum = "86f1275dfb4cfef4ffc90c3fa75408964864facf833acc932413d52aa5364ba4" [[package]] name = "bevy_reflect" @@ -1906,35 +2002,40 @@ dependencies = [ "bevy_ptr 0.14.2", "bevy_reflect_derive 0.14.2", "bevy_utils 0.14.2", - "downcast-rs", + "downcast-rs 1.2.1", "erased-serde", "glam 0.27.0", "serde", "smallvec", "smol_str", - "thiserror", + "thiserror 1.0.69", "uuid", ] [[package]] name = "bevy_reflect" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82af24a68fd8feff476d9672ff34d220d3f45e95ef2f2324e7cb674614d18138" +checksum = "607ebacc31029cf2f39ac330eabf1d4bc411b159528ec08dbe6b0593eaccfd41" dependencies = [ "assert_type_match", - "bevy_ptr 0.15.2", - "bevy_reflect_derive 0.15.2", - "bevy_utils 0.15.2", + "bevy_platform", + "bevy_ptr 0.16.0", + "bevy_reflect_derive 0.16.0", + "bevy_utils 0.16.0", "derive_more", "disqualified", - "downcast-rs", + "downcast-rs 2.0.1", "erased-serde", - "glam 0.29.2", + "foldhash", + "glam 0.29.3", "serde", "smallvec", "smol_str", + "thiserror 2.0.12", "uuid", + "variadics_please", + "wgpu-types 24.0.0", ] [[package]] @@ -1946,20 +2047,20 @@ dependencies = [ "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "uuid", ] [[package]] name = "bevy_reflect_derive" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8369e6e779ab3540f9dcd93d062139f62551b3d2fe1ab451c6ddf74757e22ccd" +checksum = "cf35e45e4eb239018369f63f2adc2107a54c329f9276d020e01eee1625b0238b" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "uuid", ] @@ -1973,12 +2074,12 @@ dependencies = [ "bevy_app 0.14.2", "bevy_asset 0.14.2", "bevy_color 0.14.3", - "bevy_core 0.14.2", + "bevy_core", "bevy_derive 0.14.2", "bevy_diagnostic 0.14.2", "bevy_ecs 0.14.2", "bevy_encase_derive 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_math 0.14.2", "bevy_mikktspace 0.14.2", "bevy_reflect 0.14.2", @@ -1988,10 +2089,10 @@ dependencies = [ "bevy_transform 0.14.2", "bevy_utils 0.14.2", "bevy_window 0.14.2", - "bitflags 2.8.0", + "bitflags 2.9.0", "bytemuck", "codespan-reporting", - "downcast-rs", + "downcast-rs 1.2.1", "encase 0.8.0", "futures-lite 2.6.0", "hexasphere 12.0.0", @@ -2003,7 +2104,7 @@ dependencies = [ "send_wrapper", "serde", "smallvec", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu 0.20.1", @@ -2011,48 +2112,53 @@ dependencies = [ [[package]] name = "bevy_render" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d7e8783b29fe98e2937c833577543b4e2feefcd51678c6452b1be94f8032de6" +checksum = "85a7306235b3343b032801504f3e884b93abfb7ba58179fc555c479df509f349" dependencies = [ "async-channel 2.3.1", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core 0.15.2", - "bevy_derive 0.15.2", - "bevy_diagnostic 0.15.2", - "bevy_ecs 0.15.2", - "bevy_encase_derive 0.15.2", - "bevy_hierarchy 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_derive 0.16.0", + "bevy_diagnostic 0.16.0", + "bevy_ecs 0.16.0", + "bevy_encase_derive 0.16.0", "bevy_image", - "bevy_math 0.15.2", + "bevy_math 0.16.0", "bevy_mesh", - "bevy_reflect 0.15.2", - "bevy_render_macros 0.15.2", - "bevy_tasks 0.15.2", - "bevy_time 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render_macros 0.16.0", + "bevy_tasks 0.16.0", + "bevy_time 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", + "bitflags 2.9.0", "bytemuck", "codespan-reporting", "derive_more", - "downcast-rs", + "downcast-rs 2.0.1", "encase 0.10.0", + "fixedbitset 0.5.7", "futures-lite 2.6.0", "image", + "indexmap", "js-sys", - "naga 23.1.0", - "naga_oil 0.16.0", + "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 23.0.1", + "wgpu 24.0.3", ] [[package]] @@ -2064,19 +2170,19 @@ dependencies = [ "bevy_macro_utils 0.14.2", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_render_macros" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c00cc2ab6694b73540b2a65c63bb33a9daee73a02f842eab8d9dc606758e627" +checksum = "b85c4fb26b66d3a257b655485d11b9b6df9d3c85026493ba8092767a5edfc1b2" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -2089,91 +2195,91 @@ dependencies = [ "bevy_asset 0.14.2", "bevy_derive 0.14.2", "bevy_ecs 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_reflect 0.14.2", "bevy_render 0.14.2", "bevy_transform 0.14.2", "bevy_utils 0.14.2", "serde", - "thiserror", + "thiserror 1.0.69", "uuid", ] [[package]] name = "bevy_scene" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224fa123fd8d7368ca623337dc5bd6a381b88d759807cceb5c49932c817ae8e4" -dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7b628f560f2d2fe9f35ecd4526627ba3992f082de03fd745536e4053a0266fe" +dependencies = [ + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", "derive_more", "serde", + "thiserror 2.0.12", "uuid", ] [[package]] name = "bevy_sprite" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9088673ea7f6034796e021aec73abe1d4c81ec40657d033e1e9bc71ddbe4005" +checksum = "01f97bf54fb1c37a1077139b59bb32bc77f7ca53149cfcaa512adbb69a2d492c" dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core_pipeline 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_picking", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bitflags 2.8.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bitflags 2.9.0", "bytemuck", "derive_more", "fixedbitset 0.5.7", - "guillotiere", "nonmax", "radsort", - "rectangle-pack", - "serde", + "tracing", ] [[package]] name = "bevy_state" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "309a822106bf032ae71a3e99716c6c1d275116c76357ed647544e1eee20d7093" +checksum = "682c343c354b191fe6669823bce3b0695ee1ae4ac36f582e29c436a72b67cdd5" dependencies = [ - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", - "bevy_reflect 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", "bevy_state_macros", - "bevy_utils 0.15.2", + "bevy_utils 0.16.0", + "log", + "variadics_please", ] [[package]] name = "bevy_state_macros" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f8706d4c2a548f3d4d2ac5a205cef8000326de94c1eaad5424163c4bfd3bcc" +checksum = "55b4bf3970c4f0e60572901df4641656722172c222d71a80c430d36b0e31426c" dependencies = [ - "bevy_macro_utils 0.15.2", + "bevy_macro_utils 0.16.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -2189,44 +2295,53 @@ dependencies = [ [[package]] name = "bevy_tasks" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e085e93374b8dd2559968bcc1bc66d059387ef3128e59e9af92dcde03f10b7" +checksum = "444c450b65e108855f42ecb6db0c041a56ea7d7f10cc6222f0ca95e9536a7d19" dependencies = [ "async-channel 2.3.1", "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "cfg-if", "concurrent-queue", + "crossbeam-queue", + "derive_more", "futures-channel", "futures-lite 2.6.0", + "heapless", "pin-project", "wasm-bindgen-futures", ] [[package]] name = "bevy_text" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8535ee55fface5eea20d5fe8ae94cbac843ef40e77e34fb27884e893a944febf" +checksum = "8ef071262c5a9afbc39caba4c0b282c7d045fbb5cf33bdab1924bd2343403833" dependencies = [ - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", "bevy_sprite", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", "cosmic-text", - "derive_more", "serde", "smallvec", "sys-locale", + "thiserror 2.0.12", + "tracing", "unicode-bidi", ] @@ -2241,20 +2356,21 @@ dependencies = [ "bevy_reflect 0.14.2", "bevy_utils 0.14.2", "crossbeam-channel", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_time" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02b14d56c04a372725dacc656e2e5f134ff239e72cd73431a065b32b296db31" +checksum = "456369ca10f8e039aaf273332744674844827854833ee29e28f9e161702f2f55" dependencies = [ - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_reflect 0.15.2", - "bevy_utils 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", "crossbeam-channel", + "log", "serde", ] @@ -2266,25 +2382,28 @@ checksum = "d5493dce84427d00a9266e8e4386d738a72ee8640423b62dfcecb6dfccbfe0d2" dependencies = [ "bevy_app 0.14.2", "bevy_ecs 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_math 0.14.2", "bevy_reflect 0.14.2", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "bevy_transform" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3978e1f714e57a32da6d567f9d561044b2da623bf27cd02380c4e27b5f0645" +checksum = "8479cdd5461246943956a7c8347e4e5d6ff857e57add889fb50eee0b5c26ab48" dependencies = [ - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_reflect 0.16.0", + "bevy_tasks 0.16.0", + "bevy_utils 0.16.0", "derive_more", "serde", + "thiserror 2.0.12", ] [[package]] @@ -2300,36 +2419,37 @@ dependencies = [ [[package]] name = "bevy_ui" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04399a84cf5f9bce78808ca8487b0de5a25ed4de6370148bd191af2ebfd7ed4b" -dependencies = [ - "accesskit 0.17.1", - "bevy_a11y 0.15.2", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_color 0.15.3", - "bevy_core_pipeline 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "110dc5d0059f112263512be8cd7bfe0466dfb7c26b9bf4c74529355249fd23f9" +dependencies = [ + "accesskit 0.18.0", + "bevy_a11y 0.16.0", + "bevy_app 0.16.0", + "bevy_asset 0.16.0", + "bevy_color 0.16.1", + "bevy_core_pipeline 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", "bevy_image", - "bevy_input 0.15.2", - "bevy_math 0.15.2", - "bevy_picking", - "bevy_reflect 0.15.2", - "bevy_render 0.15.2", + "bevy_input 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_render 0.16.0", "bevy_sprite", "bevy_text", - "bevy_transform 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", + "bevy_transform 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", "bytemuck", "derive_more", "nonmax", "serde", "smallvec", "taffy", + "thiserror 2.0.12", + "tracing", ] [[package]] @@ -2338,9 +2458,9 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb0ec333b5965771153bd746f92ffd8aeeb9d008a8620ffd9ed474859381a5e" dependencies = [ - "ahash 0.8.11", - "bevy_utils_proc_macros 0.14.2", - "getrandom 0.2.15", + "ahash 0.8.12", + "bevy_utils_proc_macros", + "getrandom 0.2.16", "hashbrown 0.14.5", "thread_local", "tracing", @@ -2349,17 +2469,12 @@ dependencies = [ [[package]] name = "bevy_utils" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2993cac374b3f88cfaf59506c71f8e3e7ad8b4961f4e9864bc76e1c9e1e4400c" +checksum = "ac2da3b3c1f94dadefcbe837aaa4aa119fcea37f7bdc5307eb05b4ede1921e24" dependencies = [ - "ahash 0.8.11", - "bevy_utils_proc_macros 0.15.2", - "getrandom 0.2.15", - "hashbrown 0.14.5", + "bevy_platform", "thread_local", - "tracing", - "web-time", ] [[package]] @@ -2370,27 +2485,16 @@ checksum = "38f1ab8f2f6f58439d260081d89a42b02690e5fdd64f814edc9417d33fcf2857" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", -] - -[[package]] -name = "bevy_utils_proc_macros" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2606f79dfe359a88e2a59bb6cd632cd42e9d4bcd250ac8bc3a4e7657e82f4f39" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "bevy_web_asset" -version = "0.10.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40e584e08414e5f270bf77efaba6dfd7a4bdfad0c644c91b61cd515e1db7c725" +checksum = "f932c86d0cc85517c4fd92a1210750cdb349c59b8138a892415906bf8bac0718" dependencies = [ - "bevy 0.15.2", + "bevy 0.16.0", "js-sys", "pin-project", "surf", @@ -2417,18 +2521,19 @@ dependencies = [ [[package]] name = "bevy_window" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77030191aa76e8b1b5c315e24868b4766c86cc05d06ea10df275640af73404c" +checksum = "0d83327cc5584da463d12b7a88ddb97f9e006828832287e1564531171fffdeb4" dependencies = [ "android-activity", - "bevy_a11y 0.15.2", - "bevy_app 0.15.2", - "bevy_ecs 0.15.2", - "bevy_input 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_utils 0.15.2", + "bevy_app 0.16.0", + "bevy_ecs 0.16.0", + "bevy_input 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_utils 0.16.0", + "log", "raw-window-handle", "serde", "smol_str", @@ -2446,7 +2551,7 @@ dependencies = [ "bevy_app 0.14.2", "bevy_derive 0.14.2", "bevy_ecs 0.14.2", - "bevy_hierarchy 0.14.2", + "bevy_hierarchy", "bevy_input 0.14.2", "bevy_log 0.14.2", "bevy_math 0.14.2", @@ -2464,35 +2569,33 @@ dependencies = [ [[package]] name = "bevy_winit" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d17bb9a8635b492882d9bb50d1cca76980d00073d634deb6da61746c52294307" +checksum = "57b14928923ae4274f4b867dce3d0e7b2c8a31bebcb0f6e65a4261c3e0765064" dependencies = [ - "accesskit 0.17.1", - "accesskit_winit 0.23.1", + "accesskit 0.18.0", + "accesskit_winit 0.25.0", "approx", - "bevy_a11y 0.15.2", - "bevy_app 0.15.2", - "bevy_asset 0.15.2", - "bevy_derive 0.15.2", - "bevy_ecs 0.15.2", - "bevy_hierarchy 0.15.2", - "bevy_image", - "bevy_input 0.15.2", - "bevy_log 0.15.2", - "bevy_math 0.15.2", - "bevy_reflect 0.15.2", - "bevy_tasks 0.15.2", - "bevy_utils 0.15.2", - "bevy_window 0.15.2", - "bytemuck", + "bevy_a11y 0.16.0", + "bevy_app 0.16.0", + "bevy_derive 0.16.0", + "bevy_ecs 0.16.0", + "bevy_input 0.16.0", + "bevy_input_focus", + "bevy_log 0.16.0", + "bevy_math 0.16.0", + "bevy_platform", + "bevy_reflect 0.16.0", + "bevy_tasks 0.16.0", + "bevy_utils 0.16.0", + "bevy_window 0.16.0", "cfg-if", "crossbeam-channel", "raw-window-handle", "serde", + "tracing", "wasm-bindgen", "web-sys", - "wgpu-types 23.0.0", "winit", ] @@ -2512,7 +2615,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -2523,7 +2626,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -2556,6 +2659,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + [[package]] name = "bitflags" version = "1.3.2" @@ -2564,13 +2673,19 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" dependencies = [ "serde", ] +[[package]] +name = "bitstream-io" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" + [[package]] name = "bitvec" version = "1.0.1" @@ -2585,9 +2700,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.5" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec 0.7.6", @@ -2626,7 +2741,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" dependencies = [ - "objc2", + "objc2 0.5.2", ] [[package]] @@ -2644,9 +2759,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.5" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ "borsh-derive", "cfg_aliases 0.2.1", @@ -2654,17 +2769,23 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.5" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8b668d39970baad5356d7c83a86fee3a539e6f93bf6764c97368243e17a0487" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] +[[package]] +name = "built" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" + [[package]] name = "bumpalo" version = "3.17.0" @@ -2712,22 +2833,22 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.21.0" +version = "1.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" +checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.8.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" +checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -2744,9 +2865,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "calloop" @@ -2754,12 +2875,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "log", "polling 3.7.4", "rustix 0.38.44", "slab", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2800,7 +2921,7 @@ checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" dependencies = [ "camino", "cargo-platform", - "semver 1.0.25", + "semver 1.0.26", "serde", "serde_json", ] @@ -2813,9 +2934,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.14" +version = "1.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9" +checksum = "8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0" dependencies = [ "jobserver", "libc", @@ -2837,6 +2958,16 @@ dependencies = [ "nom 7.1.3", ] +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -2904,9 +3035,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.29" +version = "4.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acebd8ad879283633b343856142139f2da2317c96b05b4dd6181c61e2480184" +checksum = "eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071" dependencies = [ "clap_builder", "clap_derive", @@ -2914,9 +3045,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.29" +version = "4.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ba32cbda51c7e1dfd49acc1457ba1a7dec5b64fe360e828acb13ca8dc9c2f9" +checksum = "efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2" dependencies = [ "anstream", "anstyle", @@ -2926,14 +3057,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.28" +version = "4.5.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -2962,8 +3093,14 @@ dependencies = [ ] [[package]] -name = "colorchoice" -version = "1.0.3" +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" @@ -3015,6 +3152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", + "portable-atomic", ] [[package]] @@ -3044,26 +3182,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" -[[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "tiny-keccak", -] - [[package]] name = "const_fn" version = "0.4.11" @@ -3099,9 +3217,9 @@ dependencies = [ [[package]] name = "convert_case" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f" dependencies = [ "unicode-segmentation", ] @@ -3165,18 +3283,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.8.0", + "bitflags 2.9.0", "fontdb", "log", "rangemap", - "rayon", "rustc-hash", "rustybuzz", "self_cell", + "smol_str", "swash", "sys-locale", "ttf-parser 0.21.1", @@ -3246,11 +3364,17 @@ dependencies = [ "itertools 0.10.5", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -3326,9 +3450,9 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.5" +version = "3.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" +checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c" dependencies = [ "nix", "windows-sys 0.59.0", @@ -3346,7 +3470,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "libloading 0.8.6", "winapi", ] @@ -3366,9 +3490,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "deadpool" @@ -3401,7 +3525,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "unicode-xid", ] @@ -3436,6 +3560,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.9.0", + "objc2 0.6.1", +] + [[package]] name = "displaydoc" version = "0.2.5" @@ -3444,7 +3578,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -3464,9 +3598,9 @@ dependencies = [ [[package]] name = "document-features" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" dependencies = [ "litrs", ] @@ -3477,17 +3611,23 @@ 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" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "ecolor" -version = "0.29.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775cfde491852059e386c4e1deb4aef381c617dc364184c6f6afee99b87c402b" +checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" dependencies = [ "bytemuck", "emath", @@ -3495,27 +3635,29 @@ dependencies = [ [[package]] name = "egui" -version = "0.29.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53eafabcce0cb2325a59a98736efe0bf060585b437763f8c476957fb274bb974" +checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", + "bitflags 2.9.0", "emath", "epaint", "nohash-hasher", + "profiling", ] [[package]] name = "either" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emath" -version = "0.29.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1fe0049ce51d0fb414d029e668dd72eb30bc2b739bf34296ed97bd33df544f3" +checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" dependencies = [ "bytemuck", ] @@ -3529,7 +3671,7 @@ dependencies = [ "const_panic", "encase_derive 0.8.0", "glam 0.27.0", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3540,8 +3682,8 @@ checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" dependencies = [ "const_panic", "encase_derive 0.10.0", - "glam 0.29.2", - "thiserror", + "glam 0.29.3", + "thiserror 1.0.69", ] [[package]] @@ -3570,7 +3712,7 @@ checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -3581,42 +3723,54 @@ checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", +] + +[[package]] +name = "enumn" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] name = "epaint" -version = "0.29.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a32af8da821bd4f43f2c137e295459ee2e1661d87ca8779dfa0eaf45d870e20f" +checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562" dependencies = [ "ab_glyph", - "ahash 0.8.11", + "ahash 0.8.12", "bytemuck", "ecolor", "emath", "epaint_default_fonts", "nohash-hasher", "parking_lot", + "profiling", ] [[package]] name = "epaint_default_fonts" -version = "0.29.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483440db0b7993cf77a20314f08311dbe95675092405518c0677aa08c151a3ea" +checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f" [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" dependencies = [ "serde", "typeid", @@ -3624,9 +3778,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.59.0", @@ -3643,9 +3797,9 @@ dependencies = [ [[package]] name = "error-code" -version = "3.3.1" +version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" +checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" [[package]] name = "euclid" @@ -3675,14 +3829,29 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ "event-listener 5.4.0", "pin-project-lite", ] +[[package]] +name = "exr" +version = "1.73.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" +dependencies = [ + "bit_field", + "half", + "lebe", + "miniz_oxide", + "rayon-core", + "smallvec", + "zune-inflate", +] + [[package]] name = "fastrand" version = "1.9.0" @@ -3721,9 +3890,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.0.35" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", "miniz_oxide", @@ -3731,9 +3900,9 @@ dependencies = [ [[package]] name = "flexbuffers" -version = "24.12.23" +version = "25.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b927524945370ccf5cbc75d705e6a02bec0aefca9fc1be5d49788659f50df40" +checksum = "935627e7bc8f083035d9faad09ffaed9128f73fb1f74a8798f115749c43378e8" dependencies = [ "bitflags 1.3.2", "byteorder", @@ -3744,15 +3913,15 @@ dependencies = [ [[package]] name = "foldhash" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] name = "font-types" -version = "0.7.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" +checksum = "02a596f5713680923a2080d86de50fe472fb290693cf0f701187a1c8b36996b7" dependencies = [ "bytemuck", ] @@ -3798,7 +3967,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -3917,7 +4086,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -3992,9 +4161,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", @@ -4005,14 +4174,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ "cfg-if", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -4025,6 +4194,16 @@ dependencies = [ "polyval", ] +[[package]] +name = "gif" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "gimli" version = "0.31.1" @@ -4055,11 +4234,12 @@ 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", "rand 0.8.5", "serde", ] @@ -4096,9 +4276,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.14.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51fa363f025f5c111e03f13eda21162faeacb6911fe8caa0c0349f9cf0c4483" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" dependencies = [ "js-sys", "slotmap", @@ -4130,7 +4310,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "gpu-alloc-types", ] @@ -4140,7 +4320,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -4151,7 +4331,7 @@ checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" dependencies = [ "log", "presser", - "thiserror", + "thiserror 1.0.69", "winapi", "windows 0.52.0", ] @@ -4164,7 +4344,7 @@ checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ "log", "presser", - "thiserror", + "thiserror 1.0.69", "windows 0.58.0", ] @@ -4174,9 +4354,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcf29e94d6d243368b7a56caa16bc213e4f9f8ed38c4d9557069527b5d5281ca" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "gpu-descriptor-types", - "hashbrown 0.15.2", + "hashbrown 0.15.3", ] [[package]] @@ -4185,14 +4365,14 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[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" @@ -4206,15 +4386,24 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" dependencies = [ "cfg-if", "crunchy", "serde", ] +[[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.12.3" @@ -4230,18 +4419,20 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "allocator-api2", "serde", ] [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" dependencies = [ + "equivalent", "foldhash", + "serde", ] [[package]] @@ -4250,15 +4441,26 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "com", "libc", "libloading 0.8.6", - "thiserror", + "thiserror 1.0.69", "widestring", "winapi", ] +[[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" @@ -4277,6 +4479,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" +[[package]] +name = "hermit-abi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" + [[package]] name = "hexasphere" version = "12.0.0" @@ -4294,7 +4502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c9e718d32b6e6b2b32354e1b0367025efdd0b11d6a740b905ddf5db1074679" dependencies = [ "constgebra", - "glam 0.29.2", + "glam 0.29.3", "tinyvec", ] @@ -4367,27 +4575,28 @@ dependencies = [ [[package]] name = "httparse" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -4396,31 +4605,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -4428,67 +4617,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" +checksum = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.98", -] - [[package]] name = "idna" version = "1.0.3" @@ -4502,9 +4678,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -4512,17 +4688,43 @@ dependencies = [ [[package]] name = "image" -version = "0.25.5" +version = "0.25.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" +checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" dependencies = [ "bytemuck", "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", "num-traits", "png", + "qoi", + "ravif", + "rayon", + "rgb", "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f" +dependencies = [ + "byteorder-lite", + "quick-error", ] +[[package]] +name = "imgref" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" + [[package]] name = "immutable-chunkmap" version = "2.0.6" @@ -4534,12 +4736,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.7.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.3", + "serde", ] [[package]] @@ -4557,6 +4760,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + [[package]] name = "io-lifetimes" version = "1.0.11" @@ -4570,11 +4784,11 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.15" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.4.0", + "hermit-abi 0.5.1", "libc", "windows-sys 0.59.0", ] @@ -4594,6 +4808,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -4603,11 +4826,20 @@ 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.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jni" @@ -4620,7 +4852,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", "windows-sys 0.45.0", ] @@ -4633,10 +4865,11 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ + "getrandom 0.3.2", "libc", ] @@ -4700,6 +4933,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + [[package]] name = "lexical-core" version = "0.7.6" @@ -4715,9 +4954,19 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.169" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libfuzzer-sys" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75" +dependencies = [ + "arbitrary", + "cc", +] [[package]] name = "libloading" @@ -4741,9 +4990,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" @@ -4751,9 +5000,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "libc", - "redox_syscall 0.5.8", + "redox_syscall 0.5.12", ] [[package]] @@ -4774,11 +5023,17 @@ version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + [[package]] name = "litemap" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "litrs" @@ -4798,13 +5053,22 @@ dependencies = [ [[package]] name = "log" -version = "0.4.25" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ "value-bag", ] +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "malloc_buf" version = "0.0.6" @@ -4823,6 +5087,16 @@ dependencies = [ "regex-automata 0.1.10", ] +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.7.4" @@ -4844,7 +5118,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block", "core-graphics-types", "foreign-types", @@ -4855,11 +5129,11 @@ dependencies = [ [[package]] name = "metal" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +checksum = "f569fb946490b5743ad69813cb19629130ce9374034abe31614a36402d18f99e" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block", "core-graphics-types", "foreign-types", @@ -4892,9 +5166,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" dependencies = [ "adler2", "simd-adler32", @@ -4908,7 +5182,7 @@ checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" dependencies = [ "arrayvec 0.7.6", "bit-set 0.5.3", - "bitflags 2.8.0", + "bitflags 2.9.0", "codespan-reporting", "hexf-parse", "indexmap", @@ -4918,20 +5192,20 @@ dependencies = [ "rustc-hash", "spirv", "termcolor", - "thiserror", + "thiserror 1.0.69", "unicode-xid", ] [[package]] name = "naga" -version = "23.1.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364f94bc34f61332abebe8cad6f6cd82a5b65cff22c828d05d0968911462ca4f" +checksum = "e380993072e52eef724eddfcde0ed013b0c023c3f0417336ed041aa9f076994e" dependencies = [ "arrayvec 0.7.6", "bit-set 0.8.0", - "bitflags 2.8.0", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases 0.2.1", "codespan-reporting", "hexf-parse", "indexmap", @@ -4939,8 +5213,9 @@ dependencies = [ "pp-rs", "rustc-hash", "spirv", + "strum", "termcolor", - "thiserror", + "thiserror 2.0.12", "unicode-xid", ] @@ -4959,27 +5234,27 @@ dependencies = [ "regex", "regex-syntax 0.8.5", "rustc-hash", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-ident", ] [[package]] name = "naga_oil" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ea1f080bb359927cd5404d0af1e5e6758f4f2d82ecfbebb0a0c434764e40f1" +checksum = "0ca507a365f886f95f74420361b75442a3709c747a8a6e8b6c45b8667f45a82c" dependencies = [ "bit-set 0.5.3", "codespan-reporting", "data-encoding", "indexmap", - "naga 23.1.0", + "naga 24.0.0", "once_cell", "regex", "regex-syntax 0.8.5", "rustc-hash", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-ident", ] @@ -4990,13 +5265,13 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "jni-sys", "log", "ndk-sys 0.6.0+11769913", "num_enum 0.7.3", "raw-window-handle", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -5023,13 +5298,19 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + [[package]] name = "nix" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg-if", "cfg_aliases 0.2.1", "libc", @@ -5079,6 +5360,12 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -5089,6 +5376,47 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -5145,10 +5473,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -5176,33 +5504,54 @@ dependencies = [ "objc2-encode", ] +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", +] + [[package]] name = "objc2-app-kit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", "libc", - "objc2", + "objc2 0.5.2", "objc2-core-data", "objc2-core-image", - "objc2-foundation", + "objc2-foundation 0.2.2", "objc2-quartz-core", ] +[[package]] +name = "objc2-app-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" +dependencies = [ + "bitflags 2.9.0", + "objc2 0.6.1", + "objc2-core-graphics", + "objc2-foundation 0.3.1", +] + [[package]] name = "objc2-cloud-kit" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", + "objc2 0.5.2", "objc2-core-location", - "objc2-foundation", + "objc2-foundation 0.2.2", ] [[package]] @@ -5212,8 +5561,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" dependencies = [ "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5222,10 +5571,34 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.0", + "dispatch2", + "objc2 0.6.1", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" +dependencies = [ + "bitflags 2.9.0", + "dispatch2", + "objc2 0.6.1", + "objc2-core-foundation", + "objc2-io-surface", ] [[package]] @@ -5235,8 +5608,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" dependencies = [ "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", "objc2-metal", ] @@ -5247,9 +5620,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" dependencies = [ "block2", - "objc2", + "objc2 0.5.2", "objc2-contacts", - "objc2-foundation", + "objc2-foundation 0.2.2", ] [[package]] @@ -5264,11 +5637,33 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", "dispatch", "libc", - "objc2", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.0", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" +dependencies = [ + "bitflags 2.9.0", + "objc2 0.6.1", + "objc2-core-foundation", ] [[package]] @@ -5278,9 +5673,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" dependencies = [ "block2", - "objc2", - "objc2-app-kit", - "objc2-foundation", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5289,10 +5684,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5301,10 +5696,10 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", "objc2-metal", ] @@ -5314,8 +5709,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" dependencies = [ - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5324,14 +5719,14 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", + "objc2 0.5.2", "objc2-cloud-kit", "objc2-core-data", "objc2-core-image", "objc2-core-location", - "objc2-foundation", + "objc2-foundation 0.2.2", "objc2-link-presentation", "objc2-quartz-core", "objc2-symbols", @@ -5346,8 +5741,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" dependencies = [ "block2", - "objc2", - "objc2-foundation", + "objc2 0.5.2", + "objc2-foundation 0.2.2", ] [[package]] @@ -5356,11 +5751,11 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", - "objc2", + "objc2 0.5.2", "objc2-core-location", - "objc2-foundation", + "objc2-foundation 0.2.2", ] [[package]] @@ -5384,15 +5779,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "oorandom" -version = "11.1.4" +version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "opaque-debug" @@ -5457,7 +5852,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.8", + "redox_syscall 0.5.12", "smallvec", "windows-targets 0.52.6", ] @@ -5513,22 +5908,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.9" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -5556,9 +5951,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plotters" @@ -5651,14 +6046,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] -name = "polyval" -version = "0.4.5" +name = "polyval" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +dependencies = [ + "cpuid-bool", + "opaque-debug", + "universal-hash", +] + +[[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 = "potential_utf" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" dependencies = [ - "cpuid-bool", - "opaque-debug", - "universal-hash", + "zerovec", ] [[package]] @@ -5672,9 +6091,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ "zerocopy", ] @@ -5687,12 +6106,12 @@ checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] name = "prettyplease" -version = "0.2.29" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" dependencies = [ "proc-macro2", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -5707,11 +6126,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" dependencies = [ - "toml_edit 0.22.24", + "toml_edit 0.22.26", ] [[package]] @@ -5722,9 +6141,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.93" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -5734,6 +6153,19 @@ name = "profiling" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" +dependencies = [ + "quote", + "syn 2.0.101", +] [[package]] name = "ptr_meta" @@ -5761,29 +6193,50 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "memchr", "unicase", ] +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + [[package]] name = "quick-xml" -version = "0.37.2" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165859e9e55f79d67b96c5d96f4e88b6f2695a1972849c15a6a3f5c59fc2c003" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 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 = "radium" version = "0.7.0" @@ -5855,7 +6308,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -5898,6 +6351,56 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" +[[package]] +name = "rav1e" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" +dependencies = [ + "arbitrary", + "arg_enum_proc_macro", + "arrayvec 0.7.6", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools 0.12.1", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "once_cell", + "paste", + "profiling", + "rand 0.8.5", + "rand_chacha 0.3.1", + "simd_helpers", + "system-deps", + "thiserror 1.0.69", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6a5f31fcf7500f9401fea858ea4ab5525c99f2322cfcee732c0e6c74208c0c6" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -5926,9 +6429,9 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.22.7" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69aacb76b5c29acfb7f90155d39759a29496aebb49395830e928a9703d2eec2f" +checksum = "5ce8e2ca6b24313587a03ca61bb74c384e2a815bd90cf2866cfc9f5fb7a11fa0" dependencies = [ "bytemuck", "font-types", @@ -5951,11 +6454,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.8" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6017,6 +6520,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" +[[package]] +name = "rgb" +version = "0.8.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" + [[package]] name = "ring" version = "0.16.20" @@ -6026,7 +6535,7 @@ dependencies = [ "cc", "libc", "once_cell", - "spin", + "spin 0.5.2", "untrusted", "web-sys", "winapi", @@ -6068,7 +6577,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", - "bitflags 2.8.0", + "bitflags 2.9.0", "serde", "serde_derive", ] @@ -6081,9 +6590,9 @@ checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] name = "rust_decimal" -version = "1.36.0" +version = "1.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +checksum = "faa7de2ba56ac291bd90c6b9bece784a52ae1411f9506544b3eae36dd2356d50" dependencies = [ "arrayvec 0.7.6", "borsh", @@ -6136,13 +6645,26 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "errno", "libc", "linux-raw-sys 0.4.15", "windows-sys 0.59.0", ] +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.0", + "errno", + "libc", + "linux-raw-sys 0.9.4", + "windows-sys 0.59.0", +] + [[package]] name = "rustls" version = "0.18.1" @@ -6158,9 +6680,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" +checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" [[package]] name = "rustybuzz" @@ -6168,7 +6690,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "bytemuck", "libm", "smallvec", @@ -6181,9 +6703,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -6237,9 +6759,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "self_cell" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe" +checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749" [[package]] name = "semver" @@ -6252,9 +6774,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] @@ -6273,29 +6795,29 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.217" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "serde_json" -version = "1.0.138" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", "memchr", @@ -6311,7 +6833,16 @@ checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ "percent-encoding", "serde", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", ] [[package]] @@ -6386,6 +6917,15 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -6409,9 +6949,9 @@ dependencies = [ [[package]] name = "skrifa" -version = "0.22.3" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" +checksum = "bbe6666ab11018ab91ff7b03f1a3b9fdbecfb610848436fefa5ce50343d3d913" dependencies = [ "bytemuck", "read-fonts", @@ -6437,9 +6977,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.2" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" dependencies = [ "serde", ] @@ -6450,7 +6990,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "calloop", "calloop-wayland-source", "cursor-icon", @@ -6458,7 +6998,7 @@ dependencies = [ "log", "memmap2", "rustix 0.38.44", - "thiserror", + "thiserror 1.0.69", "wayland-backend", "wayland-client", "wayland-csd-frame", @@ -6494,13 +7034,22 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] [[package]] @@ -6591,6 +7140,28 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[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 2.0.101", +] + [[package]] name = "subtle" version = "2.4.1" @@ -6607,7 +7178,7 @@ dependencies = [ "async-trait", "cfg-if", "futures-util", - "getrandom 0.2.15", + "getrandom 0.2.16", "http-client", "http-types", "log", @@ -6621,15 +7192,15 @@ dependencies = [ [[package]] name = "svg_fmt" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" +checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" [[package]] name = "swash" -version = "0.1.19" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" +checksum = "5dce3f0af95643c855cdc449fbaa17d8c2cd08e0b00a49a6babcbe6e71667f3d" dependencies = [ "skrifa", "yazi", @@ -6649,9 +7220,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.98" +version = "2.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" dependencies = [ "proc-macro2", "quote", @@ -6660,13 +7231,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -6678,15 +7249,27 @@ dependencies = [ "libc", ] +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck", + "pkg-config", + "toml", + "version-compare", +] + [[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 0.7.6", "grid", - "num-traits", "serde", "slotmap", ] @@ -6697,17 +7280,22 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + [[package]] name = "tempfile" -version = "3.17.1" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", "fastrand 2.3.0", - "getrandom 0.3.1", + "getrandom 0.3.2", "once_cell", - "rustix 0.38.44", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -6726,7 +7314,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", ] [[package]] @@ -6737,7 +7334,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", ] [[package]] @@ -6799,15 +7407,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tiny-skia" version = "0.11.4" @@ -6835,9 +7434,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -6855,9 +7454,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -6870,19 +7469,34 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.43.0" +version = "1.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" dependencies = [ "backtrace", "pin-project-lite", ] +[[package]] +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.26", +] + [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -6897,13 +7511,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.22.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", - "winnow 0.7.2", + "winnow 0.7.10", ] [[package]] @@ -6925,7 +7541,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -7013,15 +7629,15 @@ checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "typeid" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" [[package]] name = "typenum" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "unicase" @@ -7049,9 +7665,9 @@ checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" [[package]] name = "unicode-ident" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-linebreak" @@ -7117,12 +7733,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8-width" version = "0.1.7" @@ -7143,12 +7753,25 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[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 0.2.15", + "getrandom 0.3.2", + "js-sys", "serde", + "wasm-bindgen", +] + +[[package]] +name = "v_frame" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f32aaa24bacd11e488aa9ba66369c7cd514885742c9fe08cfe85884db3e92b" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", ] [[package]] @@ -7159,9 +7782,26 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] name = "value-bag" -version = "1.10.0" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" + +[[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 2.0.101", +] + +[[package]] +name = "version-compare" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" @@ -7199,9 +7839,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -7228,7 +7868,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "wasm-bindgen-shared", ] @@ -7263,7 +7903,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -7279,12 +7919,12 @@ dependencies = [ [[package]] name = "wayland-backend" -version = "0.3.8" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7208998eaa3870dad37ec8836979581506e0c5c64c20c9e79e9d2a10d6f47bf" +checksum = "fe770181423e5fc79d3e2a7f4410b7799d5aab1de4372853de3c6aa13ca24121" dependencies = [ "cc", - "downcast-rs", + "downcast-rs 1.2.1", "rustix 0.38.44", "scoped-tls", "smallvec", @@ -7293,11 +7933,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.8" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2120de3d33638aaef5b9f4472bff75f07c56379cf76ea320bd3a3d65ecaf73f" +checksum = "978fa7c67b0847dbd6a9f350ca2569174974cd4082737054dbb7fbb79d7d9a61" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "rustix 0.38.44", "wayland-backend", "wayland-scanner", @@ -7309,16 +7949,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.8" +version = "0.31.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a93029cbb6650748881a00e4922b076092a6a08c11e7fbdb923f064b23968c5d" +checksum = "a65317158dec28d00416cb16705934070aef4f8393353d41126c54264ae0f182" dependencies = [ "rustix 0.38.44", "wayland-client", @@ -7327,11 +7967,11 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.6" +version = "0.32.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0781cf46869b37e36928f7b432273c0995aa8aed9552c556fb18754420541efc" +checksum = "779075454e1e9a521794fed15886323ea0feda3f8b0fc1390f5398141310422a" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -7339,11 +7979,11 @@ dependencies = [ [[package]] name = "wayland-protocols-plasma" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccaacc76703fefd6763022ac565b590fcade92202492381c95b2edfdf7d46b3" +checksum = "4fd38cdad69b56ace413c6bcc1fbf5acc5e2ef4af9d5f8f1f9570c0c83eae175" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7352,11 +7992,11 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248a02e6f595aad796561fa82d25601bd2c8c3b145b1c7453fc8f94c1a58f8b2" +checksum = "1cb6cdc73399c0e06504c437fe3cf886f25568dd5454473d565085b36d6a8bbf" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -7459,16 +8099,17 @@ dependencies = [ [[package]] name = "wgpu" -version = "23.0.1" +version = "24.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80f70000db37c469ea9d67defdc13024ddf9a5f1b89cb2941b812ad7cde1735a" +checksum = "35904fb00ba2d2e0a4d002fcbbb6e1b89b574d272a50e5fc95f6e81cf281c245" dependencies = [ "arrayvec 0.7.6", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases 0.2.1", "document-features", "js-sys", "log", - "naga 23.1.0", + "naga 24.0.0", "parking_lot", "profiling", "raw-window-handle", @@ -7477,9 +8118,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core 23.0.1", - "wgpu-hal 23.0.1", - "wgpu-types 23.0.0", + "wgpu-core 24.0.2", + "wgpu-hal 24.0.4", + "wgpu-types 24.0.0", ] [[package]] @@ -7490,7 +8131,7 @@ checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" dependencies = [ "arrayvec 0.7.6", "bit-vec 0.6.3", - "bitflags 2.8.0", + "bitflags 2.9.0", "cfg_aliases 0.1.1", "codespan-reporting", "document-features", @@ -7503,7 +8144,7 @@ dependencies = [ "raw-window-handle", "rustc-hash", "smallvec", - "thiserror", + "thiserror 1.0.69", "web-sys", "wgpu-hal 0.21.1", "wgpu-types 0.20.0", @@ -7511,27 +8152,27 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "23.0.1" +version = "24.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d63c3c478de8e7e01786479919c8769f62a22eec16788d8c2ac77ce2c132778a" +checksum = "671c25545d479b47d3f0a8e373aceb2060b67c6eb841b24ac8c32348151c7a0c" dependencies = [ "arrayvec 0.7.6", "bit-vec 0.8.0", - "bitflags 2.8.0", - "cfg_aliases 0.1.1", + "bitflags 2.9.0", + "cfg_aliases 0.2.1", "document-features", "indexmap", "log", - "naga 23.1.0", + "naga 24.0.0", "once_cell", "parking_lot", "profiling", "raw-window-handle", "rustc-hash", "smallvec", - "thiserror", - "wgpu-hal 23.0.1", - "wgpu-types 23.0.0", + "thiserror 2.0.12", + "wgpu-hal 24.0.4", + "wgpu-types 24.0.0", ] [[package]] @@ -7544,7 +8185,7 @@ dependencies = [ "arrayvec 0.7.6", "ash 0.37.3+1.3.251", "bit-set 0.5.3", - "bitflags 2.8.0", + "bitflags 2.9.0", "block", "cfg_aliases 0.1.1", "core-graphics-types", @@ -7572,7 +8213,7 @@ dependencies = [ "renderdoc-sys", "rustc-hash", "smallvec", - "thiserror", + "thiserror 1.0.69", "wasm-bindgen", "web-sys", "wgpu-types 0.20.0", @@ -7581,20 +8222,20 @@ dependencies = [ [[package]] name = "wgpu-hal" -version = "23.0.1" +version = "24.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89364b8a0b211adc7b16aeaf1bd5ad4a919c1154b44c9ce27838213ba05fd821" +checksum = "f112f464674ca69f3533248508ee30cb84c67cf06c25ff6800685f5e0294e259" dependencies = [ "android_system_properties", "arrayvec 0.7.6", "ash 0.38.0+1.3.281", "bit-set 0.8.0", - "bitflags 2.8.0", + "bitflags 2.9.0", "block", "bytemuck", - "cfg_aliases 0.1.1", + "cfg_aliases 0.2.1", "core-graphics-types", - "glow 0.14.2", + "glow 0.16.0", "glutin_wgl_sys 0.6.1", "gpu-alloc", "gpu-allocator 0.27.0", @@ -7604,11 +8245,12 @@ dependencies = [ "libc", "libloading 0.8.6", "log", - "metal 0.29.0", - "naga 23.1.0", + "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", @@ -7616,10 +8258,10 @@ dependencies = [ "renderdoc-sys", "rustc-hash", "smallvec", - "thiserror", + "thiserror 2.0.12", "wasm-bindgen", "web-sys", - "wgpu-types 23.0.0", + "wgpu-types 24.0.0", "windows 0.58.0", "windows-core 0.58.0", ] @@ -7630,27 +8272,29 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "js-sys", "web-sys", ] [[package]] name = "wgpu-types" -version = "23.0.0" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "610f6ff27778148c31093f3b03abc4840f9636d58d597ca2f5977433acfe0068" +checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "js-sys", + "log", + "serde", "web-sys", ] [[package]] name = "widestring" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" [[package]] name = "winapi" @@ -7755,7 +8399,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -7766,7 +8410,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -7777,7 +8421,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -7788,7 +8432,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] @@ -8035,14 +8679,14 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winit" -version = "0.30.9" +version = "0.30.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a809eacf18c8eca8b6635091543f02a5a06ddf3dad846398795460e6e0ae3cc0" +checksum = "b0d05bd8908e14618c9609471db04007e644fd9cce6529756046cfc577f9155e" dependencies = [ - "ahash 0.8.11", + "ahash 0.8.12", "android-activity", "atomic-waker", - "bitflags 2.8.0", + "bitflags 2.9.0", "block2", "bytemuck", "calloop", @@ -8056,9 +8700,9 @@ dependencies = [ "libc", "memmap2", "ndk", - "objc2", - "objc2-app-kit", - "objc2-foundation", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", "objc2-ui-kit", "orbclient", "percent-encoding", @@ -8096,33 +8740,27 @@ dependencies = [ [[package]] name = "winnow" -version = "0.7.2" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wyz" @@ -8177,7 +8815,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.0", "dlib", "log", "once_cell", @@ -8192,21 +8830,21 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4" +checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" [[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 = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -8216,69 +8854,79 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "synstructure", ] [[package]] name = "zeno" -version = "0.2.3" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" +checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" dependencies = [ - "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", ] [[package]] name = "zerofrom" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" dependencies = [ "zerofrom-derive", ] [[package]] name = "zerofrom-derive" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", "synstructure", ] +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -8287,11 +8935,35 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.98", + "syn 2.0.101", +] + +[[package]] +name = "zune-core" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zune-jpeg" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028" +dependencies = [ + "zune-core", ] diff --git a/Cargo.toml b/Cargo.toml index 258b3a04..2f4cc7cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "bevy_gaussian_splatting" description = "bevy gaussian splatting render pipeline plugin" -version = "4.6.1" -edition = "2021" +version = "5.0.1" +edition = "2024" +rust-version = "1.85.0" authors = ["mosure "] license = "MIT OR Apache-2.0" keywords = [ @@ -119,13 +120,13 @@ headless = [ ] viewer = [ - "bevy/png", "bevy-inspector-egui", "bevy_panorbit_camera", # "bevy_transform_gizmo", - "bevy/multi_threaded", # bevy screenshot functionality requires bevy/multi_threaded as of 0.12.1 "bevy/bevy_gizmos", "bevy/bevy_ui", + "bevy/multi_threaded", # bevy screenshot functionality requires bevy/multi_threaded as of 0.12.1 + "bevy/png", ] web = [ @@ -154,22 +155,22 @@ webgpu = ["bevy/webgpu"] [dependencies] base64 = { version = "0.22", optional = true } -bevy_args = "~1.7.1" -bevy-inspector-egui = { version = "0.28", optional = true } -bevy_interleave = { version = "0.6.1" } +bevy_args = "~1.8" +bevy-inspector-egui = { version = "0.31", optional = true } +bevy_interleave = { version = "0.7.2" } # bevy_panorbit_camera = { git = "https://github.com/mosure/bevy_panorbit_camera.git", optional = true, features = ["bevy_egui"] } -bevy_panorbit_camera = { version = "0.21", optional = true, features = ["bevy_egui"] } +bevy_panorbit_camera = { version = "0.26", optional = true, features = ["bevy_egui"] } bevy_transform_gizmo = { version = "0.12", optional = true } -bevy_file_asset = { version = "0.1", optional = true } -bevy_web_asset = { version = "0.10", optional = true } +bevy_file_asset = { version = "0.2", optional = true } +bevy_web_asset = { version = "0.11", optional = true } bincode2 = { version = "2.0", optional = true } byte-unit = { version = "5.1", optional = true } -bytemuck = "1.21" +bytemuck = "1.23" clap = { version = "4.5", features = ["derive"] } -flate2 = { version = "1.0", optional = true } -flexbuffers = { version = "24.12.23", optional = true } -half = { version = "2.3", features = ["serde"] } -image = { version = "0.25.5", default-features = false, features = ["png"] } +flate2 = { version = "1.1", optional = true } +flexbuffers = { version = "25.2", optional = true } +half = { version = "2.6", features = ["serde"] } +# image = { version = "0.25.6", default-features = false, features = ["png"] } kd-tree = { version = "0.6", optional = true } noise = { version = "0.9.0", optional = true } ply-rs = { version = "0.1", optional = true } @@ -178,8 +179,8 @@ rayon = { version = "1.8", optional = true } serde = "1.0" serde_json = "1.0" static_assertions = "1.1" -typenum = "1.17" -wgpu = "23.0.1" +typenum = "1.18" +wgpu = "24" [target.'cfg(target_arch = "wasm32")'.dependencies] @@ -188,15 +189,17 @@ wasm-bindgen = "0.2" [dependencies.bevy] -version = "0.15" +version = "0.16" default-features = false features = [ "bevy_asset", "bevy_core_pipeline", + "bevy_log", "bevy_pbr", "bevy_render", "bevy_winit", "serialize", + "std", "x11", ] diff --git a/README.md b/README.md index ae7f59a0..06817686 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,7 @@ the following tools are compatible with `bevy_gaussian_splatting`: | `bevy_gaussian_splatting` | `bevy` | | :-- | :-- | +| `5.0` | `0.16` | | `3.0` | `0.15` | | `2.3` | `0.14` | | `2.1` | `0.13` | diff --git a/examples/headless.rs b/examples/headless.rs index 39bc73d2..421c6f5a 100644 --- a/examples/headless.rs +++ b/examples/headless.rs @@ -5,7 +5,6 @@ use bevy::{ prelude::*, app::ScheduleRunnerPlugin, - core::Name, core_pipeline::tonemapping::Tonemapping, render::renderer::RenderDevice, }; @@ -37,10 +36,10 @@ mod frame_capture { use bevy::render::render_resource::{ Buffer, BufferDescriptor, BufferUsages, CommandEncoderDescriptor, Extent3d, - ImageCopyBuffer, ImageDataLayout, MapMode, + MapMode, }; use pollster::FutureExt; - use wgpu::Maintain; + use wgpu::{Maintain, TexelCopyBufferInfo, TexelCopyBufferLayout}; use std::sync::atomic::{AtomicBool, Ordering}; @@ -68,7 +67,7 @@ mod frame_capture { render_device.poll(Maintain::Wait); rx.receive().await.unwrap().unwrap(); if let Some(image) = images.get_mut(&image_copier.dst_image) { - image.data = buffer_slice.get_mapped_range().to_vec(); + image.data = buffer_slice.get_mapped_range().to_vec().into(); } image_copier.buffer.unmap(); @@ -174,21 +173,21 @@ mod frame_capture { let block_size = src_image.texture_format.block_copy_size(None).unwrap(); let padded_bytes_per_row = RenderDevice::align_copy_bytes_per_row( - (src_image.size.x as usize / block_dimensions.0 as usize) + (src_image.size.width as usize / block_dimensions.0 as usize) * block_size as usize, ); let texture_extent = Extent3d { - width: src_image.size.x as u32, - height: src_image.size.y as u32, + width: src_image.size.width as u32, + height: src_image.size.height as u32, depth_or_array_layers: 1, }; encoder.copy_texture_to_buffer( src_image.texture.as_image_copy(), - ImageCopyBuffer { + TexelCopyBufferInfo { buffer: &image_copier.buffer, - layout: ImageDataLayout { + layout: TexelCopyBufferLayout { offset: 0, bytes_per_row: Some( std::num::NonZeroU32::new(padded_bytes_per_row as u32) @@ -325,7 +324,7 @@ mod frame_capture { scene_controller.state = SceneState::Render(pre_roll_frames); scene_controller.name = scene_name; - RenderTarget::Image(render_target_image_handle) + RenderTarget::Image(render_target_image_handle.into()) } fn update( @@ -354,7 +353,7 @@ mod frame_capture { }; } if scene_controller.single_image { - app_exit_writer.send(AppExit::Success); + app_exit_writer.write(AppExit::Success); } } else { scene_controller.state = SceneState::Render(n - 1); @@ -448,7 +447,7 @@ fn headless_app() { app.add_plugins(frame_capture::scene::CaptureFramePlugin); app.add_plugins(ScheduleRunnerPlugin::run_loop( - std::time::Duration::from_secs_f64(1.0 / 60.0), + core::time::Duration::from_secs_f64(1.0 / 60.0), )); // setup for gaussian splatting diff --git a/examples/multi_camera.rs b/examples/multi_camera.rs index b510767a..69e1be8c 100644 --- a/examples/multi_camera.rs +++ b/examples/multi_camera.rs @@ -9,7 +9,10 @@ use bevy_args::{ BevyArgsPlugin, parse_args, }; -use bevy_inspector_egui::quick::WorldInspectorPlugin; +use bevy_inspector_egui::{ + bevy_egui::EguiPlugin, + quick::WorldInspectorPlugin, +}; use bevy_panorbit_camera::{ PanOrbitCamera, PanOrbitCameraPlugin, @@ -57,6 +60,7 @@ fn multi_camera_app() { app.add_plugins(PanOrbitCameraPlugin); if config.editor { + app.add_plugins(EguiPlugin { enable_multipass_for_primary_context: true }); app.add_plugins(WorldInspectorPlugin::new()); } @@ -221,7 +225,7 @@ fn press_s_to_spawn_camera( windows: Query<&Window>, ) { if keys.just_pressed(KeyCode::KeyS) { - let window = windows.single(); + let window = windows.single().unwrap(); let size = window.physical_size() / UVec2::new(2, 1); let pos = UVec2::new(1, 0); @@ -282,7 +286,7 @@ fn esc_close( mut exit: EventWriter ) { if keys.just_pressed(KeyCode::Escape) { - exit.send(AppExit::Success); + exit.write(AppExit::Success); } } diff --git a/src/gaussian/cloud.rs b/src/gaussian/cloud.rs index 26c7ced1..b99ba8d2 100644 --- a/src/gaussian/cloud.rs +++ b/src/gaussian/cloud.rs @@ -1,11 +1,18 @@ use bevy::{ prelude::*, + ecs::{ + component::HookContext, + world::DeferredWorld, + }, render::{ primitives::Aabb, - view::visibility::{ - check_visibility, - NoFrustumCulling, - VisibilitySystems, + view::{ + visibility::{ + add_visibility_class, + NoFrustumCulling, + VisibilitySystems, + }, + VisibilityClass, }, }, }; @@ -15,21 +22,31 @@ use crate::gaussian::interface::CommonCloud; #[derive(Default)] -pub struct CloudPlugin { +pub struct CloudPlugin { _phantom: std::marker::PhantomData, } -impl Plugin for CloudPlugin +pub struct CloudVisibilityClass; + +fn add_planar_class(world: DeferredWorld, ctx: HookContext) { + add_visibility_class::(world, ctx); +} + +impl Plugin for CloudPlugin where R::PlanarType: CommonCloud, R::PlanarTypeHandle: FromReflect + bevy::reflect::Typed, { fn build(&self, app: &mut App) { + app.register_required_components::(); + app.world_mut() + .register_component_hooks::() + .on_add(add_planar_class); + app.add_systems( PostUpdate, ( calculate_bounds::.in_set(VisibilitySystems::CalculateBounds), - check_visibility::>.in_set(VisibilitySystems::CheckVisibility), ) ); } @@ -38,7 +55,7 @@ where // TODO: handle aabb updates (e.g. gaussian particle movements) #[allow(clippy::type_complexity)] -pub fn calculate_bounds( +pub fn calculate_bounds( mut commands: Commands, gaussian_clouds: Res>, without_aabb: Query< diff --git a/src/gaussian/formats/planar_3d.rs b/src/gaussian/formats/planar_3d.rs index 420fd702..976de416 100644 --- a/src/gaussian/formats/planar_3d.rs +++ b/src/gaussian/formats/planar_3d.rs @@ -186,7 +186,7 @@ pub fn random_gaussians_3d(n: usize) -> PlanarGaussian3d { let mut gaussians: Vec = Vec::with_capacity(n); for _ in 0..n { - gaussians.push(rng.gen()); + gaussians.push(rng.r#gen()); } PlanarGaussian3d::from_interleaved(gaussians) diff --git a/src/gaussian/formats/planar_4d.rs b/src/gaussian/formats/planar_4d.rs index b3062409..6c928a5a 100644 --- a/src/gaussian/formats/planar_4d.rs +++ b/src/gaussian/formats/planar_4d.rs @@ -302,7 +302,7 @@ pub fn random_gaussians_4d(n: usize) -> PlanarGaussian4d { let mut gaussians: Vec = Vec::with_capacity(n); for _ in 0..n { - gaussians.push(rng.gen()); + gaussians.push(rng.r#gen()); } PlanarGaussian4d::from_interleaved(gaussians) diff --git a/src/io/gcloud/flexbuffers.rs b/src/io/gcloud/flexbuffers.rs index bdd1faf0..84ebdb6c 100644 --- a/src/io/gcloud/flexbuffers.rs +++ b/src/io/gcloud/flexbuffers.rs @@ -26,9 +26,7 @@ impl CloudCodec for PlanarGaussian3d { fn decode(data: &[u8]) -> Self { let reader = Reader::get_root(data).expect("failed to read flexbuffer"); - let cloud = Self::deserialize(reader).expect("deserialization failed"); - - cloud + Self::deserialize(reader).expect("deserialization failed") } } @@ -43,8 +41,6 @@ impl CloudCodec for PlanarGaussian4d { fn decode(data: &[u8]) -> Self { let reader = Reader::get_root(data).expect("failed to read flexbuffer"); - let cloud = Self::deserialize(reader).expect("deserialization failed"); - - cloud + Self::deserialize(reader).expect("deserialization failed") } } diff --git a/src/material/classification.rs b/src/material/classification.rs index 6fee14af..19ca964c 100644 --- a/src/material/classification.rs +++ b/src/material/classification.rs @@ -1,10 +1,10 @@ use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, }; -const CLASSIFICATION_SHADER_HANDLE: Handle = Handle::weak_from_u128(61436234324); +const CLASSIFICATION_SHADER_HANDLE: Handle = weak_handle!("8b453dba-5095-47f2-9c60-ae369fe51579"); pub struct ClassificationMaterialPlugin; diff --git a/src/material/depth.rs b/src/material/depth.rs index 87e911f1..bd714dc2 100644 --- a/src/material/depth.rs +++ b/src/material/depth.rs @@ -1,10 +1,10 @@ use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, }; -const DEPTH_SHADER_HANDLE: Handle = Handle::weak_from_u128(51234253); +const DEPTH_SHADER_HANDLE: Handle = weak_handle!("72e596c7-6226-4366-af26-2acceb34c8a4"); pub struct DepthMaterialPlugin; diff --git a/src/material/optical_flow.rs b/src/material/optical_flow.rs index e50d4621..ac3af6e1 100644 --- a/src/material/optical_flow.rs +++ b/src/material/optical_flow.rs @@ -1,10 +1,10 @@ use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, }; -const OPTICAL_FLOW_SHADER_HANDLE: Handle = Handle::weak_from_u128(1451151234); +const OPTICAL_FLOW_SHADER_HANDLE: Handle = weak_handle!("e25fefbf-dd95-46f2-89bb-91175f6bb4a6"); pub struct OpticalFlowMaterialPlugin; diff --git a/src/material/position.rs b/src/material/position.rs index 6f8d024f..1c6af510 100644 --- a/src/material/position.rs +++ b/src/material/position.rs @@ -1,10 +1,10 @@ use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, }; -const POSITION_SHADER_HANDLE: Handle = Handle::weak_from_u128(62346645534); +const POSITION_SHADER_HANDLE: Handle = weak_handle!("91ad4ad8-5e95-4f30-a262-7d3de4abd5a8"); pub struct PositionMaterialPlugin; diff --git a/src/material/spherical_harmonics.rs b/src/material/spherical_harmonics.rs index 5ff12799..88d5e816 100644 --- a/src/material/spherical_harmonics.rs +++ b/src/material/spherical_harmonics.rs @@ -2,7 +2,7 @@ use std::marker::Copy; use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, render::render_resource::ShaderType, }; use bytemuck::{ @@ -22,7 +22,7 @@ use serde::{ use crate::math::pad_4; -const SPHERICAL_HARMONICS_SHADER_HANDLE: Handle = Handle::weak_from_u128(834667312); +const SPHERICAL_HARMONICS_SHADER_HANDLE: Handle = weak_handle!("879b9cd3-ba20-4030-a8f3-adda0a042ffe"); pub struct SphericalHarmonicCoefficientsPlugin; diff --git a/src/material/spherindrical_harmonics.rs b/src/material/spherindrical_harmonics.rs index 6b6586e5..598be565 100644 --- a/src/material/spherindrical_harmonics.rs +++ b/src/material/spherindrical_harmonics.rs @@ -2,7 +2,7 @@ use std::marker::Copy; use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, render::render_resource::ShaderType, }; use bytemuck::{ @@ -52,7 +52,7 @@ static_assertions::const_assert_eq!(WASTE, 0); pub const SH_4D_VEC4_PLANES: usize = SH_4D_COEFF_COUNT / 4; -const SPHERINDRICAL_HARMONICS_SHADER_HANDLE: Handle = Handle::weak_from_u128(512346253); +const SPHERINDRICAL_HARMONICS_SHADER_HANDLE: Handle = weak_handle!("0b379c3c-daa3-48c5-bf4b-0262b9941a0a"); pub struct SpherindricalHarmonicCoefficientsPlugin; impl Plugin for SpherindricalHarmonicCoefficientsPlugin { diff --git a/src/morph/mod.rs b/src/morph/mod.rs index 6aba1c6c..51675158 100644 --- a/src/morph/mod.rs +++ b/src/morph/mod.rs @@ -6,10 +6,10 @@ use bevy_interleave::prelude::*; pub mod particle; -pub struct MorphPlugin { +pub struct MorphPlugin { _phantom: std::marker::PhantomData, } -impl Default for MorphPlugin { +impl Default for MorphPlugin { fn default() -> Self { Self { _phantom: std::marker::PhantomData, @@ -17,7 +17,7 @@ impl Default for MorphPlugin { } } -impl Plugin for MorphPlugin { +impl Plugin for MorphPlugin { #[allow(unused)] fn build(&self, app: &mut App) { #[cfg(feature = "morph_particles")] diff --git a/src/morph/particle.rs b/src/morph/particle.rs index 648794fc..3dca0c18 100644 --- a/src/morph/particle.rs +++ b/src/morph/particle.rs @@ -91,16 +91,16 @@ use crate::{ }; -const PARTICLE_SHADER_HANDLE: Handle = Handle::weak_from_u128(234553453455); +const PARTICLE_SHADER_HANDLE: Handle = weak_handle!(234553453455); #[derive(Debug, Hash, PartialEq, Eq, Clone, RenderLabel)] pub struct MorphLabel; -pub struct ParticleBehaviorPlugin { +pub struct ParticleBehaviorPlugin { phantom: std::marker::PhantomData, } -impl Default for ParticleBehaviorPlugin { +impl Default for ParticleBehaviorPlugin { fn default() -> Self { Self { phantom: std::marker::PhantomData, @@ -108,7 +108,7 @@ impl Default for ParticleBehaviorPlugin { } } -impl Plugin for ParticleBehaviorPlugin { +impl Plugin for ParticleBehaviorPlugin { fn build(&self, app: &mut App) { if let Some(render_app) = app.get_sub_app_mut(RenderApp) { render_app @@ -203,6 +203,7 @@ impl RenderAsset for GpuParticleBehaviorBuffers { fn prepare_asset( source: Self::SourceAsset, + _: AssetId, render_device: &mut SystemParamItem, ) -> Result> { let particle_behavior_count = source.0.len() as u32; @@ -228,13 +229,13 @@ impl RenderAsset for GpuParticleBehaviorBuffers { #[derive(Resource)] -pub struct ParticleBehaviorPipeline { +pub struct ParticleBehaviorPipeline { pub particle_behavior_layout: BindGroupLayout, pub particle_behavior_pipeline: CachedComputePipelineId, phantom: std::marker::PhantomData, } -impl FromWorld for ParticleBehaviorPipeline { +impl FromWorld for ParticleBehaviorPipeline { fn from_world(render_world: &mut World) -> Self { let render_device = render_world.resource::(); let gaussian_cloud_pipeline = render_world.resource::>(); @@ -288,7 +289,7 @@ pub struct ParticleBehaviorBindGroup { pub particle_behavior_bindgroup: BindGroup, } -pub fn queue_particle_behavior_bind_group( +pub fn queue_particle_behavior_bind_group( mut commands: Commands, particle_behavior_pipeline: Res>, render_device: Res, @@ -335,7 +336,7 @@ pub fn queue_particle_behavior_bind_group( -pub struct ParticleBehaviorNode { +pub struct ParticleBehaviorNode { gaussian_clouds: QueryState<( &'static PlanarStorageBindGroup, &'static ParticleBehaviorsHandle, @@ -351,7 +352,7 @@ pub struct ParticleBehaviorNode { } -impl FromWorld for ParticleBehaviorNode { +impl FromWorld for ParticleBehaviorNode { fn from_world(world: &mut World) -> Self { Self { gaussian_clouds: world.query(), @@ -362,7 +363,7 @@ impl FromWorld for ParticleBehaviorNode { } } -impl Node for ParticleBehaviorNode { +impl Node for ParticleBehaviorNode { fn update(&mut self, world: &mut World) { let pipeline = world.resource::>(); let pipeline_cache = world.resource::(); diff --git a/src/noise/mod.rs b/src/noise/mod.rs index a773e872..d11d45ca 100644 --- a/src/noise/mod.rs +++ b/src/noise/mod.rs @@ -4,7 +4,7 @@ use bevy::{ }; -const NOISE_SHADER_HANDLE: Handle = Handle::weak_from_u128(125722721); +const NOISE_SHADER_HANDLE: Handle = weak_handle!(125722721); #[derive(Default)] diff --git a/src/query/select.rs b/src/query/select.rs index 227e279d..1cd5c72f 100644 --- a/src/query/select.rs +++ b/src/query/select.rs @@ -56,14 +56,14 @@ impl Plugin for SelectPlugin { #[derive(Default)] -pub struct CommonCloudSelectPlugin +pub struct CommonCloudSelectPlugin where R::PlanarType: CommonCloud, { _phantom: std::marker::PhantomData, } -impl Plugin for CommonCloudSelectPlugin +impl Plugin for CommonCloudSelectPlugin where R::PlanarType: CloudCodec, R::PlanarType: CommonCloud, @@ -78,7 +78,7 @@ where } -fn apply_selection( +fn apply_selection( asset_server: Res, mut gaussian_clouds_res: ResMut>, mut selections: Query<( @@ -128,7 +128,7 @@ where #[derive(Event, Debug, Reflect)] pub struct InvertSelectionEvent; -fn invert_selection( +fn invert_selection( mut events: EventReader, mut gaussian_clouds_res: ResMut>, mut selections: Query<( @@ -180,7 +180,7 @@ where #[derive(Event, Debug, Reflect)] pub struct SaveSelectionEvent; -pub fn save_selection( +pub fn save_selection( mut events: EventReader, mut gaussian_clouds_res: ResMut>, mut selections: Query<( diff --git a/src/render/bindings.wgsl b/src/render/bindings.wgsl index 8efef0e8..cb9b4c0d 100644 --- a/src/render/bindings.wgsl +++ b/src/render/bindings.wgsl @@ -9,6 +9,8 @@ @group(0) @binding(1) var globals: Globals; @group(0) @binding(2) var previous_view_uniforms: PreviousViewUniforms; +@group(0) @binding(14) var visibility_ranges: array>; + struct GaussianUniforms { transform: mat4x4, global_opacity: f32, diff --git a/src/render/helpers.wgsl b/src/render/helpers.wgsl index 654ca11c..dfbee062 100644 --- a/src/render/helpers.wgsl +++ b/src/render/helpers.wgsl @@ -19,8 +19,8 @@ fn cov2d( var t = view.view_from_world * vec4(position, 1.0); let focal = vec2( - view.clip_from_view.x.x * view.viewport.z, - view.clip_from_view.y.y * view.viewport.w, + view.clip_from_view[0].x * view.viewport.z, + view.clip_from_view[1].y * view.viewport.w, ); let s = 1.0 / (t.z * t.z); @@ -32,9 +32,9 @@ fn cov2d( let W = transpose( mat3x3( - view.view_from_world.x.xyz, - view.view_from_world.y.xyz, - view.view_from_world.z.xyz, + view.view_from_world[0].xyz, + view.view_from_world[1].xyz, + view.view_from_world[2].xyz, ) ); @@ -125,8 +125,8 @@ fn get_bounding_box_clip( fn intrinsic_matrix() -> mat3x4 { let focal = vec2( - view.clip_from_view.x.x * view.viewport.z / 2.0, - view.clip_from_view.y.y * view.viewport.w / 2.0, + view.clip_from_view[0].x * view.viewport.z / 2.0, + view.clip_from_view[1].y * view.viewport.w / 2.0, ); let Ks = mat3x4( diff --git a/src/render/mod.rs b/src/render/mod.rs index a9082d99..02142b60 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -1,8 +1,11 @@ -use std::hash::Hash; +use std::{ + hash::Hash, + num::NonZero, +}; use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, core_pipeline::{ core_3d::Transparent3d, prepass::{ @@ -47,8 +50,10 @@ use bevy::{ render_resource::*, renderer::RenderDevice, view::{ + VISIBILITY_RANGES_STORAGE_BUFFER_COUNT, ExtractedView, RenderVisibleEntities, + RenderVisibilityRanges, ViewUniform, ViewUniformOffset, ViewUniforms, @@ -64,6 +69,7 @@ use bevy_interleave::prelude::*; use crate::{ camera::GaussianCamera, gaussian::{ + cloud::CloudVisibilityClass, interface::CommonCloud, settings::{ CloudSettings, DrawMode, GaussianMode, RasterizeMode @@ -94,25 +100,25 @@ mod planar; mod texture; -const BINDINGS_SHADER_HANDLE: Handle = Handle::weak_from_u128(675257236); -const GAUSSIAN_SHADER_HANDLE: Handle = Handle::weak_from_u128(68294581); -const GAUSSIAN_2D_SHADER_HANDLE: Handle = Handle::weak_from_u128(123166726); -const GAUSSIAN_3D_SHADER_HANDLE: Handle = Handle::weak_from_u128(1236134564); -const GAUSSIAN_4D_SHADER_HANDLE: Handle = Handle::weak_from_u128(513623421); -const HELPERS_SHADER_HANDLE: Handle = Handle::weak_from_u128(134646367); -const PACKED_SHADER_HANDLE: Handle = Handle::weak_from_u128(123623514); -const PLANAR_SHADER_HANDLE: Handle = Handle::weak_from_u128(72345231); -const TEXTURE_SHADER_HANDLE: Handle = Handle::weak_from_u128(26345735); -const TRANSFORM_SHADER_HANDLE: Handle = Handle::weak_from_u128(734523534); +const BINDINGS_SHADER_HANDLE: Handle = weak_handle!("cfd9a3d9-a0cb-40c8-ab0b-073110a02474"); +const GAUSSIAN_SHADER_HANDLE: Handle = weak_handle!("9a18d83b-137d-4f44-9628-e2defc4b62b0"); +const GAUSSIAN_2D_SHADER_HANDLE: Handle = weak_handle!("713fb941-b4f5-408e-bbde-32fb7dc447ce"); +const GAUSSIAN_3D_SHADER_HANDLE: Handle = weak_handle!("b7eb322b-983b-4ce0-a5a2-3c0d6cb06d65"); +const GAUSSIAN_4D_SHADER_HANDLE: Handle = weak_handle!("26234995-0932-4dfa-ab8d-53df1e779dd4"); +const HELPERS_SHADER_HANDLE: Handle = weak_handle!("9ca57ab0-07de-4a43-94f8-547c38e292cb"); +const PACKED_SHADER_HANDLE: Handle = weak_handle!("5bb62086-7004-4575-9972-274dc8acccf1"); +const PLANAR_SHADER_HANDLE: Handle = weak_handle!("d6a3f978-f795-4786-8475-26366f28d852"); +const TEXTURE_SHADER_HANDLE: Handle = weak_handle!("500e2ebf-51a8-402e-9c88-e0d5152c3486"); +const TRANSFORM_SHADER_HANDLE: Handle = weak_handle!("648516b2-87cc-4937-ae1c-d986952e9fa7"); // TODO: consider refactor to bind via bevy's mesh (dynamic vertex planes) + shared batching/instancing/preprocessing // utilize RawBufferVec for gaussian data? -pub struct RenderPipelinePlugin { +pub struct RenderPipelinePlugin { _phantom: std::marker::PhantomData, } -impl Default for RenderPipelinePlugin { +impl Default for RenderPipelinePlugin { fn default() -> Self { Self { _phantom: std::marker::PhantomData, @@ -120,9 +126,10 @@ impl Default for RenderPipelinePlugin { } } -impl Plugin for RenderPipelinePlugin +impl Plugin for RenderPipelinePlugin where R::PlanarType: CommonCloud, + R::GpuPlanarType: GpuPlanarStorage, { fn build(&self, app: &mut App) { debug!("building render pipeline plugin"); @@ -238,7 +245,7 @@ where #[derive(Bundle)] -pub struct GpuCloudBundle { +pub struct GpuCloudBundle { pub aabb: Aabb, pub settings: CloudSettings, pub settings_uniform: CloudUniform, @@ -248,7 +255,7 @@ pub struct GpuCloudBundle { } #[cfg(feature = "buffer_storage")] -type GpuCloudBundleQuery = ( +type GpuCloudBundleQuery = ( Entity, &'static R::PlanarTypeHandle, &'static Aabb, @@ -270,7 +277,7 @@ type GpuCloudBundleQuery = ( ); #[allow(clippy::too_many_arguments)] -fn queue_gaussians( +fn queue_gaussians( gaussian_cloud_uniform: Res>, transparent_3d_draw_functions: Res>, custom_pipeline: Res>, @@ -281,7 +288,6 @@ fn queue_gaussians( mut transparent_render_phases: ResMut>, mut views: Query< ( - Entity, &ExtractedView, &GaussianCamera, &RenderVisibleEntities, @@ -292,7 +298,7 @@ fn queue_gaussians( ) { debug!("queue_gaussians"); - let warmup = views.iter().any(|(_, _, camera, _, _)| camera.warmup); + let warmup = views.iter().any(|(_, camera, _, _)| camera.warmup); if warmup { debug!("skipping gaussian cloud render during warmup"); return; @@ -307,14 +313,13 @@ fn queue_gaussians( let draw_custom = transparent_3d_draw_functions.read().id::>(); for ( - view_entity, view, _, visible_entities, msaa, ) in &mut views { debug!("queue gaussians view"); - let Some(transparent_phase) = transparent_render_phases.get_mut(&view_entity) else { + let Some(transparent_phase) = transparent_render_phases.get_mut(&view.retained_view_entity) else { debug!("transparent phase not found"); continue; }; @@ -323,8 +328,9 @@ fn queue_gaussians( for ( render_entity, visible_entity, - ) in visible_entities.iter::>() { + ) in visible_entities.iter::() { if gaussian_splatting_bundles.get(*render_entity).is_err() { + debug!("gaussian splatting bundle not found"); continue; } @@ -379,7 +385,8 @@ fn queue_gaussians( distance, pipeline, batch_range: 0..1, - extra_index: PhaseItemExtraIndex::NONE, + extra_index: PhaseItemExtraIndex::None, + indexed: false, }); } } @@ -387,9 +394,9 @@ fn queue_gaussians( // TODO: pipeline trait -// TODO: support extendions /w ComputePipelineDescriptor builder +// TODO: support extentions /w ComputePipelineDescriptor builder #[derive(Resource)] -pub struct CloudPipeline { +pub struct CloudPipeline { shader: Handle, pub gaussian_cloud_layout: BindGroupLayout, pub gaussian_uniform_layout: BindGroupLayout, @@ -399,10 +406,40 @@ pub struct CloudPipeline { phantom: std::marker::PhantomData, } -impl FromWorld for CloudPipeline { +fn buffer_layout( + buffer_binding_type: BufferBindingType, + has_dynamic_offset: bool, + min_binding_size: Option>, +) -> BindGroupLayoutEntryBuilder { + match buffer_binding_type { + BufferBindingType::Uniform => binding_types::uniform_buffer_sized(has_dynamic_offset, min_binding_size), + BufferBindingType::Storage { read_only } => { + if read_only { + binding_types::storage_buffer_read_only_sized(has_dynamic_offset, min_binding_size) + } else { + binding_types::storage_buffer_sized(has_dynamic_offset, min_binding_size) + } + } + } +} + +impl FromWorld for CloudPipeline +where + R::GpuPlanarType: GpuPlanarStorage, +{ fn from_world(render_world: &mut World) -> Self { let render_device = render_world.resource::(); + let visibility_ranges_buffer_binding_type = render_device + .get_supported_read_only_binding_type(VISIBILITY_RANGES_STORAGE_BUFFER_COUNT); + + let visibility_ranges_entry = buffer_layout( + visibility_ranges_buffer_binding_type, + false, + Some(Vec4::min_size()), + ) + .build(14, ShaderStages::VERTEX); + let view_layout_entries = vec![ BindGroupLayoutEntry { binding: 0, @@ -434,6 +471,7 @@ impl FromWorld for CloudPipeline { }, count: None, }, + visibility_ranges_entry, ]; let compute_view_layout_entries = vec![ @@ -467,6 +505,7 @@ impl FromWorld for CloudPipeline { // }, // count: None, // }, + visibility_ranges_entry, ]; let view_layout = render_device.create_bind_group_layout( @@ -714,7 +753,7 @@ pub struct CloudPipelineKey { pub hdr: bool, } -impl SpecializedRenderPipeline for CloudPipeline { +impl SpecializedRenderPipeline for CloudPipeline { type Key = CloudPipelineKey; fn specialize(&self, key: Self::Key) -> RenderPipelineDescriptor { @@ -788,7 +827,7 @@ impl SpecializedRenderPipeline for CloudPipeline { } } -type DrawGaussians = ( +type DrawGaussians = ( SetItemPipeline, // SetViewBindGroup<0>, SetPreviousViewBindGroup<0>, @@ -813,7 +852,7 @@ pub struct CloudUniform { } #[allow(clippy::type_complexity)] -pub fn extract_gaussians( +pub fn extract_gaussians( mut commands: Commands, mut prev_commands_len: Local, asset_server: Res, @@ -890,7 +929,7 @@ pub fn extract_gaussians( )); } *prev_commands_len = commands_list.len(); - commands.insert_or_spawn_batch(commands_list); + commands.insert_batch(commands_list); } @@ -905,7 +944,7 @@ pub struct SortBindGroup { } #[allow(clippy::too_many_arguments)] -fn queue_gaussian_bind_group( +fn queue_gaussian_bind_group( mut commands: Commands, mut groups: ResMut, gaussian_cloud_pipeline: Res>, @@ -1013,7 +1052,8 @@ pub struct GaussianViewBindGroup { // TODO: move to gaussian camera module // TODO: remove cloud pipeline dependency by separating view layout -pub fn queue_gaussian_view_bind_groups( +#[allow(clippy::too_many_arguments)] +pub fn queue_gaussian_view_bind_groups( mut commands: Commands, render_device: Res, gaussian_cloud_pipeline: Res>, @@ -1027,16 +1067,19 @@ pub fn queue_gaussian_view_bind_groups( ), With, >, + visibility_ranges: Res, globals_buffer: Res, ) { if let ( Some(view_binding), Some(previous_view_binding), Some(globals), + Some(visibility_ranges_buffer) ) = ( view_uniforms.uniforms.binding(), previous_view_uniforms.uniforms.binding(), globals_buffer.buffer.binding(), + visibility_ranges.buffer().buffer() ) { for ( entity, @@ -1058,6 +1101,10 @@ pub fn queue_gaussian_view_bind_groups( binding: 2, resource: previous_view_binding.clone(), }, + BindGroupEntry { + binding: 14, + resource: visibility_ranges_buffer.as_entire_binding(), + }, ]; let view_bind_group = render_device.create_bind_group( @@ -1193,11 +1240,11 @@ impl RenderCommand

for SetGaussianUniformBindGr } } -pub struct DrawGaussianInstanced { +pub struct DrawGaussianInstanced { phantom: std::marker::PhantomData, } -impl Default for DrawGaussianInstanced { +impl Default for DrawGaussianInstanced { fn default() -> Self { Self { phantom: std::marker::PhantomData, @@ -1205,7 +1252,10 @@ impl Default for DrawGaussianInstanced { } } -impl RenderCommand

for DrawGaussianInstanced { +impl RenderCommand

for DrawGaussianInstanced +where + R::GpuPlanarType: GpuPlanarStorage, +{ type Param = SRes>; type ViewQuery = Read; type ItemQuery = ( diff --git a/src/sort/mod.rs b/src/sort/mod.rs index da7d7da0..e96854f8 100644 --- a/src/sort/mod.rs +++ b/src/sort/mod.rs @@ -1,3 +1,4 @@ +use core::time::Duration; use std::marker::PhantomData; use bevy::{ @@ -7,6 +8,7 @@ use bevy::{ SystemParamItem, }, math::Vec3A, + platform::time::Instant, render::{ extract_component::{ ExtractComponent, @@ -21,10 +23,6 @@ use bevy::{ }, renderer::RenderDevice, }, - utils::{ - Duration, - Instant, - }, }; use bevy_interleave::prelude::*; use bytemuck::{ @@ -136,13 +134,14 @@ impl Plugin for SortPluginFlag { // TODO: make this generic /w shared components #[derive(Default)] -pub struct SortPlugin { +pub struct SortPlugin { phantom: PhantomData, } -impl Plugin for SortPlugin +impl Plugin for SortPlugin where R::PlanarType: CommonCloud, + R::GpuPlanarType: GpuPlanarStorage, { fn build(&self, app: &mut App) { #[cfg(feature = "sort_radix")] @@ -281,7 +280,7 @@ fn update_textures_on_change( #[allow(clippy::type_complexity)] -fn auto_insert_sorted_entries( +fn auto_insert_sorted_entries( mut commands: Commands, asset_server: Res, gaussian_clouds_res: Res>, @@ -507,6 +506,7 @@ impl RenderAsset for GpuSortedEntry { fn prepare_asset( source: Self::SourceAsset, + _: AssetId, render_device: &mut SystemParamItem, ) -> Result> { let sorted_entry_buffer = render_device.create_buffer_with_data(&BufferInitDescriptor { diff --git a/src/sort/radix.rs b/src/sort/radix.rs index 49760ed9..5e5ad0ff 100644 --- a/src/sort/radix.rs +++ b/src/sort/radix.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use bevy::{ prelude::*, - asset::load_internal_asset, + asset::{load_internal_asset, weak_handle}, core_pipeline::core_3d::graph::{ Core3d, Node3d, @@ -83,19 +83,22 @@ assert_cfg!( ); -const RADIX_SHADER_HANDLE: Handle = Handle::weak_from_u128(6234673214); -const TEMPORAL_SORT_SHADER_HANDLE: Handle = Handle::weak_from_u128(1634543224); +const RADIX_SHADER_HANDLE: Handle = weak_handle!("dedb3ddf-f254-4361-8762-e221774de1ed"); +const TEMPORAL_SORT_SHADER_HANDLE: Handle = weak_handle!("11986b71-25d8-410b-adfa-6afb107ae4de"); #[derive(Debug, Hash, PartialEq, Eq, Clone, RenderLabel)] pub struct RadixSortLabel; #[derive(Default)] -pub struct RadixSortPlugin { +pub struct RadixSortPlugin { phantom: std::marker::PhantomData, } -impl Plugin for RadixSortPlugin { +impl Plugin for RadixSortPlugin +where + R::GpuPlanarType: GpuPlanarStorage, +{ fn build(&self, app: &mut App) { // TODO: run once if let Some(render_app) = app.get_sub_app_mut(RenderApp) { @@ -142,7 +145,7 @@ impl Plugin for RadixSortPlugin { .add_render_graph_edge( Core3d, RadixSortLabel, - Node3d::Prepass, + Node3d::LatePrepass, ); } } @@ -156,7 +159,7 @@ impl Plugin for RadixSortPlugin { } #[derive(Resource)] -pub struct RadixSortBuffers { +pub struct RadixSortBuffers { // TODO: use a more ECS-friendly approach pub asset_map: HashMap< AssetId, @@ -164,7 +167,7 @@ pub struct RadixSortBuffers { >, } -impl Default for RadixSortBuffers { +impl Default for RadixSortBuffers { fn default() -> Self { RadixSortBuffers { asset_map: HashMap::new(), @@ -201,7 +204,7 @@ impl GpuRadixBuffers { let sorting_pass_buffers = (0..4) .map(|idx| { render_device.create_buffer_with_data(&BufferInitDescriptor { - label: format!("sorting pass buffer {}", idx).as_str().into(), + label: format!("sorting pass buffer {idx}").as_str().into(), contents: &[idx as u8, 0, 0, 0], usage: BufferUsages::UNIFORM | BufferUsages::COPY_DST, }) @@ -227,7 +230,7 @@ impl GpuRadixBuffers { } -fn update_sort_buffers( +fn update_sort_buffers( gpu_gaussian_clouds: Res>, mut sort_buffers: ResMut>, render_device: Res, @@ -245,13 +248,13 @@ fn update_sort_buffers( #[derive(Resource)] -pub struct RadixSortPipeline { +pub struct RadixSortPipeline { pub radix_sort_layout: BindGroupLayout, pub radix_sort_pipelines: [CachedComputePipelineId; 3], phantom: std::marker::PhantomData, } -impl FromWorld for RadixSortPipeline { +impl FromWorld for RadixSortPipeline { fn from_world(render_world: &mut World) -> Self { let render_device = render_world.resource::(); let gaussian_cloud_pipeline = render_world.resource::>(); @@ -387,7 +390,7 @@ pub struct RadixBindGroup { } #[allow(clippy::too_many_arguments)] -pub fn queue_radix_bind_group( +pub fn queue_radix_bind_group( mut commands: Commands, radix_pipeline: Res>, render_device: Res, @@ -401,7 +404,10 @@ pub fn queue_radix_bind_group( &CloudSettings, )>, sort_buffers: Res>, -) { +) +where + R::GpuPlanarType: GpuPlanarStorage, +{ for ( entity, cloud_handle, @@ -471,7 +477,7 @@ pub fn queue_radix_bind_group( let radix_sort_bind_groups: [BindGroup; 4] = (0..4) .map(|idx| { render_device.create_bind_group( - format!("radix_sort_bind_group {}", idx).as_str(), + format!("radix_sort_bind_group {idx}").as_str(), &radix_pipeline.radix_sort_layout, &[ BindGroupEntry { @@ -523,7 +529,7 @@ pub fn queue_radix_bind_group( } -pub struct RadixSortNode { +pub struct RadixSortNode { gaussian_clouds: QueryState<( &'static R::PlanarTypeHandle, &'static PlanarStorageBindGroup, @@ -537,7 +543,7 @@ pub struct RadixSortNode { )>, } -impl FromWorld for RadixSortNode { +impl FromWorld for RadixSortNode { fn from_world(world: &mut World) -> Self { Self { gaussian_clouds: world.query(), @@ -547,7 +553,10 @@ impl FromWorld for RadixSortNode { } } -impl Node for RadixSortNode { +impl Node for RadixSortNode +where + R::GpuPlanarType: GpuPlanarStorage, +{ fn update(&mut self, world: &mut World) { let pipeline = world.resource::>(); let pipeline_cache = world.resource::(); diff --git a/src/sort/rayon.rs b/src/sort/rayon.rs index acf62460..8d323859 100644 --- a/src/sort/rayon.rs +++ b/src/sort/rayon.rs @@ -1,7 +1,7 @@ use bevy::{ prelude::*, math::Vec3A, - utils::Instant, + platform::time::Instant, }; use bevy_interleave::prelude::*; use rayon::prelude::*; @@ -21,11 +21,11 @@ use crate::{ #[derive(Default)] -pub struct RayonSortPlugin { +pub struct RayonSortPlugin { _phantom: std::marker::PhantomData, } -impl Plugin for RayonSortPlugin +impl Plugin for RayonSortPlugin where R::PlanarType: CommonCloud, { @@ -35,7 +35,7 @@ where } #[allow(clippy::too_many_arguments)] -pub fn rayon_sort( +pub fn rayon_sort( asset_server: Res, gaussian_clouds_res: Res>, gaussian_clouds: Query<( diff --git a/src/sort/std_sort.rs b/src/sort/std_sort.rs index 9eeb043f..e6f34204 100644 --- a/src/sort/std_sort.rs +++ b/src/sort/std_sort.rs @@ -1,7 +1,7 @@ use bevy::{ prelude::*, math::Vec3A, - utils::Instant, + platform::time::Instant, }; use bevy_interleave::prelude::*; @@ -20,11 +20,11 @@ use crate::{ #[derive(Default)] -pub struct StdSortPlugin { +pub struct StdSortPlugin { _phantom: std::marker::PhantomData, } -impl Plugin for StdSortPlugin +impl Plugin for StdSortPlugin where R::PlanarType: CommonCloud, { @@ -35,7 +35,7 @@ where // TODO: async CPU sort to prevent frame drops on large clouds #[allow(clippy::too_many_arguments)] -pub fn std_sort( +pub fn std_sort( asset_server: Res, gaussian_clouds_res: Res>, gaussian_clouds: Query<( diff --git a/src/utils.rs b/src/utils.rs index c64fa7ff..b477004e 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -112,6 +112,6 @@ pub fn log(_msg: &str) { #[cfg(debug_assertions)] #[cfg(not(target_arch = "wasm32"))] { - println!("{}", _msg); + println!("{_msg}"); } } diff --git a/tests/gpu/gaussian.rs b/tests/gpu/gaussian.rs index 4791e31f..eeaa445e 100644 --- a/tests/gpu/gaussian.rs +++ b/tests/gpu/gaussian.rs @@ -145,7 +145,7 @@ fn capture_ready( test_stability(buffer); // TODO: add correctness test (use CPU gaussian pipeline to compare results) - exit.send(AppExit); + exit.write(AppExit); return; } diff --git a/tools/compare_aabb_obb.rs b/tools/compare_aabb_obb.rs index 19fbb47a..84e01100 100644 --- a/tools/compare_aabb_obb.rs +++ b/tools/compare_aabb_obb.rs @@ -7,7 +7,10 @@ use bevy_args::{ BevyArgsPlugin, parse_args, }; -use bevy_inspector_egui::quick::WorldInspectorPlugin; +use bevy_inspector_egui::{ + bevy_egui::EguiPlugin, + quick::WorldInspectorPlugin, +}; use bevy_interleave::prelude::Planar; use bevy_panorbit_camera::{ PanOrbitCamera, @@ -124,6 +127,7 @@ fn compare_aabb_obb_app() { app.add_plugins(PanOrbitCameraPlugin); if config.editor { + app.add_plugins(EguiPlugin { enable_multipass_for_primary_context: true }); app.add_plugins(WorldInspectorPlugin::new()); } @@ -143,7 +147,7 @@ pub fn esc_close( mut exit: EventWriter ) { if keys.just_pressed(KeyCode::Escape) { - exit.send(AppExit::Success); + exit.write(AppExit::Success); } } diff --git a/tools/ply_to_gcloud.rs b/tools/ply_to_gcloud.rs index e9563326..91d2f7e2 100644 --- a/tools/ply_to_gcloud.rs +++ b/tools/ply_to_gcloud.rs @@ -35,7 +35,7 @@ fn is_point_in_transformed_sphere(pos: &[f32; 3]) -> bool { fn main() { let filename = std::env::args().nth(1).expect("no filename given"); - println!("converting `{}` file to gcloud", filename); + println!("converting `{filename}` file to gcloud"); let file = std::fs::File::open(&filename).expect("failed to open file"); let mut reader = std::io::BufReader::new(file); @@ -62,7 +62,7 @@ fn main() { cloud = sparse_selection.indicies.iter() .map(|idx| cloud.gaussian(*idx)) .collect(); - println!("sparsity filtered cloud size: {}", cloud.len()); + println!("sparsity filtered cloud size: {cloud.len()}"); } let base_filename = filename.split('.').next().expect("no extension").to_string(); diff --git a/tools/surfel_plane.rs b/tools/surfel_plane.rs index bcbc0a44..334b1ced 100644 --- a/tools/surfel_plane.rs +++ b/tools/surfel_plane.rs @@ -7,7 +7,10 @@ use bevy_args::{ BevyArgsPlugin, parse_args, }; -use bevy_inspector_egui::quick::WorldInspectorPlugin; +use bevy_inspector_egui::{ + bevy_egui::EguiPlugin, + quick::WorldInspectorPlugin, +}; use bevy_interleave::prelude::Planar; use bevy_panorbit_camera::{ PanOrbitCamera, @@ -171,6 +174,7 @@ fn compare_surfel_app() { app.add_plugins(PanOrbitCameraPlugin); if config.editor { + app.add_plugins(EguiPlugin { enable_multipass_for_primary_context: true }); app.add_plugins(WorldInspectorPlugin::new()); } @@ -190,7 +194,7 @@ pub fn esc_close( mut exit: EventWriter ) { if keys.just_pressed(KeyCode::Escape) { - exit.send(AppExit::Success); + exit.write(AppExit::Success); } } diff --git a/viewer/viewer.rs b/viewer/viewer.rs index 2a4e5a98..654c7751 100644 --- a/viewer/viewer.rs +++ b/viewer/viewer.rs @@ -5,13 +5,13 @@ use bevy::{ prelude::*, app::AppExit, color::palettes::css::GOLD, - core::FrameCount, core_pipeline::{ prepass::MotionVectorPrepass, tonemapping::Tonemapping, }, diagnostic::{ DiagnosticsStore, + FrameCount, FrameTimeDiagnosticsPlugin, }, render::{ @@ -23,7 +23,10 @@ use bevy_args::{ BevyArgsPlugin, parse_args, }; -use bevy_inspector_egui::quick::WorldInspectorPlugin; +use bevy_inspector_egui::{ + bevy_egui::EguiPlugin, + quick::WorldInspectorPlugin, +}; use bevy_panorbit_camera::{ PanOrbitCamera, PanOrbitCameraPlugin, @@ -123,7 +126,7 @@ fn setup_gaussian_cloud( if let Some(input_scene) = &args.input_scene { let input_uri = parse_input_file(input_scene.as_str()); - log(&format!("loading {}", input_uri)); + log(&format!("loading {input_uri}")); let scene: Handle = asset_server.load(&input_uri); commands.spawn(( GaussianSceneHandle(scene), @@ -140,7 +143,7 @@ fn setup_gaussian_cloud( cloud = gaussian_3d_assets.add(random_gaussians_3d(args.gaussian_count)); } else if let Some(input_cloud) = &args.input_cloud { let input_uri = parse_input_file(input_cloud.as_str()); - log(&format!("loading {}", input_uri)); + log(&format!("loading {input_uri}")); cloud = asset_server.load(&input_uri); } else { cloud = gaussian_3d_assets.add(PlanarGaussian3d::test_model()); @@ -165,7 +168,7 @@ fn setup_gaussian_cloud( cloud = gaussian_4d_assets.add(random_gaussians_4d(args.gaussian_count)); } else if let Some(input_cloud) = &args.input_cloud { let input_uri = parse_input_file(input_cloud.as_str()); - log(&format!("loading {}", input_uri)); + log(&format!("loading {input_uri}")); cloud = asset_server.load(&input_uri); } else { cloud = gaussian_4d_assets.add(PlanarGaussian4d::test_model()); @@ -267,7 +270,7 @@ fn setup_sparse_select( fn viewer_app() { let config = parse_args::(); - log(&format!("{:?}", config)); + log(&format!("{config:?}")); let mut app = App::new(); @@ -326,6 +329,7 @@ fn viewer_app() { app.add_plugins(PanOrbitCameraPlugin); if config.editor { + app.add_plugins(EguiPlugin { enable_multipass_for_primary_context: true }); app.add_plugins(WorldInspectorPlugin::new()); } @@ -342,7 +346,7 @@ fn viewer_app() { } if config.show_fps { - app.add_plugins(FrameTimeDiagnosticsPlugin); + app.add_plugins(FrameTimeDiagnosticsPlugin::default()); app.add_systems(Startup, fps_display_setup); app.add_systems(Update, fps_update_system); } @@ -411,7 +415,7 @@ pub fn press_esc_close( mut exit: EventWriter ) { if keys.just_pressed(KeyCode::Escape) { - exit.send(AppExit::Success); + exit.write(AppExit::Success); } } @@ -422,7 +426,7 @@ fn press_i_invert_selection( ) { if keys.just_pressed(KeyCode::KeyI) { log("inverting selection"); - select_inverse_events.send(InvertSelectionEvent); + select_inverse_events.write(InvertSelectionEvent); } } @@ -433,7 +437,7 @@ fn press_o_save_selection( ) { if keys.just_pressed(KeyCode::KeyO) { log("saving selection"); - select_inverse_events.send(SaveSelectionEvent); + select_inverse_events.write(SaveSelectionEvent); } }