From efab67d027e10e599a913c874c52ce0e889522d5 Mon Sep 17 00:00:00 2001 From: Mitchell Hansen Date: Mon, 24 Nov 2025 22:35:45 -0800 Subject: [PATCH] ai to the rescue --- Cargo.lock | 6750 +++++++++++++++++++++------------- Cargo.toml | 36 +- resources/bindings.ron | 6 - resources/display_config.ron | 4 - resources/screenshot1.png | Bin 12393 -> 0 bytes resources/screenshot2.png | Bin 14449 -> 0 bytes resources/sprites/flappy.png | Bin 29296 -> 0 bytes resources/sprites/flappy.ron | 73 - resources/sprites/logo.png | Bin 43242 -> 0 bytes resources/sprites/logo.ron | 24 - src/components.rs | 90 +- src/main.rs | 118 +- src/play_state.rs | 225 +- src/ready_state.rs | 161 +- src/splash_state.rs | 503 +-- src/systems.rs | 330 +- 16 files changed, 5182 insertions(+), 3138 deletions(-) delete mode 100644 resources/bindings.ron delete mode 100644 resources/display_config.ron delete mode 100644 resources/screenshot1.png delete mode 100644 resources/screenshot2.png delete mode 100644 resources/sprites/flappy.png delete mode 100644 resources/sprites/flappy.ron delete mode 100644 resources/sprites/logo.png delete mode 100644 resources/sprites/logo.ron diff --git a/Cargo.lock b/Cargo.lock index deca209..9648d16 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,425 +1,179 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 4 + [[package]] -name = "addr2line" -version = "0.12.1" +name = "ab_glyph" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543" +checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2" dependencies = [ - "gimli", + "ab_glyph_rasterizer", + "owned_ttf_parser", ] [[package]] -name = "adler32" -version = "1.0.4" +name = "ab_glyph_rasterizer" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" +checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" + +[[package]] +name = "accesskit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" + +[[package]] +name = "accesskit_consumer" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db81010a6895d8707f9072e6ce98070579b43b717193d2614014abd5cb17dd43" +dependencies = [ + "accesskit", + "hashbrown 0.15.5", +] + +[[package]] +name = "accesskit_macos" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0089e5c0ac0ca281e13ea374773898d9354cc28d15af9f0f7394d44a495b575" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "accesskit_windows" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d63dd5041e49c363d83f5419a896ecb074d309c414036f616dc0b04faca971" +dependencies = [ + "accesskit", + "accesskit_consumer", + "hashbrown 0.15.5", + "static_assertions", + "windows 0.61.3", + "windows-core 0.61.2", +] + +[[package]] +name = "accesskit_winit" +version = "0.29.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8cfabe59d0eaca7412bfb1f70198dd31e3b0496fee7e15b066f9c36a1a140a0" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "raw-window-handle", + "winit", +] + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.3.5" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f3e0bf23f51883cce372d5d5892211236856e4bb37fb942e1eb135ee0f146e3" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" +dependencies = [ + "cfg-if", + "getrandom 0.3.4", + "once_cell", + "version_check", + "zerocopy", +] [[package]] name = "aho-corasick" -version = "0.7.10" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] [[package]] -name = "alga" -version = "0.9.3" +name = "alsa" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2" +checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" dependencies = [ - "approx 0.3.2", - "num-complex", - "num-traits 0.2.11", -] - -[[package]] -name = "alga_derive" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf292193c4eb7fc03befa301900c5e59ea7df253053db751f89fd16524494528" -dependencies = [ - "edit-distance", - "proc-macro2 1.0.18", - "quickcheck", - "quote 1.0.6", - "syn 1.0.30", + "alsa-sys", + "bitflags 2.10.0", + "cfg-if", + "libc", ] [[package]] name = "alsa-sys" -version = "0.1.2" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0edcbbf9ef68f15ae1b620f722180b82a98b6f0628d30baa6b8d2a5abc87d58" +checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" dependencies = [ "libc", "pkg-config", ] [[package]] -name = "amethyst" -version = "0.15.0" +name = "android-activity" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5230db65cad09ef3a9b6cd92609a864d287eeb5de442fa275f61892e86085d7" +checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ - "amethyst_animation", - "amethyst_assets", - "amethyst_audio", - "amethyst_config", - "amethyst_controls", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_input", - "amethyst_locale", - "amethyst_network", - "amethyst_rendy", - "amethyst_ui", - "amethyst_utils", - "amethyst_window", - "crossbeam-channel 0.4.2", - "derivative", - "dirs", - "failure", - "fern", - "glsl-layout", - "lazy_static", + "android-properties", + "bitflags 2.10.0", + "cc", + "cesu8", + "jni", + "jni-sys", + "libc", "log", - "palette", - "rayon", - "rustc_version_runtime", - "serde", - "vergen", - "winit", + "ndk 0.9.0", + "ndk-context", + "ndk-sys 0.6.0+11769913", + "num_enum", + "thiserror 1.0.69", ] [[package]] -name = "amethyst-starter-2d" -version = "0.1.0" -dependencies = [ - "amethyst", - "log", -] - -[[package]] -name = "amethyst_animation" -version = "0.10.0" +name = "android-properties" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51a566efeec4a2bcebf5d765c61ca48e63300ab023ef9d8cd854c4d84fc4e452" -dependencies = [ - "amethyst_assets", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_rendy", - "amethyst_ui", - "derivative", - "fnv", - "itertools", - "log", - "minterpolate", - "serde", -] +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] -name = "amethyst_assets" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adec5aa374c11f4363b5053731894773ce7ae662b1e2016be8e3f45e50f4f027" -dependencies = [ - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "crossbeam-queue 0.1.2", - "derivative", - "derive-new", - "erased-serde", - "err-derive", - "fnv", - "inventory", - "lazy_static", - "log", - "objekt", - "parking_lot 0.10.2", - "rayon", - "ron", - "serde", -] - -[[package]] -name = "amethyst_audio" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89bda4c6ca0adadf8993b5ddede89f0f6d002be76b7ab6b93a2e20d928a2a3ac" -dependencies = [ - "amethyst_assets", - "amethyst_core", - "amethyst_error", - "cpal", - "derive-new", - "log", - "rodio", - "serde", - "smallvec 1.4.0", -] - -[[package]] -name = "amethyst_config" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93c5c157a43db0130972c420ef1071a59b77cd52a46c344f066aa9ad191e585" -dependencies = [ - "log", - "ron", - "serde", -] - -[[package]] -name = "amethyst_controls" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f7265e5aea5e19834597a7a93cb23a38eb89f87765d871c12e766b86db53c1" -dependencies = [ - "amethyst_assets", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_input", - "derive-new", - "log", - "serde", - "winit", -] - -[[package]] -name = "amethyst_core" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21774ca95806e70a4313c05004be1374abf3943ffb22f38bc034a753aad101ea" -dependencies = [ - "alga", - "alga_derive", - "amethyst_error", - "approx 0.3.2", - "derivative", - "derive-new", - "fnv", - "getset", - "log", - "nalgebra", - "num-traits 0.2.11", - "rayon", - "serde", - "specs", - "specs-hierarchy", -] - -[[package]] -name = "amethyst_derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "202a626825e752f4fc82275dc0e383571a591da0dbbf88b81877c06f371c24cf" -dependencies = [ - "heck", - "proc-macro-crate", - "proc-macro2 1.0.18", - "proc_macro_roids", - "quote 1.0.6", - "syn 1.0.30", -] - -[[package]] -name = "amethyst_error" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "070352f8f0f5325f5d4177b8e7752f83954d67979430b3c35fc3726b0eed5dac" -dependencies = [ - "backtrace", -] - -[[package]] -name = "amethyst_input" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aa792677569b96f705b35f135f874c31cffdcc529270c7f46a70a85d9fe34d8" -dependencies = [ - "amethyst_config", - "amethyst_core", - "amethyst_error", - "amethyst_window", - "derivative", - "derive-new", - "fnv", - "serde", - "smallvec 1.4.0", - "winit", -] - -[[package]] -name = "amethyst_locale" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7802a8beb42bd1d00af21cf182134e8dd8963bb8fd08be4637c3ca6a0aab6f6" -dependencies = [ - "amethyst_assets", - "amethyst_core", - "amethyst_error", - "fluent", - "serde", - "unic-langid", -] - -[[package]] -name = "amethyst_network" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc13d9f22f9497e08d4dacedede83496859df09b2946acad6138f6464f5dec4d" -dependencies = [ - "amethyst_core", - "amethyst_error", - "bytes", - "laminar", - "log", -] - -[[package]] -name = "amethyst_rendy" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "661791abc37876714437db9dbbfd1e70c9a8ddd29eace7e5a762c2cf5bc1f6ee" -dependencies = [ - "amethyst_assets", - "amethyst_config", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_window", - "approx 0.3.2", - "derivative", - "derive-new", - "failure", - "fnv", - "genmesh", - "glsl-layout", - "lazy_static", - "log", - "palette", - "rendy", - "ron", - "serde", - "smallvec 1.4.0", - "static_assertions 1.1.0", -] - -[[package]] -name = "amethyst_ui" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2044d3705fe6726414be8b22607e6eb4d9928cffe8ad17982479d330c3705ac" -dependencies = [ - "amethyst_assets", - "amethyst_audio", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_input", - "amethyst_rendy", - "amethyst_window", - "clipboard", - "derivative", - "derive-new", - "failure", - "fnv", - "font-kit", - "glsl-layout", - "glyph_brush", - "lazy_static", - "log", - "paste", - "rand 0.7.3", - "ron", - "serde", - "smallvec 1.4.0", - "unicode-normalization", - "unicode-segmentation", - "winit", -] - -[[package]] -name = "amethyst_utils" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180715cc173d539c5b2af6c6da08a387d0f5aade75ba74ef8fe35eb457ba0a1a" -dependencies = [ - "amethyst_assets", - "amethyst_controls", - "amethyst_core", - "amethyst_derive", - "amethyst_error", - "amethyst_rendy", - "amethyst_window", - "derive-new", - "log", - "serde", - "specs-derive", - "specs-hierarchy", -] - -[[package]] -name = "amethyst_window" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a48007acbceb9e95f34e5c08223a3eb3e7553d47111b7a195b0277209b16c93" -dependencies = [ - "amethyst_config", - "amethyst_core", - "amethyst_error", - "log", - "serde", - "winit", -] - -[[package]] -name = "andrew" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" -dependencies = [ - "bitflags", - "line_drawing", - "rusttype 0.7.9", - "walkdir", - "xdg", - "xml-rs", -] - -[[package]] -name = "android_glue" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "000444226fcff248f2bc4c7625be32c63caccfecc2723a2b9f78a7487a49c407" - -[[package]] -name = "approx" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94" - -[[package]] -name = "approx" +name = "android_log-sys" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "num-traits 0.2.11", + "libc", +] + +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", ] [[package]] @@ -430,50 +184,123 @@ checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" [[package]] name = "arrayvec" -version = "0.4.12" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] -name = "arrayvec" -version = "0.5.1" +name = "as-raw-xcb-connection" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" [[package]] name = "ash" -version = "0.29.0" +version = "0.38.0+1.3.281" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003d1fb2eb12eb06d4a03dbe02eea67a9fac910fa97932ab9e3a75b96a1ea5e5" +checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" dependencies = [ - "shared_library", + "libloading", ] [[package]] -name = "atom" -version = "0.3.5" +name = "assert_type_match" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c86699c3f02778ec07158376991c8f783dd1f2f95c579ffaf0738dc984b2fe2" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" dependencies = [ - "hermit-abi", - "libc", - "winapi", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "autocfg" -version = "0.1.7" +name = "async-broadcast" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "pin-project-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-lock" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "atomicow" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" +dependencies = [ + "portable-atomic", + "portable-atomic-util", +] [[package]] name = "autocfg" @@ -482,67 +309,1267 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d" [[package]] -name = "backtrace" -version = "0.3.48" +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0df2f85c8a2abbe3b7d7e748052fdd9b76a0458fdeb16ad4223f5eca78c7c130" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bevy" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3ee8652fe0577fd8a99054e147740850140d530be8e044a9be4e23a3e8a24" dependencies = [ - "addr2line", + "bevy_internal", +] + +[[package]] +name = "bevy_a11y" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6702a82db1b383641fc7c503451847cdafb57076c203cd3bfe549d3eeef474c3" +dependencies = [ + "accesskit", + "bevy_app", + "bevy_derive", + "bevy_ecs", + "bevy_reflect", +] + +[[package]] +name = "bevy_android" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b2d9435e9fe8d7107bb795a6140277872ad5b992cb3934f8d28cfd11040f6f" +dependencies = [ + "android-activity", +] + +[[package]] +name = "bevy_animation" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfaf3ea6d435f4736b3deb60958270443501f5795c7964b1b504abd3be970b4f" +dependencies = [ + "bevy_animation_macros", + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_transform", + "bevy_utils", + "blake3", + "derive_more", + "downcast-rs 2.0.2", + "either", + "petgraph", + "ron", + "serde", + "smallvec", + "thiserror 2.0.17", + "thread_local", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_animation_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d577eae7246a1cda461df1b63188619fc6a3c619adba2a8e5a79e9aa51f64671" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_anti_alias" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15820535cc88bc280f55635eb3ea58df2703a434a0cc2343472eaa7e607fb27b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_app" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e4fc5dfe9d1d9b8233e1878353b5e66a3f5910c2131d3abf68f9a4116b2d433" +dependencies = [ + "bevy_derive", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", "cfg-if", - "libc", - "object", - "rustc-demangle", + "console_error_panic_hook", + "ctrlc", + "downcast-rs 2.0.2", + "log", + "thiserror 2.0.17", + "variadics_please", + "wasm-bindgen", + "web-sys", ] [[package]] -name = "base64" -version = "0.10.1" +name = "bevy_asset" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e" +checksum = "357787dbfaba3f73fd185e15d6df70605bddaa774f2ebbcab1aaa031f21fb6c2" dependencies = [ - "byteorder", + "async-broadcast", + "async-fs", + "async-lock", + "atomicow", + "bevy_android", + "bevy_app", + "bevy_asset_macros", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "blake3", + "crossbeam-channel", + "derive_more", + "disqualified", + "downcast-rs 2.0.2", + "either", + "futures-io", + "futures-lite", + "js-sys", + "parking_lot", + "ron", + "serde", + "stackfuture", + "thiserror 2.0.17", + "tracing", + "uuid", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] -name = "base64" -version = "0.11.0" +name = "bevy_asset_macros" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" +checksum = "afa09271d4ca0bf31fda3a9ad57273775d448a05c4046d9367f71d29968d85b4" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_audio" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d79e56e072001524100b00e38cfdea302d9fdabbff48109fc67b528b27a237bb" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_ecs", + "bevy_math", + "bevy_reflect", + "bevy_transform", + "coreaudio-sys", + "cpal", + "rodio", + "tracing", +] + +[[package]] +name = "bevy_camera" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8af1d5a57fde6e577e7b1db58996afb381618294be75a37b3070a20d309678b0" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "downcast-rs 2.0.2", + "serde", + "smallvec", + "thiserror 2.0.17", + "wgpu-types", +] + +[[package]] +name = "bevy_color" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49504fac6b9897f03b4bdc0189c04ef1ba0a9b37926343aa520a71619e90e116" +dependencies = [ + "bevy_math", + "bevy_reflect", + "bytemuck", + "derive_more", + "encase", + "serde", + "thiserror 2.0.17", + "wgpu-types", +] + +[[package]] +name = "bevy_core_pipeline" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6af7e735685a652a8dba41b886f1330faeb57d4c61398917b7e49b09a7a1c3c1" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9396b256b366a43d7f61d1f230cdab0a512fb4712cbf7d688f3d6fce4c5ea8a" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_diagnostic" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cdb0ed0c8423570fbbb7c4fc2719a203dd40928fefff45f76ef0889685a446" +dependencies = [ + "atomic-waker", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_tasks", + "bevy_time", + "const-fnv1a-hash", + "log", + "serde", + "sysinfo", +] + +[[package]] +name = "bevy_ecs" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7dd5229dd00d00e70ac6b2fc0a139961252f6ce07d3d268cfcac0da86d5bde4" +dependencies = [ + "arrayvec", + "bevy_ecs_macros", + "bevy_platform", + "bevy_ptr", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "bitflags 2.10.0", + "bumpalo", + "concurrent-queue", + "derive_more", + "fixedbitset", + "indexmap", + "log", + "nonmax", + "serde", + "slotmap", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_ecs_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4d83bdd2285af4867e76c691406e0a4b55611b583d0c45b6ac7bcec1b45fd48" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_encase_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7179e985f3f1b99265cb87fe194db3b00aee8e2914888d621ff9826e1417ee19" +dependencies = [ + "bevy_macro_utils", + "encase_derive_impl", +] + +[[package]] +name = "bevy_gilrs" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a39dd8fdfe93314d47355ab3c58da40b648908a368bc536872f75fad4e8f3755" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_platform", + "bevy_time", + "gilrs", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_gizmos" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebb9e3ca4938b48e5111151ce4b08f0e6fc207b854db08fa2d8de15ecabe8f8" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_ecs", + "bevy_gizmos_macros", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite_render", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bytemuck", + "tracing", +] + +[[package]] +name = "bevy_gizmos_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c4b3c3aac86f0db85d4f708883ebdc735c3f88ac5b84c033874fcdd3540a9d" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_gltf" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3479fbaf897320a3ee30c1626b4a1bee0be874ca27699c3b2f3494891d103d9b" +dependencies = [ + "base64", + "bevy_animation", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_tasks", + "bevy_transform", + "fixedbitset", + "gltf", + "itertools 0.14.0", + "percent-encoding", + "serde", + "serde_json", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_image" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d546bbe2486bfa14971517e7ef427a9384749817c201d3afc60de0325cf52f11" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "futures-lite", + "guillotiere", + "half", + "image", + "ktx2", + "rectangle-pack", + "ruzstd", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_input" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca955b99f4dc2059e9c8574f8d95a5dd5002809fda80d062a94a553c571a467" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "derive_more", + "log", + "smol_str", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_input_focus" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de4d1d0e833e31beba1f28a77152b35f946e8c45df364ec4969d58788ab9de7f" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_picking", + "bevy_reflect", + "bevy_window", + "log", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_internal" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f5e645f9e1a24c9667c768b6233beaf4e241739d8ca4fbba59435cc27aabad5" +dependencies = [ + "bevy_a11y", + "bevy_android", + "bevy_animation", + "bevy_anti_alias", + "bevy_app", + "bevy_asset", + "bevy_audio", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_gilrs", + "bevy_gizmos", + "bevy_gltf", + "bevy_image", + "bevy_input", + "bevy_input_focus", + "bevy_light", + "bevy_log", + "bevy_math", + "bevy_mesh", + "bevy_pbr", + "bevy_picking", + "bevy_platform", + "bevy_post_process", + "bevy_ptr", + "bevy_reflect", + "bevy_render", + "bevy_scene", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_state", + "bevy_tasks", + "bevy_text", + "bevy_time", + "bevy_transform", + "bevy_ui", + "bevy_ui_render", + "bevy_utils", + "bevy_window", + "bevy_winit", +] + +[[package]] +name = "bevy_light" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47093733280976ebd595f6e25f76603d5067ca4eb7544e59ecb0dd2fc5147810" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "tracing", +] + +[[package]] +name = "bevy_log" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a2d4ea086ac4663ab9dfb056c7b85eee39e18f7e3e9a4ae6e39897eaa155c5" +dependencies = [ + "android_log-sys", + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_utils", + "tracing", + "tracing-log", + "tracing-oslog", + "tracing-subscriber", + "tracing-wasm", +] + +[[package]] +name = "bevy_macro_utils" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62d984f9f8bd0f0d9fb020492a955e641e30e7a425f3588bf346cb3e61fec3c3" +dependencies = [ + "parking_lot", + "proc-macro2", + "quote", + "syn", + "toml_edit", +] + +[[package]] +name = "bevy_math" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa74ae5d968749cc073da991757d3c7e3504ac6dbaac5f8c2a54b9d19b0b7ed" +dependencies = [ + "approx", + "bevy_reflect", + "derive_more", + "glam", + "itertools 0.14.0", + "libm", + "rand", + "rand_distr", + "serde", + "smallvec", + "thiserror 2.0.17", + "variadics_please", +] + +[[package]] +name = "bevy_mesh" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd9a0ea86abbd17655bc6f9f8d94461dfcd0322431f752fc03748df8b335eff2" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mikktspace", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "hexasphere", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_mikktspace" +version = "0.17.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" + +[[package]] +name = "bevy_pbr" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c514b950cda849aa64e9b076a235913577370275125a34a478758505a19d776" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_image", + "bevy_light", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset", + "nonmax", + "offset-allocator", + "smallvec", + "static_assertions", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_picking" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b371779713b40dea83b24cdb95054fe999fe8372351a317c4fb768859ac5f010" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_input", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_time", + "bevy_transform", + "bevy_window", + "crossbeam-channel", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_platform" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4691af6d7cfd1b5deb2fc926a43a180a546cdc3fe1e5a013fcee60db9bb2c81f" +dependencies = [ + "critical-section", + "foldhash 0.2.0", + "futures-channel", + "getrandom 0.3.4", + "hashbrown 0.16.1", + "js-sys", + "portable-atomic", + "portable-atomic-util", + "serde", + "spin", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-time", +] + +[[package]] +name = "bevy_post_process" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b857972f5d56b43b0dce2c843b75b64d5fbbd0f6177f6ecccd75e7e41f72deb" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "nonmax", + "radsort", + "smallvec", + "thiserror 2.0.17", + "tracing", +] + +[[package]] +name = "bevy_ptr" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17d24d7906c7de556033168b3485de36c59049fbaef0c2c44c715a23e0329b10" + +[[package]] +name = "bevy_reflect" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5472b91928c0f3e4e3988c0d036b00719f19520f53a0c3f8c2af72f00e693c5" +dependencies = [ + "assert_type_match", + "bevy_platform", + "bevy_ptr", + "bevy_reflect_derive", + "bevy_utils", + "derive_more", + "disqualified", + "downcast-rs 2.0.2", + "erased-serde", + "foldhash 0.2.0", + "glam", + "inventory", + "petgraph", + "serde", + "smallvec", + "smol_str", + "thiserror 2.0.17", + "uuid", + "variadics_please", + "wgpu-types", +] + +[[package]] +name = "bevy_reflect_derive" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "083784255162fa39960aa3cf3c23af0e515db2daa7f2e796ae34df993f4d3f6c" +dependencies = [ + "bevy_macro_utils", + "indexmap", + "proc-macro2", + "quote", + "syn", + "uuid", +] + +[[package]] +name = "bevy_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44117cbc9448b5a3118eb9c65bd9ec4c574be996148793be2443257daae6eb05" +dependencies = [ + "async-channel", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_diagnostic", + "bevy_ecs", + "bevy_encase_derive", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render_macros", + "bevy_shader", + "bevy_tasks", + "bevy_time", + "bevy_transform", + "bevy_utils", + "bevy_window", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "downcast-rs 2.0.2", + "encase", + "fixedbitset", + "image", + "indexmap", + "js-sys", + "naga", + "nonmax", + "offset-allocator", + "send_wrapper", + "smallvec", + "thiserror 2.0.17", + "tracing", + "variadics_please", + "wasm-bindgen", + "web-sys", + "wgpu", +] + +[[package]] +name = "bevy_render_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9557b7b6b06b1b70c147581f4f410c2de73b6f6f0e82915887020f953bacb5a" +dependencies = [ + "bevy_macro_utils", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_scene" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcf6efd31fdd1e05724c95900bb1055716c8e3633b05fa731ee75db4241c17d" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_derive", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_transform", + "bevy_utils", + "derive_more", + "serde", + "thiserror 2.0.17", + "uuid", +] + +[[package]] +name = "bevy_shader" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a655de9f64e113a6e37be76401fb0d6cb84ed7cc4f891e70af4e39d26e9080c3" +dependencies = [ + "bevy_asset", + "bevy_platform", + "bevy_reflect", + "naga", + "naga_oil", + "serde", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52b9a80aadf102ef0b012ceba5326253638c891994c303479e9973092e4e1c8b" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_picking", + "bevy_reflect", + "bevy_text", + "bevy_transform", + "bevy_window", + "radsort", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_sprite_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eec49a2a9185526f9828559a40b6f66d4c2dbae2df8ea2936d88ba449a5e86a" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bitflags 2.10.0", + "bytemuck", + "derive_more", + "fixedbitset", + "nonmax", + "tracing", +] + +[[package]] +name = "bevy_state" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e8556a55d548844fc067fac6657b62f8073c94bd7e13c86aa7573f4c2a67b3" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "bevy_state_macros", + "bevy_utils", + "log", + "variadics_please", +] + +[[package]] +name = "bevy_state_macros" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda45913b1d6470c6b751656e72fb3f25ca6b5b7b2ee055b294aaed1eb7e5ba" +dependencies = [ + "bevy_macro_utils", + "quote", + "syn", +] + +[[package]] +name = "bevy_tasks" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcbbfa5a58a16c4228434d3018c23fde3d78dcd76ec5f5b2b482a21f4b158dd3" +dependencies = [ + "async-channel", + "async-executor", + "async-task", + "atomic-waker", + "bevy_platform", + "concurrent-queue", + "crossbeam-queue", + "derive_more", + "futures-lite", + "heapless", + "pin-project", +] + +[[package]] +name = "bevy_text" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc144cc6a30ed44a88e342c22d9e3a66a0993a74f792ae07ba79318efb41a86d" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_utils", + "cosmic-text", + "serde", + "smallvec", + "sys-locale", + "thiserror 2.0.17", + "tracing", + "wgpu-types", +] + +[[package]] +name = "bevy_time" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32835c3dbe082fbbe7d4f2f37f655073421f2882d4320ac2d59f922474260de4" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_platform", + "bevy_reflect", + "crossbeam-channel", + "log", + "serde", +] + +[[package]] +name = "bevy_transform" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41fabfeaa53f51ff5ccf4d87e66836293159d50d21f6d3e16c93efb7c30f969" +dependencies = [ + "bevy_app", + "bevy_ecs", + "bevy_log", + "bevy_math", + "bevy_reflect", + "bevy_tasks", + "bevy_utils", + "derive_more", + "serde", + "thiserror 2.0.17", +] + +[[package]] +name = "bevy_ui" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa0fe27b8c641c2537480774dfd9198d56779371b04dd76618db39da4e7c7483" +dependencies = [ + "accesskit", + "bevy_a11y", + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_math", + "bevy_picking", + "bevy_platform", + "bevy_reflect", + "bevy_sprite", + "bevy_text", + "bevy_transform", + "bevy_utils", + "bevy_window", + "derive_more", + "smallvec", + "taffy", + "thiserror 2.0.17", + "tracing", + "uuid", +] + +[[package]] +name = "bevy_ui_render" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1d2e783bb5f0b748e6360a0055421d5c934b43830b205a84996a75e54330cd7" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_camera", + "bevy_color", + "bevy_core_pipeline", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_math", + "bevy_mesh", + "bevy_platform", + "bevy_reflect", + "bevy_render", + "bevy_shader", + "bevy_sprite", + "bevy_sprite_render", + "bevy_text", + "bevy_transform", + "bevy_ui", + "bevy_utils", + "bytemuck", + "derive_more", + "tracing", +] + +[[package]] +name = "bevy_utils" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "789d04f88c764877a4552e07745b402dbc45f5d0545e6d102558f2f1752a1d89" +dependencies = [ + "bevy_platform", + "disqualified", + "thread_local", +] + +[[package]] +name = "bevy_window" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae54ec7a0fc344278592a688a01b57b32182abc3ca7d47040773c4cbc2e15e0" +dependencies = [ + "bevy_app", + "bevy_asset", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "log", + "raw-window-handle", + "serde", +] + +[[package]] +name = "bevy_winit" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feeaa46d3c4480323e690de8a4ca7f914c074af1f5f70ee3246392992dbf4a0c" +dependencies = [ + "accesskit", + "accesskit_winit", + "approx", + "bevy_a11y", + "bevy_android", + "bevy_app", + "bevy_asset", + "bevy_derive", + "bevy_ecs", + "bevy_image", + "bevy_input", + "bevy_input_focus", + "bevy_log", + "bevy_math", + "bevy_platform", + "bevy_reflect", + "bevy_tasks", + "bevy_window", + "bytemuck", + "cfg-if", + "js-sys", + "tracing", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winit", +] [[package]] name = "bindgen" -version = "0.53.3" +version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5" +checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags", + "bitflags 2.10.0", "cexpr", - "cfg-if", "clang-sys", - "lazy_static", - "lazycell", - "peeking_take_while", - "proc-macro2 1.0.18", - "quote 1.0.6", + "itertools 0.13.0", + "proc-macro2", + "quote", "regex", - "rustc-hash", + "rustc-hash 2.1.1", "shlex", + "syn", ] [[package]] -name = "bitflags" -version = "1.2.1" +name = "bit-set" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec", +] [[package]] -name = "blake2b_simd" -version = "0.5.10" +name = "bit-vec" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "bytemuck", + "serde_core", +] + +[[package]] +name = "blake3" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", - "arrayvec 0.5.1", + "arrayvec", + "cc", + "cfg-if", "constant_time_eq", ] @@ -553,10 +1580,61 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] -name = "build_const" -version = "0.2.1" +name = "block2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2 0.6.3", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "bumpalo" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "byteorder" @@ -565,595 +1643,593 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] -name = "bytes" -version = "0.5.4" +name = "byteorder-lite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.10.0", + "log", + "polling", + "rustix 0.38.44", + "slab", + "thiserror 1.0.69", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop", + "rustix 0.38.44", + "wayland-backend", + "wayland-client", +] [[package]] name = "cc" -version = "1.0.54" +version = "1.2.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bbb73db36c1246e9034e307d0fba23f9a2e251faa47ade70c1bd252220c8311" +checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" +dependencies = [ + "find-msvc-tools", + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" [[package]] name = "cexpr" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ "nom", ] [[package]] name = "cfg-if" -version = "0.1.10" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] -name = "cgmath" -version = "0.16.1" +name = "cfg_aliases" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c" -dependencies = [ - "approx 0.1.1", - "mint", - "num-traits 0.1.43", - "rand 0.4.6", -] - -[[package]] -name = "chrono" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80094f509cf8b5ae86a4966a39b3ff66cd7e2a3e594accec3743ff3fabeab5b2" -dependencies = [ - "num-integer", - "num-traits 0.2.11", - "time", -] +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "clang-sys" -version = "0.29.3" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", - "libloading 0.5.2", + "libloading", ] [[package]] -name = "claxon" -version = "0.4.2" +name = "codespan-reporting" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86c952727a495bda7abaf09bafdee1a939194dd793d9a8e26281df55ac43b00" - -[[package]] -name = "clipboard" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7" +checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" dependencies = [ - "clipboard-win", - "objc", - "objc-foundation", - "objc_id", - "x11-clipboard", + "serde", + "termcolor", + "unicode-width", ] [[package]] -name = "clipboard-win" -version = "2.2.0" +name = "combine" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ - "winapi", + "bytes", + "memchr", ] [[package]] -name = "cloudabi" -version = "0.0.3" +name = "concurrent-queue" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "bitflags", + "crossbeam-utils", + "portable-atomic", ] [[package]] -name = "cmake" -version = "0.1.44" +name = "console_error_panic_hook" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56268c17a6248366d66d4a47a3381369d068cce8409bb1716ed77ea32163bb" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" dependencies = [ - "cc", + "cfg-if", + "wasm-bindgen", ] [[package]] -name = "cocoa" -version = "0.18.5" +name = "const-fnv1a-hash" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1706996401131526e36b3b49f0c4d912639ce110996f3ca144d78946727bce54" +checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" + +[[package]] +name = "const_panic" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" dependencies = [ - "bitflags", - "block", - "core-foundation 0.6.4", - "core-graphics 0.17.3", - "foreign-types", - "libc", - "objc", + "typewit", ] [[package]] -name = "color_quant" -version = "1.0.1" +name = "const_soft_float" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd" - -[[package]] -name = "colored" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59" -dependencies = [ - "atty", - "lazy_static", - "winapi", -] - -[[package]] -name = "colorful" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bca1619ff57dd7a56b58a8e25ef4199f123e78e503fe1653410350a1b98ae65" +checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" [[package]] name = "constant_time_eq" -version = "0.1.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "constgebra" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" +dependencies = [ + "const_soft_float", +] [[package]] name = "core-foundation" -version = "0.6.4" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ - "core-foundation-sys 0.6.2", + "core-foundation-sys", "libc", ] [[package]] name = "core-foundation" -version = "0.7.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ - "core-foundation-sys 0.7.0", + "core-foundation-sys", "libc", ] [[package]] name = "core-foundation-sys" -version = "0.6.2" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" - -[[package]] -name = "core-foundation-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core-graphics" -version = "0.17.3" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56790968ab1c8a1202a102e6de05fc6e1ec87da99e4e93e9a7d13efbfc1e95a9" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ - "bitflags", - "core-foundation 0.6.4", + "bitflags 1.3.2", + "core-foundation 0.9.4", + "core-graphics-types 0.1.3", "foreign-types", "libc", ] [[package]] -name = "core-graphics" -version = "0.19.0" +name = "core-graphics-types" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e78b2e0aaf43f08e7ae0d6bc96895ef72ff0921c7d4ff4762201b2dba376dd" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" dependencies = [ - "bitflags", - "core-foundation 0.7.0", - "foreign-types", + "bitflags 1.3.2", + "core-foundation 0.9.4", "libc", ] [[package]] -name = "core-text" -version = "15.0.0" +name = "core-graphics-types" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "131b3fd1f8bd5db9f2b398fa4fdb6008c64afc04d447c306ac2c7e98fba2a61d" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "core-foundation 0.7.0", - "core-graphics 0.19.0", - "foreign-types", + "bitflags 2.10.0", + "core-foundation 0.10.1", "libc", ] [[package]] name = "coreaudio-rs" -version = "0.9.1" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f229761965dad3e9b11081668a6ea00f1def7aa46062321b5ec245b834f6e491" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "core-foundation-sys", "coreaudio-sys", ] [[package]] name = "coreaudio-sys" -version = "0.2.4" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e81f1c165c33ffab90a03077ac3b03462b34d5947145dfa48102e063d581502c" +checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" dependencies = [ "bindgen", ] [[package]] -name = "cpal" -version = "0.11.0" +name = "cosmic-text" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b55d55d69f403f62a95bd3c04b431e0aedf5120c70f15d07a8edd234443dd59" +checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" dependencies = [ - "alsa-sys", - "core-foundation-sys 0.6.2", - "coreaudio-rs", - "lazy_static", - "libc", - "num-traits 0.2.11", - "stdweb", - "thiserror", - "winapi", + "bitflags 2.10.0", + "fontdb", + "log", + "rangemap", + "rustc-hash 1.1.0", + "rustybuzz", + "self_cell", + "smol_str", + "swash", + "sys-locale", + "ttf-parser 0.21.1", + "unicode-bidi", + "unicode-linebreak", + "unicode-script", + "unicode-segmentation", ] [[package]] -name = "crc" -version = "1.8.1" +name = "cpal" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" dependencies = [ - "build_const", + "alsa", + "core-foundation-sys", + "coreaudio-rs", + "dasp_sample", + "jni", + "js-sys", + "libc", + "mach2", + "ndk 0.8.0", + "ndk-context", + "oboe", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.54.0", ] [[package]] name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" -dependencies = [ - "cfg-if", -] +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" [[package]] name = "crossbeam-channel" -version = "0.3.9" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ - "crossbeam-utils 0.6.6", -] - -[[package]] -name = "crossbeam-channel" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cced8691919c02aac3cb0a1bc2e9b73d89e832bf9a06fc579d4e71b68a2da061" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-deque" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils 0.7.2", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg 1.0.0", - "cfg-if", - "crossbeam-utils 0.7.2", - "lazy_static", - "maybe-uninit", - "memoffset", - "scopeguard", + "crossbeam-utils", ] [[package]] name = "crossbeam-queue" -version = "0.1.2" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ - "crossbeam-utils 0.6.6", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab6bffe714b6bb07e42f201352c34f51fefd355ace793f9e638ebd52d23f98d2" -dependencies = [ - "cfg-if", - "crossbeam-utils 0.7.2", + "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.6.6" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + +[[package]] +name = "ctrlc" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" dependencies = [ - "cfg-if", - "lazy_static", + "dispatch2", + "nix", + "windows-sys 0.61.2", ] [[package]] -name = "crossbeam-utils" -version = "0.7.2" +name = "cursor-icon" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" + +[[package]] +name = "dasp_sample" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" + +[[package]] +name = "data-encoding" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" + +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "autocfg 1.0.0", - "cfg-if", - "lazy_static", + "derive_more-impl", ] [[package]] -name = "ctor" -version = "0.1.14" +name = "derive_more-impl" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6b25ee9ac1995c54d7adb2eff8cfffb7260bc774fb63c601ec65467f43cd9d" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ - "quote 1.0.6", - "syn 1.0.30", + "proc-macro2", + "quote", + "syn", + "unicode-xid", ] [[package]] -name = "deflate" -version = "0.7.20" +name = "dispatch" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" -dependencies = [ - "adler32", - "byteorder", -] +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] -name = "derivative" -version = "1.0.4" +name = "dispatch2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6d883546668a3e2011b6a716a7330b82eabb0151b138217f632c8243e17135" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", -] - -[[package]] -name = "derive-new" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71f31892cd5c62e414316f2963c5689242c43d8e7bbcaaeca97e5e28c95d91d9" -dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", -] - -[[package]] -name = "dirs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -dependencies = [ - "cfg-if", - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ + "bitflags 2.10.0", + "block2 0.6.2", "libc", - "redox_users", - "winapi", + "objc2 0.6.3", ] +[[package]] +name = "disqualified" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" + [[package]] name = "dlib" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b11f15d1e3268f140f68d390637d5e76d849782d971ae7063e0da69fe9709a76" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.6.2", + "libloading", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", ] [[package]] name = "downcast-rs" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba6eb47c2131e784a38b726eb54c1e1484904f013e576a25354d0124161af6" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] -name = "dwrote" -version = "0.9.0" +name = "downcast-rs" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd1369e02db5e9b842a9b67bce8a2fcc043beafb2ae8a799dd482d46ea1ff0d" -dependencies = [ - "lazy_static", - "libc", - "winapi", -] +checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" [[package]] -name = "edit-distance" -version = "2.1.0" +name = "dpi" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbaaaf38131deb9ca518a274a45bfdb8771f139517b073b16c2d3d32ae5037b" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "either" -version = "1.5.3" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] -name = "env_logger" -version = "0.7.1" +name = "encase" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" +checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" dependencies = [ - "log", - "regex", + "const_panic", + "encase_derive", + "glam", + "thiserror 2.0.17", ] +[[package]] +name = "encase_derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" +dependencies = [ + "encase_derive_impl", +] + +[[package]] +name = "encase_derive_impl" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + [[package]] name = "erased-serde" -version = "0.3.11" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d88b6d1705e16a4d62e05ea61cc0496c2bd190f4fa8e5c1f11ce747be6bcf3d1" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" dependencies = [ "serde", + "serde_core", + "typeid", ] [[package]] -name = "err-derive" -version = "0.2.4" +name = "errno" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22deed3a8124cff5fa835713fa105621e43bbdc46690c3a6b68328a012d350d4" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ - "proc-macro-error", - "proc-macro2 1.0.18", - "quote 1.0.6", - "rustversion", - "syn 1.0.30", - "synstructure", + "libc", + "windows-sys 0.61.2", ] [[package]] name = "euclid" -version = "0.20.13" +version = "0.22.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d51b9a929edb14183fad621e2d5736fc8760707a24246047288d4c142b6bd" +checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" dependencies = [ - "num-traits 0.2.11", + "num-traits", ] [[package]] -name = "expat-sys" -version = "2.1.6" +name = "event-listener" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658f19728920138342f68408b7cf7644d90d4784353d8ebc32e7e8663dbe45fa" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ - "cmake", - "pkg-config", + "concurrent-queue", + "parking", + "pin-project-lite", ] [[package]] -name = "failure" -version = "0.1.8" +name = "event-listener-strategy" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "backtrace", - "failure_derive", + "event-listener", + "pin-project-lite", ] [[package]] -name = "failure_derive" -version = "0.1.8" +name = "fastrand" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", - "synstructure", + "simd-adler32", ] [[package]] -name = "fern" -version = "0.5.9" +name = "find-msvc-tools" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" + +[[package]] +name = "fixedbitset" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" + +[[package]] +name = "flappy-bird-rust" +version = "0.1.0" dependencies = [ - "chrono", - "colored", - "log", + "bevy", + "getrandom 0.2.16", + "rand", ] [[package]] -name = "float-ord" -version = "0.2.0" +name = "flate2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bad48618fdb549078c333a7a8528acb57af271d0433bdecd523eb620628364e" - -[[package]] -name = "fluent" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ebe7532e1e5146a909de9e019e31835a84b5dee3eeb234561e525844f3cf3bf" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ - "fluent-bundle", - "unic-langid", + "crc32fast", + "miniz_oxide", ] -[[package]] -name = "fluent-bundle" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27ade33328521266c81cc0924523988f43ccd7359f64689a1b6e818afca3a646" -dependencies = [ - "fluent-langneg", - "fluent-syntax", - "intl-memoizer", - "intl_pluralrules", - "rental", - "smallvec 1.4.0", - "unic-langid", -] - -[[package]] -name = "fluent-langneg" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5815efd5542e40841cd34ef9003822352b04c67a70c595c6758597c72e1f56" -dependencies = [ - "unic-langid", -] - -[[package]] -name = "fluent-syntax" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac0f7e83d14cccbf26e165d8881dcac5891af0d85a88543c09dd72ebd31d91ba" - [[package]] name = "fnv" version = "1.0.7" @@ -1161,389 +2237,569 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] -name = "font-kit" -version = "0.5.0" +name = "foldhash" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b6e2b877097ffd0abac6597fea26fccb5ed7eb9da0a4094f11ccc8aba64efb" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "font-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" dependencies = [ - "byteorder", - "core-foundation 0.7.0", - "core-graphics 0.19.0", - "core-text", - "dirs", - "dwrote", - "euclid", - "float-ord", - "freetype", - "lazy_static", - "libc", + "bytemuck", +] + +[[package]] +name = "fontconfig-parser" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" +dependencies = [ + "roxmltree", +] + +[[package]] +name = "fontdb" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" +dependencies = [ + "fontconfig-parser", "log", - "lyon_path", - "servo-fontconfig", - "walkdir", - "winapi", + "memmap2", + "slotmap", + "tinyvec", + "ttf-parser 0.20.0", ] [[package]] name = "foreign-types" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ + "foreign-types-macros", "foreign-types-shared", ] +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "foreign-types-shared" -version = "0.1.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] -name = "freetype" -version = "0.4.1" +name = "futures-channel" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11926b2b410b469d0e9399eca4cbbe237a9ef02176c485803b29216307e8e028" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ - "libc", - "servo-freetype-sys", + "futures-core", ] [[package]] -name = "fuchsia-cprng" -version = "0.1.1" +name = "futures-core" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] -name = "fxhash" -version = "0.2.1" +name = "futures-io" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ - "byteorder", + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", ] [[package]] -name = "generic-array" -version = "0.13.2" +name = "gethostname" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ - "typenum", -] - -[[package]] -name = "genmesh" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093d52460513e54346e440eadad05a799378654001d7c3a384c3d1e59b5f1e9f" -dependencies = [ - "cgmath", - "mint", + "rustix 1.1.2", + "windows-link 0.2.1", ] [[package]] name = "getrandom" -version = "0.1.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] -name = "getset" -version = "0.0.9" +name = "getrandom" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb3f5b7d8d70c9bd23cf29b2b38094661418fb0ea79f1b0cc2019a11d6f5429" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", ] [[package]] -name = "gfx-backend-vulkan" -version = "0.3.3" +name = "gilrs" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5facf0b6e4306a6a93682077f85602c89b49aca8ecceb73b9558e7baa37f8c54" +checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" dependencies = [ - "ash", - "byteorder", - "core-graphics 0.17.3", - "derivative", - "gfx-hal", - "lazy_static", + "fnv", + "gilrs-core", "log", - "objc", - "raw-window-handle 0.1.2", - "smallvec 0.6.13", - "winapi", - "winit", - "x11", + "uuid", + "vec_map", ] [[package]] -name = "gfx-hal" -version = "0.3.1" +name = "gilrs-core" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00a079b66250a6437c3822c8bfc25e5bed5ba0186d312e7df87bc503325ab33c" +checksum = "be11a71ac3564f6965839e2ed275bf4fcf5ce16d80d396e1dfdb7b2d80bd587e" dependencies = [ - "bitflags", - "failure", - "fxhash", - "serde", + "core-foundation 0.10.1", + "inotify", + "io-kit-sys", + "js-sys", + "libc", + "libudev-sys", + "log", + "nix", + "uuid", + "vec_map", + "wasm-bindgen", + "web-sys", + "windows 0.58.0", ] [[package]] -name = "ghost" -version = "0.1.1" +name = "gl_generator" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "khronos_api", + "log", + "xml-rs", ] [[package]] -name = "gif" -version = "0.10.3" +name = "glam" +version = "0.30.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "471d90201b3b223f3451cd4ad53e34295f16a1df17b1edf3736d47761c3981af" +checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" dependencies = [ - "color_quant", - "lzw", + "bytemuck", + "libm", + "rand", + "serde_core", ] -[[package]] -name = "gimli" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" - [[package]] name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "glow" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gltf" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" +dependencies = [ + "byteorder", + "gltf-json", + "lazy_static", + "serde_json", +] + +[[package]] +name = "gltf-derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" +dependencies = [ + "inflections", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "gltf-json" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" +dependencies = [ + "gltf-derive", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.10.0", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "glsl-layout" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a09fa28f366501404e78686df09026aa4a2a729e25707f230273d97ff9933bc" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "glsl-layout-derive", + "bitflags 2.10.0", ] [[package]] -name = "glsl-layout-derive" -version = "0.3.2" +name = "gpu-allocator" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def9469f08de9930cae4c4e7d88b059cce0765a0ffdf6108ecc96568e801516d" +checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", -] - -[[package]] -name = "glyph_brush" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fca6f9d679bff1322c76c9a1ad4b8553b30a94f3f75bea6936e19032c2f2ec3" -dependencies = [ - "glyph_brush_layout", "log", - "ordered-float", - "rustc-hash", - "rusttype 0.8.3", - "twox-hash", + "presser", + "thiserror 1.0.69", + "windows 0.58.0", ] [[package]] -name = "glyph_brush_layout" -version = "0.1.9" +name = "gpu-descriptor" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b70adc570f1dc71b6b32e241cbcc2b42175f5aea71951fbf41e68b04aec24c7" +checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "approx 0.3.2", - "rusttype 0.8.3", - "xi-unicode", + "bitflags 2.10.0", + "gpu-descriptor-types", + "hashbrown 0.15.5", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "grid" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" + +[[package]] +name = "guillotiere" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" +dependencies = [ + "euclid", + "svg_fmt", +] + +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "num-traits", + "zerocopy", +] + +[[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.7.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "ahash", - "autocfg 1.0.0", + "foldhash 0.1.5", ] [[package]] -name = "heck" -version = "0.3.1" +name = "hashbrown" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ - "unicode-segmentation", + "equivalent", + "serde", + "serde_core", +] + +[[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 = "hermit-abi" -version = "0.1.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91780f809e750b0a89f5544be56617ff6b1227ee485bcb06ebe10cdf89bd3b71" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + +[[package]] +name = "hexasphere" +version = "16.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" +dependencies = [ + "constgebra", + "glam", + "tinyvec", +] + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "image" +version = "0.25.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" +dependencies = [ + "bytemuck", + "byteorder-lite", + "moxcms", + "num-traits", + "png", +] + +[[package]] +name = "indexmap" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "inflections" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" + +[[package]] +name = "inotify" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" +dependencies = [ + "bitflags 2.10.0", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" dependencies = [ "libc", ] -[[package]] -name = "hibitset" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93a1bb8316a44459a7d14253c4d28dd7395cbd23cc04a68c46e851b8e46d64b1" -dependencies = [ - "atom", - "rayon", -] - -[[package]] -name = "hound" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" - -[[package]] -name = "image" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35371e467cd7b0b3d1d6013d619203658467df12d61b0ca43cd67b743b1965eb" -dependencies = [ - "byteorder", - "gif", - "jpeg-decoder", - "lzw", - "num-iter", - "num-rational", - "num-traits 0.2.11", - "png 0.14.1", - "scoped_threadpool", - "tiff 0.2.2", -] - -[[package]] -name = "image" -version = "0.22.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ed2ada878397b045454ac7cfb011d73132c59f31a955d230bd1f1c2e68eb4a" -dependencies = [ - "byteorder", - "gif", - "jpeg-decoder", - "num-iter", - "num-rational", - "num-traits 0.2.11", - "png 0.15.3", - "scoped_threadpool", - "tiff 0.3.1", -] - -[[package]] -name = "inflate" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff" -dependencies = [ - "adler32", -] - -[[package]] -name = "intl-memoizer" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9867e2d65d82936ef34217ed0f87b639a94384e93a0676158142c861c705391f" -dependencies = [ - "type-map", - "unic-langid", -] - -[[package]] -name = "intl_pluralrules" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82c14d8eece42c03353e0ce86a4d3f97b1f1cef401e4d962dca6c6214a85002" -dependencies = [ - "tinystr", - "unic-langid", -] - [[package]] name = "inventory" -version = "0.1.6" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d3f4b90287725c97b17478c60dda0c6324e7c84ee1ed72fb9179d0fdf13956" +checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" dependencies = [ - "ctor", - "ghost", - "inventory-impl", + "rustversion", ] [[package]] -name = "inventory-impl" -version = "0.1.6" +name = "io-kit-sys" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9092a4fefc9d503e9287ef137f03180a6e7d1b04c419563171ee14947c5e80ec" +checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "core-foundation-sys", + "mach2", ] [[package]] name = "itertools" -version = "0.8.2" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +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 = "0.4.5" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] -name = "jpeg-decoder" -version = "0.1.19" +name = "jni" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b47b4c4e017b01abdc5bcc126d2d1002e5a75bbe3ce73f9f4f311a916363704" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ - "byteorder", - "rayon", + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", ] [[package]] -name = "laminar" -version = "0.3.2" +name = "jni-sys" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de96f75f071a80952498ac17613843a2f529188ac053af7d358403aac4e34551" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "byteorder", - "crc", - "crossbeam-channel 0.3.9", - "lazy_static", - "log", - "rand 0.7.3", - "rand_pcg 0.2.1", + "getrandom 0.3.4", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "ktx2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" +dependencies = [ + "bitflags 2.10.0", ] [[package]] @@ -1552,143 +2808,98 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -[[package]] -name = "lazycell" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" - [[package]] name = "lewton" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be42bea7971f4ba0ea1e215730c29bc1ff9bd2a9c10013912f42a8dcf8d77c0d" +checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" dependencies = [ "byteorder", "ogg", "tinyvec", ] -[[package]] -name = "lexical" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e0d09e60c187a6d0a3fa418aec8587c6a4ae9de872f6126f2134f319b5ed10d" -dependencies = [ - "cfg-if", - "lexical-core", - "rustc_version", -] - -[[package]] -name = "lexical-core" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304bccb228c4b020f3a4835d247df0a02a7c4686098d4167762cfbbe4c5cb14" -dependencies = [ - "arrayvec 0.4.12", - "cfg-if", - "rustc_version", - "ryu", - "static_assertions 0.3.4", -] - [[package]] name = "libc" -version = "0.2.71" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libloading" -version = "0.5.2" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753" +checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ - "cc", - "winapi", -] - -[[package]] -name = "libloading" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cadb8e769f070c45df05c78c7520eb4cd17061d4ab262e43cfc68b4d00ac71c" -dependencies = [ - "winapi", + "cfg-if", + "windows-link 0.2.1", ] [[package]] name = "libm" -version = "0.2.1" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] -name = "line_drawing" -version = "0.7.0" +name = "libredox" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "num-traits 0.2.11", + "bitflags 2.10.0", + "libc", + "redox_syscall 0.5.18", ] [[package]] -name = "linked-hash-map" -version = "0.5.3" +name = "libudev-sys" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" +checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" [[package]] name = "lock_api" -version = "0.3.4" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ "scopeguard", ] [[package]] name = "log" -version = "0.4.8" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" -dependencies = [ - "cfg-if", - "serde", -] +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] -name = "lyon_geom" -version = "0.14.1" +name = "mach2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca04310c9807612a311506106000b6eccb2e27bca9bfb594ce80fb8a31231f9d" -dependencies = [ - "arrayvec 0.4.12", - "euclid", - "num-traits 0.2.11", -] - -[[package]] -name = "lyon_path" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bcb57ac24a5428539e2c7c0592766d5933c937d703f430990c669c00de96862" -dependencies = [ - "lyon_geom", -] - -[[package]] -name = "lzw" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084" - -[[package]] -name = "mach" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] @@ -1703,244 +2914,254 @@ dependencies = [ ] [[package]] -name = "matrixmultiply" -version = "0.2.3" +name = "matchers" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4f7ec66360130972f34830bfad9ef05c6610a43938a467bcc9ab9369ab3478f" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" dependencies = [ - "rawpointer", + "regex-automata", ] -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "memchr" -version = "2.3.3" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] -name = "memmap" -version = "0.7.0" +name = "memmap2" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ "libc", - "winapi", ] [[package]] -name = "memoffset" -version = "0.5.4" +name = "metal" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" +checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" dependencies = [ - "autocfg 1.0.0", + "bitflags 2.10.0", + "block", + "core-graphics-types 0.2.0", + "foreign-types", + "log", + "objc", + "paste", ] [[package]] -name = "minimp3" -version = "0.3.5" +name = "minimal-lexical" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce0cff6a0bfd3f8b6b2350819bbddd63bc65cc45e53888bdd0ff49dde16d2d5" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "minimp3-sys", - "slice-deque", + "adler2", + "simd-adler32", ] [[package]] -name = "minimp3-sys" -version = "0.3.2" +name = "moxcms" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e21c73734c69dc95696c9ed8926a2b393171d98b3f5f5935686a26a487ab9b90" +checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" dependencies = [ - "cc", + "num-traits", + "pxfm", ] [[package]] -name = "mint" -version = "0.5.5" +name = "naga" +version = "26.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d42e54f364a39ad5238e3072db2e8747785b37655368da756987d3b09ada91e0" - -[[package]] -name = "minterpolate" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d51167254a2f9cbf683aa415fe275ab4e11350c58b7f0a2d7f6e0f10b3594ee" +checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c" dependencies = [ - "mint", - "num", - "serde", + "arrayvec", + "bit-set", + "bitflags 2.10.0", + "cfg-if", + "cfg_aliases", + "codespan-reporting", + "half", + "hashbrown 0.15.5", + "hexf-parse", + "indexmap", + "libm", + "log", + "num-traits", + "once_cell", + "pp-rs", + "rustc-hash 1.1.0", + "spirv", + "thiserror 2.0.17", + "unicode-ident", ] [[package]] -name = "mopa" -version = "0.2.2" +name = "naga_oil" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a785740271256c230f57462d3b83e52f998433a7062fc18f96d5999474a9f915" +checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" +dependencies = [ + "codespan-reporting", + "data-encoding", + "indexmap", + "naga", + "regex", + "rustc-hash 1.1.0", + "thiserror 2.0.17", + "tracing", + "unicode-ident", +] [[package]] -name = "nalgebra" -version = "0.19.0" +name = "ndk" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abb021006c01b126a936a8dd1351e0720d83995f4fc942d0d426c654f990745" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" dependencies = [ - "alga", - "approx 0.3.2", - "generic-array", - "matrixmultiply", - "mint", - "num-complex", - "num-rational", - "num-traits 0.2.11", - "rand 0.7.3", - "rand_distr", - "serde", - "serde_derive", - "typenum", + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys 0.6.0+11769913", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.5.0+25.2.9519653" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", ] [[package]] name = "nix" -version = "0.14.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags", - "cc", + "bitflags 2.10.0", "cfg-if", + "cfg_aliases", "libc", - "void", ] -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - [[package]] name = "nom" -version = "5.1.1" +version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ "memchr", - "version_check", + "minimal-lexical", ] [[package]] -name = "num" -version = "0.2.1" +name = "nonmax" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" +checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits 0.2.11", + "winapi", ] [[package]] -name = "num-bigint" -version = "0.2.6" +name = "nu-ansi-term" +version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "autocfg 1.0.0", - "num-integer", - "num-traits 0.2.11", -] - -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg 1.0.0", - "num-traits 0.2.11", - "serde", + "windows-sys 0.61.2", ] [[package]] name = "num-derive" -version = "0.2.5" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eafd0b45c5537c3ba526f79d3e75120036502bebacbb3f3220914067ce39dbf2" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.15.44", -] - -[[package]] -name = "num-integer" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6ea62e9d81a77cd3ee9a2a5b9b609447857f3d358704331e4ef39eb247fcba" -dependencies = [ - "autocfg 1.0.0", - "num-traits 0.2.11", -] - -[[package]] -name = "num-iter" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb0800a0291891dd9f4fe7bd9c19384f98f7fbe0cd0f39a2c6b88b9868bbc00" -dependencies = [ - "autocfg 1.0.0", - "num-integer", - "num-traits 0.2.11", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg 1.0.0", - "num-bigint", - "num-integer", - "num-traits 0.2.11", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "num-traits" -version = "0.1.43" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "num-traits 0.2.11", -] - -[[package]] -name = "num-traits" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62be47e61d1842b9170f0fdeec8eba98e60e90e5446449a0545e5152acd7096" -dependencies = [ - "autocfg 1.0.0", + "autocfg", "libm", ] [[package]] -name = "num_cpus" -version = "1.13.0" +name = "num_enum" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ - "hermit-abi", - "libc", + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -1953,943 +3174,691 @@ dependencies = [ ] [[package]] -name = "objc-foundation" -version = "0.1.1" +name = "objc-sys" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" dependencies = [ - "block", - "objc", - "objc_id", + "objc-sys", + "objc2-encode", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" dependencies = [ - "objc", + "objc2-encode", ] [[package]] -name = "object" -version = "0.19.0" +name = "objc2-app-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cbca9424c482ee628fa549d9c812e2cd22f1180b9222c9200fdfa6eb31aecb2" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "libc", + "objc2 0.5.2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] [[package]] -name = "objekt" -version = "0.1.2" +name = "objc2-cloud-kit" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2069a3ae3dad97a4ae47754e8f47e5d2f1fd32ab7ad8a84bb31d051faa59cc3c" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "dispatch", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "libc", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.10.0", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "oboe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" +dependencies = [ + "jni", + "ndk 0.8.0", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" +dependencies = [ + "cc", +] + +[[package]] +name = "offset-allocator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" +dependencies = [ + "log", + "nonmax", +] [[package]] name = "ogg" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d79f1db9148be9d0e174bb3ac890f6030fcb1ed947267c5a91ee4c91b5a91e15" +checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" dependencies = [ "byteorder", ] +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "orbclient" +version = "0.3.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "247ad146e19b9437f8604c21f8652423595cf710ad108af40e77d3ae6e96b827" +dependencies = [ + "libredox", +] + [[package]] name = "ordered-float" -version = "1.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01" dependencies = [ - "num-traits 0.2.11", + "num-traits", ] [[package]] -name = "palette" -version = "0.4.1" +name = "owned_ttf_parser" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cd2b5f49faa585c1416e35717fc04328a4c353b368c3ad6e8b34e743bd7cae1" +checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" dependencies = [ - "approx 0.1.1", - "num-traits 0.2.11", - "palette_derive", - "phf", - "phf_codegen", - "serde", + "ttf-parser 0.25.1", ] [[package]] -name = "palette_derive" -version = "0.4.1" +name = "parking" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc2c163e12167b6b7cf3f76a94c2abf8f87086a2d03efbe07d12b0f792189e" -dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "syn 0.14.9", -] +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.9.0" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", - "parking_lot_core 0.6.2", - "rustc_version", -] - -[[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" -dependencies = [ - "lock_api", - "parking_lot_core 0.7.2", + "parking_lot_core", ] [[package]] name = "parking_lot_core" -version = "0.6.2" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", - "cloudabi", "libc", - "redox_syscall", - "rustc_version", - "smallvec 0.6.13", - "winapi", -] - -[[package]] -name = "parking_lot_core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" -dependencies = [ - "cfg-if", - "cloudabi", - "libc", - "redox_syscall", - "smallvec 1.4.0", - "winapi", + "redox_syscall 0.5.18", + "smallvec", + "windows-link 0.2.1", ] [[package]] name = "paste" -version = "0.1.16" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d508492eeb1e5c38ee696371bf7b9fc33c83d46a7d451606b96458fbbbdc2dec" -dependencies = [ - "paste-impl", - "proc-macro-hack", -] - -[[package]] -name = "paste-impl" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f328a6a63192b333fce5fbb4be79db6758a4d518dfac6d54412f1492f72d32" -dependencies = [ - "proc-macro-hack", - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", -] - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] -name = "phf" -version = "0.7.24" +name = "petgraph" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ - "phf_shared", + "fixedbitset", + "hashbrown 0.15.5", + "indexmap", + "serde", + "serde_derive", ] [[package]] -name = "phf_codegen" -version = "0.7.24" +name = "pin-project" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" dependencies = [ - "phf_generator", - "phf_shared", + "pin-project-internal", ] [[package]] -name = "phf_generator" -version = "0.7.24" +name = "pin-project-internal" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "phf_shared", - "rand 0.6.5", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "phf_shared" -version = "0.7.24" +name = "pin-project-lite" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ - "siphasher", + "atomic-waker", + "fastrand", + "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.17" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "png" -version = "0.14.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63daf481fdd0defa2d1d2be15c674fbfa1b0fd71882c303a91f9a79b3252c359" +checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" dependencies = [ - "bitflags", - "deflate", - "inflate", - "num-iter", + "bitflags 2.10.0", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", ] [[package]] -name = "png" -version = "0.15.3" +name = "polling" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef859a23054bbfee7811284275ae522f0434a3c8e7f4b74bd4a35ae7e1c4a283" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ - "bitflags", - "crc32fast", - "deflate", - "inflate", + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix 1.1.2", + "windows-sys 0.61.2", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "pp-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" +dependencies = [ + "unicode-xid", ] [[package]] name = "ppv-lite86" -version = "0.2.8" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" [[package]] name = "proc-macro-crate" -version = "0.1.4" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10d4b51f154c8a7fb96fd6dad097cb74b863943ec010ac94b9fd1be8861fe1e" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53" -dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", - "syn-mid", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid 0.1.0", + "toml_edit", ] [[package]] name = "proc-macro2" -version = "1.0.18" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ - "unicode-xid 0.2.0", + "unicode-ident", ] [[package]] -name = "proc_macro_roids" -version = "0.7.0" +name = "profiling" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06675fa2c577f52bcf77fbb511123927547d154faa08097cc012c66ec3c9611a" +checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" + +[[package]] +name = "pxfm" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "num-traits", ] [[package]] -name = "quickcheck" -version = "0.9.2" +name = "quick-xml" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44883e74aa97ad63db83c4bf8ca490f02b2fc02f92575e720c8551e843c945f" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ - "env_logger", - "log", - "rand 0.7.3", - "rand_core 0.5.1", + "memchr", ] [[package]] name = "quote" -version = "0.6.13" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ - "proc-macro2 0.4.30", + "proc-macro2", ] [[package]] -name = "quote" -version = "1.0.6" +name = "r-efi" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a21852a652ad6f610c9510194f398ff6f8692e334fd1145fed931f7fbe44ea" -dependencies = [ - "proc-macro2 1.0.18", -] +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "rand" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293" -dependencies = [ - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "rdrand", - "winapi", -] - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -dependencies = [ - "autocfg 0.1.7", - "libc", - "rand_chacha 0.1.1", - "rand_core 0.4.2", - "rand_hc 0.1.0", - "rand_isaac", - "rand_jitter", - "rand_os", - "rand_pcg 0.1.2", - "rand_xorshift", - "winapi", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", -] - -[[package]] -name = "rand_chacha" +name = "radsort" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +checksum = "019b4b213425016d7d84a153c4c73afb0946fbb4840e4eece7ba8848b9d6da22" + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "autocfg 0.1.7", - "rand_core 0.3.1", + "rand_chacha", + "rand_core", ] [[package]] name = "rand_chacha" -version = "0.2.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.5.1", + "rand_core", ] [[package]] name = "rand_core" -version = "0.3.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom", + "getrandom 0.3.4", ] [[package]] name = "rand_distr" -version = "0.2.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" dependencies = [ - "rand 0.7.3", + "num-traits", + "rand", ] [[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_jitter" +name = "range-alloc" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -dependencies = [ - "libc", - "rand_core 0.4.2", - "winapi", -] +checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" [[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc", - "rand_core 0.4.2", - "rdrand", - "winapi", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -dependencies = [ - "autocfg 0.1.7", - "rand_core 0.4.2", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "raw-window-handle" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af3d3b2e1053b3ff2171efc29a8bff3439ce6b2ce6a0432695134bc1c7ff8e87" -dependencies = [ - "libc", -] - -[[package]] -name = "raw-window-handle" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a441a7a6c80ad6473bd4b74ec1c9a4c951794285bf941c2126f607c72e48211" -dependencies = [ - "libc", -] - -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - -[[package]] -name = "rayon" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db6ce3297f9c85e16621bb8cca38a06779ffc31bb8184e1be4bed2be4678a098" -dependencies = [ - "crossbeam-deque", - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" +name = "rangemap" version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a89b46efaf957e52b18062fb2f4660f8b8a4dde1807ca002690868ef2c85a9" +checksum = "acbbbbea733ec66275512d0b9694f34102e7d5406fdbe2ad8d21b28dce92887c" + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "read-fonts" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" dependencies = [ - "crossbeam-deque", - "crossbeam-queue 0.2.2", - "crossbeam-utils 0.7.2", - "lazy_static", - "num_cpus", + "bytemuck", + "font-types", ] [[package]] -name = "rdrand" -version = "0.4.0" +name = "rectangle-pack" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "rand_core 0.3.1", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.1.56" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84" - -[[package]] -name = "redox_users" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "getrandom", - "redox_syscall", - "rust-argon2", + "bitflags 2.10.0", ] [[package]] name = "regex" -version = "1.3.9" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] name = "regex-syntax" -version = "0.6.18" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] -name = "relevant" -version = "0.4.2" +name = "renderdoc-sys" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc232e13d37f4547f5b9b42a5efc380cabe5dbc1807f8b893580640b2ab0308" -dependencies = [ - "backtrace", - "cfg-if", - "log", -] - -[[package]] -name = "rendy" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6638bafecd2ebbc9b092d887b7daf46187aac9e03ee7dfc9bf1a361e2568d663" -dependencies = [ - "failure", - "gfx-hal", - "rendy-command", - "rendy-descriptor", - "rendy-factory", - "rendy-frame", - "rendy-graph", - "rendy-memory", - "rendy-mesh", - "rendy-resource", - "rendy-shader", - "rendy-texture", - "rendy-util", - "rendy-wsi", - "thread_profiler", -] - -[[package]] -name = "rendy-chain" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2d2019852820618ae7e08302d4b250f59b8b92ca93f92b730630c90e4c6dad" -dependencies = [ - "gfx-hal", - "log", - "thread_profiler", -] - -[[package]] -name = "rendy-command" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a32282d82bd3ef04c15edf3d6762a8bea38a6575490344188a9bbb110c6c6a" -dependencies = [ - "derivative", - "failure", - "gfx-hal", - "relevant", - "rendy-util", - "smallvec 0.6.13", - "thread_profiler", -] - -[[package]] -name = "rendy-descriptor" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca7bcc3cb86a7945ecc5f0d7121e47a0b5979c3c57d3a5e6facc8738338651d8" -dependencies = [ - "derivative", - "failure", - "gfx-hal", - "log", - "relevant", - "smallvec 0.6.13", -] - -[[package]] -name = "rendy-factory" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a733600fa7aa962919999ffe20bbf3f9c1c36230fedd9abf9e78caffe9db7093" -dependencies = [ - "derivative", - "either", - "failure", - "gfx-hal", - "log", - "parking_lot 0.9.0", - "relevant", - "rendy-command", - "rendy-descriptor", - "rendy-memory", - "rendy-resource", - "rendy-util", - "rendy-wsi", - "serde", - "smallvec 0.6.13", - "thread_profiler", -] - -[[package]] -name = "rendy-frame" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "417485444f959d67f3b1ec5ad7de340e389548ab404df0bb809bc821128660d3" -dependencies = [ - "derivative", - "either", - "failure", - "gfx-hal", - "log", - "relevant", - "rendy-command", - "rendy-factory", - "rendy-memory", - "rendy-resource", - "rendy-util", - "smallvec 0.6.13", - "thread_profiler", -] - -[[package]] -name = "rendy-graph" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b34a289735fd2a15482aaf9fb5ba824678768dd985e7d17545a7354836d5ebd4" -dependencies = [ - "bitflags", - "derivative", - "either", - "failure", - "gfx-hal", - "log", - "relevant", - "rendy-chain", - "rendy-command", - "rendy-descriptor", - "rendy-factory", - "rendy-frame", - "rendy-memory", - "rendy-resource", - "rendy-shader", - "rendy-util", - "rendy-wsi", - "smallvec 0.6.13", - "thread_profiler", -] - -[[package]] -name = "rendy-memory" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cf6b3fc8a012b69062419caf086d35f83d9af57bf30a6971691731b4816a47f" -dependencies = [ - "colorful", - "derivative", - "failure", - "gfx-hal", - "hibitset", - "log", - "relevant", - "serde", - "slab", - "smallvec 0.6.13", -] - -[[package]] -name = "rendy-mesh" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "026bd3424909de2bc28bf9422036db46e0e302c3ada84f0a5a61c8dab914161c" -dependencies = [ - "failure", - "gfx-hal", - "log", - "rendy-command", - "rendy-factory", - "rendy-memory", - "rendy-resource", - "rendy-util", - "serde", - "serde_bytes", - "smallvec 0.6.13", - "wavefront_obj", -] - -[[package]] -name = "rendy-resource" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c94df60f828ae6e0c9f50bf0faeaf0125ef728ec66029c25d59c91fd6d41ee" -dependencies = [ - "crossbeam-channel 0.3.9", - "derivative", - "failure", - "gfx-hal", - "log", - "relevant", - "rendy-descriptor", - "rendy-memory", - "rendy-util", - "smallvec 0.6.13", -] - -[[package]] -name = "rendy-shader" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd3a577f3b58cd2ea98f4480d32493d80f8c3aaf1852388efec58c33d3ac222" -dependencies = [ - "derivative", - "failure", - "gfx-hal", - "log", - "rendy-factory", - "rendy-util", - "serde", - "smallvec 0.6.13", -] - -[[package]] -name = "rendy-texture" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911dbc17c26ec93c8cfecf6a82e5e288d503183e46ac57c7395826aea2bf259f" -dependencies = [ - "derivative", - "failure", - "gfx-hal", - "image 0.22.5", - "log", - "palette", - "rendy-factory", - "rendy-memory", - "rendy-resource", - "rendy-util", - "serde", - "thread_profiler", -] - -[[package]] -name = "rendy-util" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa01882dc9f3f64684393724d0d49d2315b612eeeb029eded2181385d796c75f" -dependencies = [ - "derivative", - "gfx-backend-vulkan", - "gfx-hal", - "lazy_static", - "log", - "parking_lot 0.9.0", - "serde", - "thread_profiler", -] - -[[package]] -name = "rendy-wsi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9954dda560d8d5fbf619a46b0619aa6e0f990bd439ab974641bdbe99a5f9c93f" -dependencies = [ - "derivative", - "failure", - "gfx-hal", - "log", - "relevant", - "rendy-memory", - "rendy-resource", - "rendy-util", - "smallvec 0.6.13", - "winit", -] - -[[package]] -name = "rental" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f" -dependencies = [ - "rental-impl", - "stable_deref_trait", -] - -[[package]] -name = "rental-impl" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" -dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", -] +checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "rodio" -version = "0.11.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73bbf260262fd5501b7a17d6827e0d25c1127e921eb177150a060faf6e217a70" +checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" dependencies = [ - "claxon", "cpal", - "hound", - "lazy_static", "lewton", - "minimp3", ] [[package]] name = "ron" -version = "0.5.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5" +checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" dependencies = [ - "base64 0.10.1", - "bitflags", + "base64", + "bitflags 2.10.0", "serde", + "serde_derive", + "unicode-ident", ] [[package]] -name = "rust-argon2" -version = "0.7.0" +name = "roxmltree" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017" -dependencies = [ - "base64 0.11.0", - "blake2b_simd", - "constant_time_eq", - "crossbeam-utils 0.7.2", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" [[package]] name = "rustc-hash" @@ -2898,65 +3867,74 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] -name = "rustc_version" -version = "0.2.3" +name = "rustc-hash" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "semver", + "bitflags 2.10.0", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", ] [[package]] -name = "rustc_version_runtime" -version = "0.1.5" +name = "rustix" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6de8ecd7fad7731f306f69b6e10ec5a3178c61e464dcc06979427aa4cc891145" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "rustc_version", - "semver", -] - -[[package]] -name = "rusttype" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310942406a39981bed7e12b09182a221a29e0990f3e7e0c971f131922ed135d5" -dependencies = [ - "rusttype 0.8.3", -] - -[[package]] -name = "rusttype" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f61411055101f7b60ecf1041d87fb74205fb20b0c7a723f07ef39174cf6b4c0" -dependencies = [ - "approx 0.3.2", - "crossbeam-deque", - "crossbeam-utils 0.7.2", - "linked-hash-map", - "num_cpus", - "ordered-float", - "rustc-hash", - "stb_truetype", + "bitflags 2.10.0", + "errno", + "libc", + "linux-raw-sys 0.11.0", + "windows-sys 0.61.2", ] [[package]] name = "rustversion" -version = "1.0.2" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bba175698996010c4f6dce5e7f173b6eb781fce25d2cfc45e27091ce0b79f6" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "rustybuzz" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "bitflags 2.10.0", + "bytemuck", + "libm", + "smallvec", + "ttf-parser 0.21.1", + "unicode-bidi-mirroring", + "unicode-ccc", + "unicode-properties", + "unicode-script", +] + +[[package]] +name = "ruzstd" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" +dependencies = [ + "twox-hash", ] [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -2968,10 +3946,10 @@ dependencies = [ ] [[package]] -name = "scoped_threadpool" -version = "0.1.9" +name = "scoped-tls" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" [[package]] name = "scopeguard" @@ -2980,248 +3958,191 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "semver" -version = "0.9.0" +name = "sctk-adwaita" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" dependencies = [ - "semver-parser", + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", ] [[package]] -name = "semver-parser" -version = "0.7.0" +name = "self_cell" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.111" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9124df5b40cbd380080b2cc6ab894c040a3070d995f5c9dc77e18c34a8ae37d" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] -[[package]] -name = "serde_bytes" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf487fbf5c6239d7ea2ff8b10cb6b811cd4b5080d1c2aeed1dec18753c06e10" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" -version = "1.0.111" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2c3ac8e6ca1e9c80b8be1023940162bf81ae3cffbb1809474152f2ce1eb250" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "serde_json" -version = "1.0.53" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", + "memchr", "ryu", "serde", + "serde_core", ] [[package]] -name = "servo-fontconfig" -version = "0.4.0" +name = "sharded-slab" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a088f8d775a5c5314aae09bd77340bc9c67d72b9a45258be34c83548b4814cd9" -dependencies = [ - "libc", - "servo-fontconfig-sys", -] - -[[package]] -name = "servo-fontconfig-sys" -version = "4.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b3e166450f523f4db06c14f02a2d39e76d49b5d8cbd224338d93e3595c156c" -dependencies = [ - "expat-sys", - "pkg-config", - "servo-freetype-sys", -] - -[[package]] -name = "servo-freetype-sys" -version = "4.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4ccb6d0d32d277d3ef7dea86203d8210945eb7a45fba89dd445b3595dd0dfc" -dependencies = [ - "cmake", - "pkg-config", -] - -[[package]] -name = "shared_library" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", - "libc", ] [[package]] name = "shlex" -version = "0.1.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "shred" -version = "0.10.2" +name = "simd-adler32" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f08237e667ac94ad20f8878b5943d91a93ccb231428446c57c21c57779016d" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "skrifa" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" dependencies = [ - "arrayvec 0.5.1", - "hashbrown", - "mopa", - "rayon", - "shred-derive", - "smallvec 1.4.0", - "tynm", + "bytemuck", + "read-fonts", ] -[[package]] -name = "shred-derive" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f37080f2751fbf091dbdebaa95bd6cf9dbf74ad1d50396b1908518a1747fdf" -dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", -] - -[[package]] -name = "shrev" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5752e017e03af9d735b4b069f53b7a7fd90fefafa04d8bd0c25581b0bff437f" - -[[package]] -name = "siphasher" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac" - [[package]] name = "slab" -version = "0.4.2" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] -name = "slice-deque" -version = "0.3.0" +name = "slotmap" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef6ee280cdefba6d2d0b4b78a84a1c1a3f3a4cec98c2d4231c8bc225de0f25" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ - "libc", - "mach", - "winapi", + "version_check", ] [[package]] name = "smallvec" -version = "0.6.13" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6" -dependencies = [ - "maybe-uninit", - "serde", -] - -[[package]] -name = "smallvec" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" -dependencies = [ - "serde", -] +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smithay-client-toolkit" -version = "0.4.6" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ccb8c57049b2a34d2cc2b203fa785020ba0129d31920ef0d317430adaf748fa" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "andrew", - "bitflags", - "dlib", - "lazy_static", - "memmap", - "nix", - "wayland-client", - "wayland-commons", - "wayland-protocols", -] - -[[package]] -name = "specs" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff28a29366aff703d5da8a7e2c8875dc8453ac1118f842cbc0fa70c7db51240" -dependencies = [ - "crossbeam-queue 0.2.2", - "hashbrown", - "hibitset", + "bitflags 2.10.0", + "calloop", + "calloop-wayland-source", + "cursor-icon", + "libc", "log", - "rayon", - "shred", - "shrev", - "specs-derive", - "tuple_utils", + "memmap2", + "rustix 0.38.44", + "thiserror 1.0.69", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", ] [[package]] -name = "specs-derive" -version = "0.4.1" +name = "smol_str" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e23e09360f3d2190fec4222cd9e19d3158d5da948c0d1ea362df617dd103511" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "serde", ] [[package]] -name = "specs-hierarchy" -version = "0.6.0" +name = "spin" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c932b14cb12cd113485208054b19049ef2dd7cfa8b2ef7f64d7e078d384eb42" +checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" dependencies = [ - "hibitset", - "shrev", - "specs", + "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.10.0", ] [[package]] name = "stable_deref_trait" -version = "1.1.1" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] -name = "static_assertions" -version = "0.3.4" +name = "stackfuture" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3eb36b47e512f8f1c9e3d10c2c1965bc992bd9cdb024fa581e2194501c83d3" +checksum = "115beb9c69db2393ff10b75a1b8587a51716e5551d015001e55320ed279d32f9" +dependencies = [ + "const_panic", +] [[package]] name = "static_assertions" @@ -3230,301 +4151,422 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] -name = "stb_truetype" -version = "0.3.1" +name = "strict-num" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77b6b07e862c66a9f3e62a07588fee67cd90a9135a2b942409f195507b4fb51" -dependencies = [ - "byteorder", -] +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" [[package]] -name = "stdweb" -version = "0.1.3" +name = "svg_fmt" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e" +checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" [[package]] -name = "syn" -version = "0.14.9" +name = "swash" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" +checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", + "skrifa", + "yazi", + "zeno", ] [[package]] name = "syn" -version = "0.15.44" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "unicode-xid 0.1.0", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] -name = "syn" -version = "1.0.30" +name = "sys-locale" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93a56fabc59dce20fe48b6c832cc249c713e7ed88fa28b0ee0a3bfcaae5fe4e2" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "unicode-xid 0.2.0", + "libc", ] [[package]] -name = "syn-mid" -version = "0.5.0" +name = "sysinfo" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "libc", + "memchr", + "ntapi", + "objc2-core-foundation", + "objc2-io-kit", + "windows 0.61.3", ] [[package]] -name = "synstructure" -version = "0.12.3" +name = "taffy" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545" +checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", - "unicode-xid 0.2.0", + "arrayvec", + "grid", + "serde", + "slotmap", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", ] [[package]] name = "thiserror" -version = "1.0.19" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl 2.0.17", ] [[package]] name = "thiserror-impl" -version = "1.0.19" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.6", - "syn 1.0.30", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] name = "thread_local" -version = "1.0.1" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ - "lazy_static", + "cfg-if", ] [[package]] -name = "thread_profiler" -version = "0.3.0" +name = "tiny-skia" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71b370904e74ab0a4264c6618d728a701c98bd4cd665eb4b4cc63d2c38034a0d" +checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" dependencies = [ - "lazy_static", - "serde_json", - "time", + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "tiny-skia-path", ] [[package]] -name = "tiff" -version = "0.2.2" +name = "tiny-skia-path" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e4834f28a0330cb9f3f2c87d2649dca723cb33802e2bdcf18da32759fbec7ce" +checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" dependencies = [ - "byteorder", - "lzw", - "num-derive", - "num-traits 0.2.11", + "arrayref", + "bytemuck", + "strict-num", ] -[[package]] -name = "tiff" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7b7c2cfc4742bd8a32f2e614339dd8ce30dbcf676bb262bd63a2327bc5df57d" -dependencies = [ - "byteorder", - "lzw", - "num-derive", - "num-traits 0.2.11", -] - -[[package]] -name = "time" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "tinystr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bac79c4b51eda1b090b1edebfb667821bbb51f713855164dc7cec2cb8ac2ba3" - [[package]] name = "tinyvec" -version = "0.3.3" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed" - -[[package]] -name = "toml" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc92d160b1eef40665be3a05630d003936a3bc7da7421277846c2613e92c71a" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ - "serde", + "tinyvec_macros", ] [[package]] -name = "tuple_utils" +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.23.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +dependencies = [ + "indexmap", + "toml_datetime", + "toml_parser", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-oslog" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44834418e2c5b16f47bedf35c28e148db099187dd5feee6367fb2525863af4f1" +checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" +dependencies = [ + "cc", + "cfg-if", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "tracing-wasm" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" +dependencies = [ + "tracing", + "tracing-subscriber", + "wasm-bindgen", +] + +[[package]] +name = "ttf-parser" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" + +[[package]] +name = "ttf-parser" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" + +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "twox-hash" -version = "1.5.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56" -dependencies = [ - "rand 0.7.3", -] +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] -name = "tynm" +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typewit" +version = "1.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-bidi-mirroring" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" + +[[package]] +name = "unicode-ccc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-properties" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367fb781963961b4a90a3362c54b1871caaecb081f011005778242230f39d34e" -dependencies = [ - "nom", -] +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" [[package]] -name = "type-map" -version = "0.3.0" +name = "unicode-script" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2741b1474c327d95c1f1e3b0a2c3977c8e128409c572a33af2914e7d636717" -dependencies = [ - "fxhash", -] - -[[package]] -name = "typenum" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" - -[[package]] -name = "unic-langid" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d81136159f779c35b10655f45210c71cd5ca5a45aadfe9840a61c7071735ed" -dependencies = [ - "unic-langid-impl", - "unic-langid-macros", -] - -[[package]] -name = "unic-langid-impl" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43c61e94492eb67f20facc7b025778a904de83d953d8fcb60dd9adfd6e2d0ea" -dependencies = [ - "tinystr", -] - -[[package]] -name = "unic-langid-macros" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49bd90791278634d57e3ed4a4073108e3f79bfb87ab6a7b8664ba097425703df" -dependencies = [ - "proc-macro-hack", - "tinystr", - "unic-langid-impl", - "unic-langid-macros-impl", -] - -[[package]] -name = "unic-langid-macros-impl" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0098f77bd754f8fb7850cdf4ab143aa821898c4ac6dc16bcb2aa3e62ce858d1" -dependencies = [ - "proc-macro-hack", - "quote 1.0.6", - "syn 1.0.30", - "unic-langid-impl", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5479532badd04e128284890390c1e876ef7a993d0570b3597ae43dfa1d59afa4" -dependencies = [ - "smallvec 1.4.0", -] +checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" [[package]] name = "unicode-segmentation" -version = "1.6.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.1.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] -name = "unicode-xid" -version = "0.2.0" +name = "uuid" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" - -[[package]] -name = "vergen" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ce50d8996df1f85af15f2cd8d33daae6e479575123ef4314a51a70a230739cb" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" dependencies = [ - "bitflags", - "chrono", + "getrandom 0.3.4", + "js-sys", + "serde", + "wasm-bindgen", ] [[package]] -name = "version_check" -version = "0.9.2" +name = "valuable" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" [[package]] -name = "void" -version = "1.0.2" +name = "variadics_please" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "walkdir" @@ -3539,83 +4581,358 @@ dependencies = [ [[package]] name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wavefront_obj" -version = "6.0.0" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2486d70e5d40dec6d541a69c88b730a41315d3fa82529f7180a07778a47a343" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "lexical", + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wayland-backend" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" +dependencies = [ + "cc", + "downcast-rs 1.2.1", + "rustix 1.1.2", + "scoped-tls", + "smallvec", + "wayland-sys", ] [[package]] name = "wayland-client" -version = "0.21.13" +version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49963e5f9eeaf637bfcd1b9f0701c99fd5cd05225eb51035550d4272806f2713" +checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags", - "downcast-rs", - "libc", - "nix", - "wayland-commons", + "bitflags 2.10.0", + "rustix 1.1.2", + "wayland-backend", "wayland-scanner", - "wayland-sys", ] [[package]] -name = "wayland-commons" -version = "0.21.13" +name = "wayland-csd-frame" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40c08896768b667e1df195d88a62a53a2d1351a1ed96188be79c196b35bb32ec" +checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "nix", - "wayland-sys", + "bitflags 2.10.0", + "cursor-icon", + "wayland-backend", +] + +[[package]] +name = "wayland-cursor" +version = "0.31.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" +dependencies = [ + "rustix 1.1.2", + "wayland-client", + "xcursor", ] [[package]] name = "wayland-protocols" -version = "0.21.13" +version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afde2ea2a428eee6d7d2c8584fdbe8b82eee8b6c353e129a434cd6e07f42145" +checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags", + "bitflags 2.10.0", + "wayland-backend", "wayland-client", - "wayland-commons", "wayland-scanner", - "wayland-sys", +] + +[[package]] +name = "wayland-protocols-plasma" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" +dependencies = [ + "bitflags 2.10.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols-wlr" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" +dependencies = [ + "bitflags 2.10.0", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "wayland-scanner", ] [[package]] name = "wayland-scanner" -version = "0.21.13" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf3828c568714507315ee425a9529edc4a4aa9901409e373e9e0027e7622b79e" +checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" dependencies = [ - "proc-macro2 0.4.30", - "quote 0.6.13", - "xml-rs", + "proc-macro2", + "quick-xml", + "quote", ] [[package]] name = "wayland-sys" -version = "0.21.13" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520ab0fd578017a0ee2206623ba9ef4afe5e8f23ca7b42f6acfba2f4e66b1628" +checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" dependencies = [ "dlib", - "lazy_static", + "log", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wgpu" +version = "26.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" +dependencies = [ + "arrayvec", + "bitflags 2.10.0", + "cfg-if", + "cfg_aliases", + "document-features", + "hashbrown 0.15.5", + "js-sys", + "log", + "naga", + "portable-atomic", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "26.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9" +dependencies = [ + "arrayvec", + "bit-set", + "bit-vec", + "bitflags 2.10.0", + "cfg_aliases", + "document-features", + "hashbrown 0.15.5", + "indexmap", + "log", + "naga", + "once_cell", + "parking_lot", + "portable-atomic", + "profiling", + "raw-window-handle", + "rustc-hash 1.1.0", + "smallvec", + "thiserror 2.0.17", + "wgpu-core-deps-apple", + "wgpu-core-deps-wasm", + "wgpu-core-deps-windows-linux-android", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core-deps-apple" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-wasm" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-windows-linux-android" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-hal" +version = "26.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d0e67224cc7305b3b4eb2cc57ca4c4c3afc665c1d1bee162ea806e19c47bdd" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.10.0", + "block", + "bytemuck", + "cfg-if", + "cfg_aliases", + "core-graphics-types 0.2.0", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hashbrown 0.15.5", + "js-sys", + "khronos-egl", + "libc", + "libloading", + "log", + "metal", + "naga", + "ndk-sys 0.6.0+11769913", + "objc", + "ordered-float", + "parking_lot", + "portable-atomic", + "portable-atomic-util", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "smallvec", + "thiserror 2.0.17", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] +name = "wgpu-types" +version = "26.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" +dependencies = [ + "bitflags 2.10.0", + "bytemuck", + "js-sys", + "log", + "serde", + "thiserror 2.0.17", + "web-sys", ] [[package]] name = "winapi" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ "winapi-i686-pc-windows-gnu", "winapi-x86_64-pc-windows-gnu", @@ -3642,88 +4959,531 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +dependencies = [ + "windows-core 0.54.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings 0.1.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] name = "winit" -version = "0.19.5" +version = "0.30.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e96eb4bb472fa43e718e8fa4aef82f86cd9deac9483a1e1529230babdb394a8" +checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" dependencies = [ - "android_glue", - "backtrace", - "bitflags", - "cocoa", - "core-foundation 0.6.4", - "core-graphics 0.17.3", - "image 0.21.3", - "lazy_static", + "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.10.0", + "block2 0.5.1", + "bytemuck", + "calloop", + "cfg_aliases", + "concurrent-queue", + "core-foundation 0.9.4", + "core-graphics", + "cursor-icon", + "dpi", + "js-sys", "libc", - "log", - "objc", - "parking_lot 0.9.0", + "memmap2", + "ndk 0.9.0", + "objc2 0.5.2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "orbclient", "percent-encoding", - "raw-window-handle 0.3.3", - "serde", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", + "sctk-adwaita", "smithay-client-toolkit", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", + "wayland-backend", "wayland-client", - "winapi", + "wayland-protocols", + "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", "x11-dl", + "x11rb", + "xkbcommon-dl", ] [[package]] -name = "x11" -version = "2.18.2" +name = "winnow" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ecd092546cb16f25783a5451538e73afc8d32e242648d54f4ae5459ba1e773" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ - "libc", - "pkg-config", + "memchr", ] [[package]] -name = "x11-clipboard" -version = "0.3.3" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89bd49c06c9eb5d98e6ba6536cf64ac9f7ee3a009b2f53996d405b3944f6bcea" -dependencies = [ - "xcb", -] +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "x11-dl" -version = "2.18.5" +version = "2.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf981e3a5b3301209754218f962052d4d9ee97e478f4d26d4a6eced34c1fef8" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" dependencies = [ - "lazy_static", "libc", - "maybe-uninit", + "once_cell", "pkg-config", ] [[package]] -name = "xcb" -version = "0.8.2" +name = "x11rb" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de" +checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" dependencies = [ + "as-raw-xcb-connection", + "gethostname", "libc", - "log", + "libloading", + "once_cell", + "rustix 1.1.2", + "x11rb-protocol", ] [[package]] -name = "xdg" -version = "2.2.0" +name = "x11rb-protocol" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d089681aa106a86fade1b0128fb5daf07d5867a509ab036d99988dec80429a57" +checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" [[package]] -name = "xi-unicode" -version = "0.2.0" +name = "xcursor" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7395cdb9d0a6219fa0ea77d08c946adf9c1984c72fcd443ace30365f3daadef7" +checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" + +[[package]] +name = "xkbcommon-dl" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" +dependencies = [ + "bitflags 2.10.0", + "dlib", + "log", + "once_cell", + "xkeysym", +] + +[[package]] +name = "xkeysym" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" + +[[package]] +name = "yazi" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" + +[[package]] +name = "zeno" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" + +[[package]] +name = "zerocopy" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 2b9ef19..9092374 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,16 +1,32 @@ [package] -name = "amethyst-starter-2d" +name = "flappy-bird-rust" version = "0.1.0" authors = ["Hilmar Wiegand "] -edition = "2018" +edition = "2021" [dependencies] -#amethyst = {path ="../amethyst", version = "0.15.0"} -amethyst = "0.15.0" -log = { version = "0.4.8", features = ["serde"] } +bevy = "0.17.3" +rand = "0.9" -[features] -default = ["vulkan"] -#empty = ["amethyst/empty"] -#metal = ["amethyst/metal"] -vulkan = ["amethyst/vulkan"] +[target.wasm32-unknown-unknown.dependencies] +bevy = { version = "0.17.3", default-features = false, features = [ + "bevy_asset", + "bevy_winit", + "bevy_window", + "bevy_render", + "bevy_core_pipeline", + "bevy_sprite", + "bevy_text", + "bevy_ui", + "bevy_state", + "png", + "webgl2", +] } +getrandom = { version = "0.2", features = ["js"] } + +# Enable dynamic linking for faster compile times during development +[profile.dev] +opt-level = 1 + +[profile.dev.package."*"] +opt-level = 3 diff --git a/resources/bindings.ron b/resources/bindings.ron deleted file mode 100644 index 414c217..0000000 --- a/resources/bindings.ron +++ /dev/null @@ -1,6 +0,0 @@ -( - axes: {}, - actions: { - "flap": [[Key(Space)]], - }, -) diff --git a/resources/display_config.ron b/resources/display_config.ron deleted file mode 100644 index 3f50ce8..0000000 --- a/resources/display_config.ron +++ /dev/null @@ -1,4 +0,0 @@ -( - title: "test", - dimensions: Some((432, 768)), -) diff --git a/resources/screenshot1.png b/resources/screenshot1.png deleted file mode 100644 index 90c88813af28d556bdba45d18a5de10d94029d10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12393 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 diff --git a/resources/screenshot2.png b/resources/screenshot2.png deleted file mode 100644 index b7a024e79efc15e3a33c9a5c19dbcf537f4cf1f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14449 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 diff --git a/resources/sprites/flappy.ron b/resources/sprites/flappy.ron deleted file mode 100644 index 178c15a..0000000 --- a/resources/sprites/flappy.ron +++ /dev/null @@ -1,73 +0,0 @@ - -List(( - texture_width: 512, - texture_height: 512, - sprites: [ - ( // Daytime background - x: 0, - y: 0, - width: 144, - height: 256, - ), - ( // Nighttime background - x: 146, - y: 0, - width: 144, - height: 256, - ), - ( // Down Pipe - x: 56, - y: 323, - width: 26, - height: 160, - ), - ( // Up Pipe - x: 84, - y: 323, - width: 26, - height: 160, - ), - ( // Ground - x: 292, - y: 0, - width: 168, - height: 56, - ), - ( // Floppy - x: 3, - y: 490, - width: 17, - height: 13, - ), - ( // Tap Tap Dialogue - x: 292, - y: 91, - width: 56, - height: 48, - ), - ( // Play Button - x: 354, - y: 118, - width: 52, - height: 29, - ), - ( // Leaderboard button - x: 414, - y: 118, - width: 52, - height: 29, - ), - ( // Get Ready - x: 295, - y: 59, - width: 91, - height: 24, - ), - ( // Flappy Bird Text - x: 351, - y: 91, - width: 90, - height: 25, - ) - ] -)) \ No newline at end of file diff --git a/resources/sprites/logo.png b/resources/sprites/logo.png deleted file mode 100644 index 159d8cb1c9885d4fa78aa16f5c9ebacef1a6289f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43242 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 M?x-u~$eRWKAN1(tBLDyZ diff --git a/resources/sprites/logo.ron b/resources/sprites/logo.ron deleted file mode 100644 index c8bd048..0000000 --- a/resources/sprites/logo.ron +++ /dev/null @@ -1,24 +0,0 @@ -( - texture_width: 690, - texture_height: 230, - sprites: [ - ( - x: 0, - y: 0, - width: 230, - height: 230, - ), - ( - x: 230, - y: 0, - width: 230, - height: 230, - ), - ( - x: 460, - y: 0, - width: 230, - height: 230, - ) - ] -) \ No newline at end of file diff --git a/src/components.rs b/src/components.rs index 4094a0b..d06a22e 100644 --- a/src/components.rs +++ b/src/components.rs @@ -1,38 +1,80 @@ -use amethyst::{ - core::transform::TransformBundle, - core::transform::Transform, - prelude::*, - renderer::{ - plugins::{RenderFlat2D, RenderToWindow}, - types::DefaultBackend, - RenderingBundle, - }, - utils::application_root_dir, - core::SystemDesc, - derive::SystemDesc, - ecs::prelude::{Component, DenseVecStorage, Entity}, - ecs::prelude::{Join, ReadStorage, System, SystemData, WriteStorage}, -}; +use bevy::prelude::*; - -// Falling object component to bucket us into something the system can manipulate -#[derive(Clone)] +// Scrolling background/ground component +#[derive(Component, Clone)] pub struct TiledScroller { pub speed: f32, pub width: f32, pub height: f32, pub position: f32, } -impl Component for TiledScroller { - type Storage = DenseVecStorage; -} -// Falling object component to bucket us into something the system can manipulate +// Bird component +#[derive(Component)] pub struct Birb { pub vertical_speed: f32, pub starting_height: f32, pub position: f32, } -impl Component for Birb { - type Storage = DenseVecStorage; + +// Bird animation component +#[derive(Component)] +pub struct BirdAnimation { + pub timer: Timer, + pub current_frame: usize, } + +// Pipe component +#[derive(Component)] +pub struct Pipe { + pub speed: f32, +} + +// Collider component for collision detection +#[derive(Component)] +pub struct Collider { + pub width: f32, + pub height: f32, +} + +// Ground marker component +#[derive(Component)] +pub struct Ground; + +// Timer resource for pipe spawning +#[derive(Resource)] +pub struct PipeSpawnTimer { + pub timer: Timer, +} + +// Score resource +#[derive(Resource, Default)] +pub struct Score { + pub value: u32, +} + +// High score resource +#[derive(Resource, Default)] +pub struct HighScore { + pub value: u32, +} + +// Timer resource for score incrementing +#[derive(Resource)] +pub struct ScoreTimer { + pub timer: Timer, +} + +// Score display marker component +#[derive(Component)] +pub struct ScoreDisplay; + +// Debug hitbox visualization resource +#[derive(Resource, Default)] +pub struct DebugHitboxes { + pub enabled: bool, +} + +// Marker for hitbox debug sprites +#[derive(Component)] +pub struct HitboxDebugSprite; diff --git a/src/main.rs b/src/main.rs index 5eb8a02..2a0b5e5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,63 +3,67 @@ mod systems; mod ready_state; mod play_state; mod splash_state; +mod gameover_state; -use amethyst::{ - input::{InputBundle, StringBindings}, - core::transform::TransformBundle, - core::transform::Transform, - prelude::*, - renderer::{ - plugins::{RenderFlat2D, RenderToWindow}, - types::DefaultBackend, - RenderingBundle, - }, - utils::application_root_dir, - core::SystemDesc, - derive::SystemDesc, - ecs::prelude::{Component, DenseVecStorage, Entity}, - ecs::prelude::{Join, ReadStorage, System, SystemData, WriteStorage}, -}; +use bevy::prelude::*; +use bevy::window::WindowResolution; +use systems::*; +use splash_state::*; +use ready_state::*; +use play_state::*; +use gameover_state::*; +use components::*; -use crate::components::*; -use crate::systems::*; -use std::path::PathBuf; -use std::str::FromStr; -use crate::splash_state::SplashState; - -fn main() -> amethyst::Result<()> { - - amethyst::start_logger(Default::default()); - - // Gets the root directory of the application - let mut app_root = PathBuf::from_str("/home/mrh/source/flappy-bird-rust/")?; - - // join on the resources path, and the config. - let resources = app_root.join("resources"); - let display_config = resources.join("display_config.ron"); - let binding_path = resources.join("bindings.ron"); - - let input_bundle = InputBundle::::new() - .with_bindings_from_file(binding_path)?; - - let game_data = GameDataBuilder::default() - .with_bundle(TransformBundle::new())? - .with_bundle(input_bundle)? - // .with(System, "system", &["required_things"]) - .with(ScrollScrollables, "scroll", &[]) - .with_bundle( - RenderingBundle::::new() - .with_plugin( - RenderToWindow::from_config_path(display_config).unwrap() - .with_clear([0.34, 0.36, 0.52, 1.0]), - ) - .with_plugin(RenderFlat2D::default()), - )?; - - - // Creates the app with the startup state and bound game data - let mut game = Application::new(resources, SplashState::default(), game_data)?; - game.run(); - - Ok(()) +fn main() { + App::new() + .add_plugins(DefaultPlugins + .set(WindowPlugin { + primary_window: Some(Window { + title: "Flappy Bird - Rust Edition".to_string(), + resolution: WindowResolution::new(429, 768), + ..default() + }), + ..default() + }) + .set(ImagePlugin::default_nearest()) + ) + .init_state::() + .init_resource::() + .init_resource::() + .init_resource::() + .add_systems(Startup, (load_sprites, setup_splash).chain()) + .add_systems(Update, splash_input.run_if(in_state(GameState::Splash))) + .add_systems(OnExit(GameState::Splash), cleanup_splash) + .add_systems(OnEnter(GameState::Ready), setup_ready) + .add_systems(Update, ready_input.run_if(in_state(GameState::Ready))) + .add_systems(OnExit(GameState::Ready), cleanup_ready) + .add_systems(OnEnter(GameState::Playing), setup_play) + .add_systems(Update, ( + bird_gravity, + animate_bird, + rotate_bird, + spawn_pipes, + move_pipes, + check_collisions, + play_input, + update_score, + render_score, + ).run_if(in_state(GameState::Playing))) + .add_systems(OnExit(GameState::Playing), cleanup_play) + .add_systems(OnEnter(GameState::GameOver), setup_gameover) + .add_systems(Update, ( + gameover_input, + animate_score_card, + render_tiny_score, + render_tiny_high_score, + toggle_scorecard_debug, + render_scorecard_debug, + ).run_if(in_state(GameState::GameOver))) + .add_systems(OnExit(GameState::GameOver), cleanup_gameover) + .add_systems(Update, ( + scroll_scrollables, + toggle_hitbox_debug, + render_hitbox_debug, + )) + .run(); } diff --git a/src/play_state.rs b/src/play_state.rs index 9ca680a..0cfe8a7 100644 --- a/src/play_state.rs +++ b/src/play_state.rs @@ -1,104 +1,143 @@ -use amethyst::{ - assets::{AssetStorage, Loader}, - core::transform::Transform, - core::math::Vector3, - input::{get_key, is_close_requested, is_key_down, VirtualKeyCode}, - prelude::*, - renderer::{Camera, ImageFormat, SpriteRender, SpriteSheet, SpriteSheetFormat, Texture}, - window::ScreenDimensions, - ecs::prelude::{Dispatcher, DispatcherBuilder, Component, DenseVecStorage, Entity}, -}; - -use log::info; +use bevy::prelude::*; use crate::components::*; -use std::collections::HashMap; -use crate::systems::{BirbGravity, ScrollScrollables}; +use crate::splash_state::*; -#[derive(Default)] -pub struct PlayState<'a, 'b> { +#[derive(Component)] +pub struct PlayScreen; - // Custom dispatch systems for this state - dispatcher: Option>, +pub fn setup_play( + mut commands: Commands, + sprite_handles: Res, + window_query: Query<&Window>, +) { + let Ok(window) = window_query.single() else { + return; + }; + let width = window.width(); + let height = window.height(); - sprites: Vec, + // Initialize pipe spawn timer + commands.insert_resource(PipeSpawnTimer { + timer: Timer::from_seconds(2.0, TimerMode::Repeating), + }); + + // Initialize score and score timer + commands.insert_resource(Score::default()); + commands.insert_resource(ScoreTimer { + timer: Timer::from_seconds(1.0, TimerMode::Repeating), + }); + + // Spawn the bird + commands.spawn(( + Sprite { + image: sprite_handles.texture.clone(), + texture_atlas: Some(TextureAtlas { + layout: sprite_handles.layout.clone(), + index: SPRITE_BIRD_ANIM_1, + }), + ..default() + }, + Transform { + translation: Vec3::new(width / 2.0, height / 2.0, 0.2), + scale: Vec3::splat(3.0), + ..default() + }, + Birb { + vertical_speed: 0.0, + position: 0.0, + starting_height: 0.0, + }, + BirdAnimation { + timer: Timer::from_seconds(0.1, TimerMode::Repeating), + current_frame: 0, + }, + Collider { + width: BIRD_WIDTH * 0.6, // Reduce to 60% for more forgiving hitbox + height: BIRD_HEIGHT * 0.6, + }, + PlayScreen, + )); } -impl<'a, 'b> PlayState<'a, 'b> { - - fn init_sprites(&mut self, world: &mut World) { - - let sprites = world.try_fetch_mut::>().unwrap().clone(); - let dimensions = (*world.read_resource::()).clone(); - - let birb_sprite = sprites - .get("floppy").unwrap(); - - let mut transform = Transform::default(); - transform.set_scale(Vector3::new(3.0, 3.0, 3.0)); - transform.set_translation_xyz(dimensions.width()/2.0, dimensions.height()/2.0, 0.2); - - self.sprites.push(world - .create_entity() - .with(birb_sprite.clone()) // Sprite Render - .with(Birb { - vertical_speed: 0.0, - position: 0.0, - starting_height: 0.0 - }) - .with(transform) - .build()); +pub fn play_input( + keyboard: Res>, + mut next_state: ResMut>, +) { + if keyboard.just_pressed(KeyCode::KeyP) { + next_state.set(GameState::Splash); } } -impl<'a, 'b> SimpleState for PlayState<'a, 'b> { - - fn on_start(&mut self, data: StateData<'_, GameData<'_, '_>>) { - - let world = data.world; - let dimensions = (*world.read_resource::()).clone(); - - // Create the `DispatcherBuilder` and register some `System`s that should only run for this `State`. - let mut dispatcher_builder = DispatcherBuilder::new(); - dispatcher_builder.add(BirbGravity { fired: false }, "gravity", &[]); - - let mut dispatcher = dispatcher_builder.build(); - dispatcher.setup(world); - - self.dispatcher = Some(dispatcher); - - PlayState::init_sprites(self, world); - - } - - fn handle_event( - &mut self, - mut data: StateData<'_, GameData<'_, '_>>, - event: StateEvent, - ) -> SimpleTrans { - - if let StateEvent::Window(event) = &event { - // Check if the window should be closed - if is_close_requested(&event) || is_key_down(&event, VirtualKeyCode::Escape) { - return Trans::Quit; - } - - if is_key_down(&event, VirtualKeyCode::P) { - let world = data.world; - for i in &self.sprites { - world.delete_entity(*i); - } - self.sprites.clear(); - return Trans::Pop; - } - } - Trans::None - } - - fn update(&mut self, data: &mut StateData<'_, GameData<'_, '_>>) -> SimpleTrans { - - if let Some(dispatcher) = self.dispatcher.as_mut() { - dispatcher.dispatch(&data.world); - } - Trans::None +pub fn update_score( + time: Res