├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── assets ├── ShotsFired.ogg ├── ShotsFiredDeep.ogg ├── TankHit.ogg ├── TankHitDeep.ogg ├── WallHit.ogg ├── WallHitDeep.ogg └── fonts │ ├── PT_Sans │ ├── OFL.txt │ ├── PTSans-Bold.ttf │ ├── PTSans-BoldItalic.ttf │ ├── PTSans-Italic.ttf │ └── PTSans-Regular.ttf │ └── Public_Sans │ ├── OFL.txt │ ├── PublicSans-Italic-VariableFont_wght.ttf │ ├── PublicSans-VariableFont_wght.ttf │ ├── README.txt │ └── static │ ├── PublicSans-Black.ttf │ ├── PublicSans-BlackItalic.ttf │ ├── PublicSans-Bold.ttf │ ├── PublicSans-BoldItalic.ttf │ ├── PublicSans-ExtraBold.ttf │ ├── PublicSans-ExtraBoldItalic.ttf │ ├── PublicSans-ExtraLight.ttf │ ├── PublicSans-ExtraLightItalic.ttf │ ├── PublicSans-Italic.ttf │ ├── PublicSans-Light.ttf │ ├── PublicSans-LightItalic.ttf │ ├── PublicSans-Medium.ttf │ ├── PublicSans-MediumItalic.ttf │ ├── PublicSans-Regular.ttf │ ├── PublicSans-SemiBold.ttf │ ├── PublicSans-SemiBoldItalic.ttf │ ├── PublicSans-Thin.ttf │ └── PublicSans-ThinItalic.ttf └── src ├── healthbars.rs ├── main.rs ├── sound.rs ├── tanks.rs └── utils ├── health.rs └── mod.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /.vscode 3 | /.idea 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "ab_glyph" 7 | version = "0.2.23" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" 10 | dependencies = [ 11 | "ab_glyph_rasterizer", 12 | "owned_ttf_parser", 13 | ] 14 | 15 | [[package]] 16 | name = "ab_glyph_rasterizer" 17 | version = "0.1.8" 18 | source = "registry+https://github.com/rust-lang/crates.io-index" 19 | checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" 20 | 21 | [[package]] 22 | name = "accesskit" 23 | version = "0.14.0" 24 | source = "registry+https://github.com/rust-lang/crates.io-index" 25 | checksum = "6cf780eb737f2d4a49ffbd512324d53ad089070f813f7be7f99dbd5123a7f448" 26 | 27 | [[package]] 28 | name = "accesskit_consumer" 29 | version = "0.22.0" 30 | source = "registry+https://github.com/rust-lang/crates.io-index" 31 | checksum = "3bdfa1638ddd6eb9c752def95568df8b3ad832df252e9156d2eb783b201ca8a9" 32 | dependencies = [ 33 | "accesskit", 34 | "immutable-chunkmap", 35 | ] 36 | 37 | [[package]] 38 | name = "accesskit_macos" 39 | version = "0.15.0" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | checksum = "c236a84ff1111defc280cee755eaa953d0b24398786851b9d28322c6d3bb1ebd" 42 | dependencies = [ 43 | "accesskit", 44 | "accesskit_consumer", 45 | "objc2", 46 | "objc2-app-kit", 47 | "objc2-foundation", 48 | "once_cell", 49 | ] 50 | 51 | [[package]] 52 | name = "accesskit_windows" 53 | version = "0.20.0" 54 | source = "registry+https://github.com/rust-lang/crates.io-index" 55 | checksum = "5d7f43d24b16b3e76bef248124fbfd2493c3a9860edb5aae1010c890e826de5e" 56 | dependencies = [ 57 | "accesskit", 58 | "accesskit_consumer", 59 | "paste", 60 | "static_assertions", 61 | "windows 0.54.0", 62 | ] 63 | 64 | [[package]] 65 | name = "accesskit_winit" 66 | version = "0.20.4" 67 | source = "registry+https://github.com/rust-lang/crates.io-index" 68 | checksum = "755535e6bf711a42dac28b888b884b10fc00ff4010d9d3bd871c5f5beae5aa78" 69 | dependencies = [ 70 | "accesskit", 71 | "accesskit_macos", 72 | "accesskit_windows", 73 | "raw-window-handle", 74 | "winit", 75 | ] 76 | 77 | [[package]] 78 | name = "adler" 79 | version = "1.0.2" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 82 | 83 | [[package]] 84 | name = "ahash" 85 | version = "0.8.8" 86 | source = "registry+https://github.com/rust-lang/crates.io-index" 87 | checksum = "42cd52102d3df161c77a887b608d7a4897d7cc112886a9537b738a887a03aaff" 88 | dependencies = [ 89 | "cfg-if", 90 | "getrandom", 91 | "once_cell", 92 | "version_check", 93 | "zerocopy", 94 | ] 95 | 96 | [[package]] 97 | name = "aho-corasick" 98 | version = "1.1.2" 99 | source = "registry+https://github.com/rust-lang/crates.io-index" 100 | checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 101 | dependencies = [ 102 | "memchr", 103 | ] 104 | 105 | [[package]] 106 | name = "allocator-api2" 107 | version = "0.2.16" 108 | source = "registry+https://github.com/rust-lang/crates.io-index" 109 | checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" 110 | 111 | [[package]] 112 | name = "alsa" 113 | version = "0.9.0" 114 | source = "registry+https://github.com/rust-lang/crates.io-index" 115 | checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce" 116 | dependencies = [ 117 | "alsa-sys", 118 | "bitflags 2.6.0", 119 | "libc", 120 | ] 121 | 122 | [[package]] 123 | name = "alsa-sys" 124 | version = "0.3.1" 125 | source = "registry+https://github.com/rust-lang/crates.io-index" 126 | checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" 127 | dependencies = [ 128 | "libc", 129 | "pkg-config", 130 | ] 131 | 132 | [[package]] 133 | name = "android-activity" 134 | version = "0.6.0" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" 137 | dependencies = [ 138 | "android-properties", 139 | "bitflags 2.6.0", 140 | "cc", 141 | "cesu8", 142 | "jni", 143 | "jni-sys", 144 | "libc", 145 | "log", 146 | "ndk 0.9.0", 147 | "ndk-context", 148 | "ndk-sys 0.6.0+11769913", 149 | "num_enum", 150 | "thiserror", 151 | ] 152 | 153 | [[package]] 154 | name = "android-properties" 155 | version = "0.2.2" 156 | source = "registry+https://github.com/rust-lang/crates.io-index" 157 | checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" 158 | 159 | [[package]] 160 | name = "android_log-sys" 161 | version = "0.3.1" 162 | source = "registry+https://github.com/rust-lang/crates.io-index" 163 | checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" 164 | 165 | [[package]] 166 | name = "android_system_properties" 167 | version = "0.1.5" 168 | source = "registry+https://github.com/rust-lang/crates.io-index" 169 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 170 | dependencies = [ 171 | "libc", 172 | ] 173 | 174 | [[package]] 175 | name = "approx" 176 | version = "0.5.1" 177 | source = "registry+https://github.com/rust-lang/crates.io-index" 178 | checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" 179 | dependencies = [ 180 | "num-traits", 181 | ] 182 | 183 | [[package]] 184 | name = "arrayref" 185 | version = "0.3.7" 186 | source = "registry+https://github.com/rust-lang/crates.io-index" 187 | checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" 188 | 189 | [[package]] 190 | name = "arrayvec" 191 | version = "0.7.4" 192 | source = "registry+https://github.com/rust-lang/crates.io-index" 193 | checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" 194 | 195 | [[package]] 196 | name = "as-raw-xcb-connection" 197 | version = "1.0.1" 198 | source = "registry+https://github.com/rust-lang/crates.io-index" 199 | checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" 200 | 201 | [[package]] 202 | name = "ash" 203 | version = "0.37.3+1.3.251" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" 206 | dependencies = [ 207 | "libloading 0.7.4", 208 | ] 209 | 210 | [[package]] 211 | name = "async-broadcast" 212 | version = "0.5.1" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" 215 | dependencies = [ 216 | "event-listener 2.5.3", 217 | "futures-core", 218 | ] 219 | 220 | [[package]] 221 | name = "async-channel" 222 | version = "2.2.0" 223 | source = "registry+https://github.com/rust-lang/crates.io-index" 224 | checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" 225 | dependencies = [ 226 | "concurrent-queue", 227 | "event-listener 5.1.0", 228 | "event-listener-strategy 0.5.0", 229 | "futures-core", 230 | "pin-project-lite", 231 | ] 232 | 233 | [[package]] 234 | name = "async-executor" 235 | version = "1.11.0" 236 | source = "registry+https://github.com/rust-lang/crates.io-index" 237 | checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" 238 | dependencies = [ 239 | "async-task", 240 | "concurrent-queue", 241 | "fastrand", 242 | "futures-lite", 243 | "slab", 244 | ] 245 | 246 | [[package]] 247 | name = "async-fs" 248 | version = "2.1.1" 249 | source = "registry+https://github.com/rust-lang/crates.io-index" 250 | checksum = "bc19683171f287921f2405677dd2ed2549c3b3bda697a563ebc3a121ace2aba1" 251 | dependencies = [ 252 | "async-lock", 253 | "blocking", 254 | "futures-lite", 255 | ] 256 | 257 | [[package]] 258 | name = "async-lock" 259 | version = "3.3.0" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" 262 | dependencies = [ 263 | "event-listener 4.0.3", 264 | "event-listener-strategy 0.4.0", 265 | "pin-project-lite", 266 | ] 267 | 268 | [[package]] 269 | name = "async-task" 270 | version = "4.7.0" 271 | source = "registry+https://github.com/rust-lang/crates.io-index" 272 | checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" 273 | 274 | [[package]] 275 | name = "atomic-waker" 276 | version = "1.1.2" 277 | source = "registry+https://github.com/rust-lang/crates.io-index" 278 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 279 | 280 | [[package]] 281 | name = "autocfg" 282 | version = "1.1.0" 283 | source = "registry+https://github.com/rust-lang/crates.io-index" 284 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 285 | 286 | [[package]] 287 | name = "base64" 288 | version = "0.21.7" 289 | source = "registry+https://github.com/rust-lang/crates.io-index" 290 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 291 | 292 | [[package]] 293 | name = "base64" 294 | version = "0.22.1" 295 | source = "registry+https://github.com/rust-lang/crates.io-index" 296 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 297 | 298 | [[package]] 299 | name = "bevy" 300 | version = "0.14.0" 301 | source = "registry+https://github.com/rust-lang/crates.io-index" 302 | checksum = "8e938630e9f472b1899c78ef84aa907081b23bad8333140e2295c620485b6ee7" 303 | dependencies = [ 304 | "bevy_internal", 305 | ] 306 | 307 | [[package]] 308 | name = "bevy_a11y" 309 | version = "0.14.0" 310 | source = "registry+https://github.com/rust-lang/crates.io-index" 311 | checksum = "3e613f0e7d5a92637e59744f7185e374c9a59654ecc6d7575adcec9581db1363" 312 | dependencies = [ 313 | "accesskit", 314 | "bevy_app", 315 | "bevy_derive", 316 | "bevy_ecs", 317 | ] 318 | 319 | [[package]] 320 | name = "bevy_animation" 321 | version = "0.14.0" 322 | source = "registry+https://github.com/rust-lang/crates.io-index" 323 | checksum = "23aa4141df149b743e69c90244261c6372bafb70d9f115885de48a75fc28fd9b" 324 | dependencies = [ 325 | "bevy_app", 326 | "bevy_asset", 327 | "bevy_color", 328 | "bevy_core", 329 | "bevy_derive", 330 | "bevy_ecs", 331 | "bevy_hierarchy", 332 | "bevy_log", 333 | "bevy_math", 334 | "bevy_reflect", 335 | "bevy_render", 336 | "bevy_time", 337 | "bevy_transform", 338 | "bevy_utils", 339 | "blake3", 340 | "fixedbitset 0.5.7", 341 | "petgraph", 342 | "ron", 343 | "serde", 344 | "thiserror", 345 | "thread_local", 346 | "uuid", 347 | ] 348 | 349 | [[package]] 350 | name = "bevy_app" 351 | version = "0.14.0" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "6f548e9dab7d10c5f99e3b504c758c4bf87aa67df9bcb9cc8b317a0271770e72" 354 | dependencies = [ 355 | "bevy_derive", 356 | "bevy_ecs", 357 | "bevy_reflect", 358 | "bevy_tasks", 359 | "bevy_utils", 360 | "console_error_panic_hook", 361 | "downcast-rs", 362 | "thiserror", 363 | "wasm-bindgen", 364 | "web-sys", 365 | ] 366 | 367 | [[package]] 368 | name = "bevy_asset" 369 | version = "0.14.0" 370 | source = "registry+https://github.com/rust-lang/crates.io-index" 371 | checksum = "f9d198e4c3419215de2ad981d4e734bbfab46469b7575e3b7150c912b9ec5175" 372 | dependencies = [ 373 | "async-broadcast", 374 | "async-fs", 375 | "async-lock", 376 | "bevy_app", 377 | "bevy_asset_macros", 378 | "bevy_ecs", 379 | "bevy_reflect", 380 | "bevy_tasks", 381 | "bevy_utils", 382 | "bevy_winit", 383 | "blake3", 384 | "crossbeam-channel", 385 | "downcast-rs", 386 | "futures-io", 387 | "futures-lite", 388 | "js-sys", 389 | "parking_lot", 390 | "ron", 391 | "serde", 392 | "thiserror", 393 | "uuid", 394 | "wasm-bindgen", 395 | "wasm-bindgen-futures", 396 | "web-sys", 397 | ] 398 | 399 | [[package]] 400 | name = "bevy_asset_macros" 401 | version = "0.14.0" 402 | source = "registry+https://github.com/rust-lang/crates.io-index" 403 | checksum = "11b2cbeba287a4b44e116c33dbaf37dce80a9d84477b2bb35ff459999d6c9e1b" 404 | dependencies = [ 405 | "bevy_macro_utils", 406 | "proc-macro2", 407 | "quote", 408 | "syn 2.0.49", 409 | ] 410 | 411 | [[package]] 412 | name = "bevy_audio" 413 | version = "0.14.0" 414 | source = "registry+https://github.com/rust-lang/crates.io-index" 415 | checksum = "e41ecf15d0aae31bdb6d2b5cc590f966451e9736ddfee634c8f1ca5af1ac4342" 416 | dependencies = [ 417 | "bevy_app", 418 | "bevy_asset", 419 | "bevy_derive", 420 | "bevy_ecs", 421 | "bevy_hierarchy", 422 | "bevy_math", 423 | "bevy_reflect", 424 | "bevy_transform", 425 | "bevy_utils", 426 | "cpal", 427 | "rodio", 428 | ] 429 | 430 | [[package]] 431 | name = "bevy_color" 432 | version = "0.14.1" 433 | source = "registry+https://github.com/rust-lang/crates.io-index" 434 | checksum = "5a933306f5c7dc9568209180f482b28b5f40d2f8d5b361bc1b270c0a588752c0" 435 | dependencies = [ 436 | "bevy_math", 437 | "bevy_reflect", 438 | "bytemuck", 439 | "encase", 440 | "serde", 441 | "thiserror", 442 | "wgpu-types", 443 | ] 444 | 445 | [[package]] 446 | name = "bevy_core" 447 | version = "0.14.0" 448 | source = "registry+https://github.com/rust-lang/crates.io-index" 449 | checksum = "6ddeed5ebf2fa75a4d4f32e2da9c60f11037e36252695059a151c6685cd3d72b" 450 | dependencies = [ 451 | "bevy_app", 452 | "bevy_ecs", 453 | "bevy_reflect", 454 | "bevy_tasks", 455 | "bevy_utils", 456 | "uuid", 457 | ] 458 | 459 | [[package]] 460 | name = "bevy_core_pipeline" 461 | version = "0.14.0" 462 | source = "registry+https://github.com/rust-lang/crates.io-index" 463 | checksum = "1b978220b5edc98f2c5cbbd14c118c74b3ec7216e5416d3c187c1097279b009b" 464 | dependencies = [ 465 | "bevy_app", 466 | "bevy_asset", 467 | "bevy_color", 468 | "bevy_core", 469 | "bevy_derive", 470 | "bevy_ecs", 471 | "bevy_math", 472 | "bevy_reflect", 473 | "bevy_render", 474 | "bevy_transform", 475 | "bevy_utils", 476 | "bitflags 2.6.0", 477 | "nonmax", 478 | "radsort", 479 | "serde", 480 | "smallvec", 481 | "thiserror", 482 | ] 483 | 484 | [[package]] 485 | name = "bevy_derive" 486 | version = "0.14.0" 487 | source = "registry+https://github.com/rust-lang/crates.io-index" 488 | checksum = "c8a8173bad3ed53fa158806b1beda147263337d6ef71a093780dd141b74386b1" 489 | dependencies = [ 490 | "bevy_macro_utils", 491 | "quote", 492 | "syn 2.0.49", 493 | ] 494 | 495 | [[package]] 496 | name = "bevy_diagnostic" 497 | version = "0.14.0" 498 | source = "registry+https://github.com/rust-lang/crates.io-index" 499 | checksum = "0b7f82011fd70048be282526a99756d54bf00e874edafa9664ba0dc247678f03" 500 | dependencies = [ 501 | "bevy_app", 502 | "bevy_core", 503 | "bevy_ecs", 504 | "bevy_tasks", 505 | "bevy_time", 506 | "bevy_utils", 507 | "const-fnv1a-hash", 508 | "sysinfo", 509 | ] 510 | 511 | [[package]] 512 | name = "bevy_ecs" 513 | version = "0.14.0" 514 | source = "registry+https://github.com/rust-lang/crates.io-index" 515 | checksum = "2c77fdc3a7230eff2fcebe4bd17c155bd238c660a0089d0f98c39ba0d461b923" 516 | dependencies = [ 517 | "arrayvec", 518 | "bevy_ecs_macros", 519 | "bevy_ptr", 520 | "bevy_reflect", 521 | "bevy_tasks", 522 | "bevy_utils", 523 | "bitflags 2.6.0", 524 | "concurrent-queue", 525 | "fixedbitset 0.5.7", 526 | "nonmax", 527 | "petgraph", 528 | "serde", 529 | "thiserror", 530 | ] 531 | 532 | [[package]] 533 | name = "bevy_ecs_macros" 534 | version = "0.14.0" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | checksum = "9272b511958525306cd141726d3ca59740f79fc0707c439b55a007bcc3497308" 537 | dependencies = [ 538 | "bevy_macro_utils", 539 | "proc-macro2", 540 | "quote", 541 | "syn 2.0.49", 542 | ] 543 | 544 | [[package]] 545 | name = "bevy_embedded_assets" 546 | version = "0.11.0" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | checksum = "b3f3e7b41a9b01b767ba07c4ebb083b2d8d8055e57ddef7e55e502bbfc961505" 549 | dependencies = [ 550 | "bevy", 551 | "cargo-emit", 552 | "futures-io", 553 | "futures-lite", 554 | "thiserror", 555 | ] 556 | 557 | [[package]] 558 | name = "bevy_encase_derive" 559 | version = "0.14.0" 560 | source = "registry+https://github.com/rust-lang/crates.io-index" 561 | checksum = "f0452d8254c8bfae4bff6caca2a8be3b0c1b2e1a72b93e9b9f6a21c8dff807e0" 562 | dependencies = [ 563 | "bevy_macro_utils", 564 | "encase_derive_impl", 565 | ] 566 | 567 | [[package]] 568 | name = "bevy_gilrs" 569 | version = "0.14.0" 570 | source = "registry+https://github.com/rust-lang/crates.io-index" 571 | checksum = "fbad8e59470c3d5cf25aa8c48462c4cf6f0c6314538c68ab2f5cf393146f0fc2" 572 | dependencies = [ 573 | "bevy_app", 574 | "bevy_ecs", 575 | "bevy_input", 576 | "bevy_time", 577 | "bevy_utils", 578 | "gilrs", 579 | "thiserror", 580 | ] 581 | 582 | [[package]] 583 | name = "bevy_gizmos" 584 | version = "0.14.0" 585 | source = "registry+https://github.com/rust-lang/crates.io-index" 586 | checksum = "bdbb0556f0c6e45f4a17aef9c708c06ebf15ae1bed4533d7eddb493409f9f025" 587 | dependencies = [ 588 | "bevy_app", 589 | "bevy_asset", 590 | "bevy_color", 591 | "bevy_core_pipeline", 592 | "bevy_ecs", 593 | "bevy_gizmos_macros", 594 | "bevy_math", 595 | "bevy_pbr", 596 | "bevy_reflect", 597 | "bevy_render", 598 | "bevy_sprite", 599 | "bevy_time", 600 | "bevy_transform", 601 | "bevy_utils", 602 | "bytemuck", 603 | ] 604 | 605 | [[package]] 606 | name = "bevy_gizmos_macros" 607 | version = "0.14.0" 608 | source = "registry+https://github.com/rust-lang/crates.io-index" 609 | checksum = "8ef351a4b6498c197d1317c62f46ba84b69fbde3dbeb57beb2e744bbe5b7c3e0" 610 | dependencies = [ 611 | "bevy_macro_utils", 612 | "proc-macro2", 613 | "quote", 614 | "syn 2.0.49", 615 | ] 616 | 617 | [[package]] 618 | name = "bevy_gltf" 619 | version = "0.14.0" 620 | source = "registry+https://github.com/rust-lang/crates.io-index" 621 | checksum = "cfd7abeaf3f28afd1f8999c2169aa17b40a37ad11253cf7dd05017024b65adc6" 622 | dependencies = [ 623 | "base64 0.22.1", 624 | "bevy_animation", 625 | "bevy_app", 626 | "bevy_asset", 627 | "bevy_color", 628 | "bevy_core", 629 | "bevy_core_pipeline", 630 | "bevy_ecs", 631 | "bevy_hierarchy", 632 | "bevy_math", 633 | "bevy_pbr", 634 | "bevy_reflect", 635 | "bevy_render", 636 | "bevy_scene", 637 | "bevy_tasks", 638 | "bevy_transform", 639 | "bevy_utils", 640 | "gltf", 641 | "percent-encoding", 642 | "serde", 643 | "serde_json", 644 | "smallvec", 645 | "thiserror", 646 | ] 647 | 648 | [[package]] 649 | name = "bevy_hierarchy" 650 | version = "0.14.0" 651 | source = "registry+https://github.com/rust-lang/crates.io-index" 652 | checksum = "802eca6f341d19ade790ccfaba7044be4d823b708087eb5ac4c1f74e4ea0916a" 653 | dependencies = [ 654 | "bevy_app", 655 | "bevy_core", 656 | "bevy_ecs", 657 | "bevy_reflect", 658 | "bevy_utils", 659 | "smallvec", 660 | ] 661 | 662 | [[package]] 663 | name = "bevy_input" 664 | version = "0.14.0" 665 | source = "registry+https://github.com/rust-lang/crates.io-index" 666 | checksum = "2d050f1433f48ca23f1ea078734ebff119a3f76eb7d221725ab0f1fd9f81230b" 667 | dependencies = [ 668 | "bevy_app", 669 | "bevy_ecs", 670 | "bevy_math", 671 | "bevy_reflect", 672 | "bevy_utils", 673 | "smol_str", 674 | "thiserror", 675 | ] 676 | 677 | [[package]] 678 | name = "bevy_internal" 679 | version = "0.14.0" 680 | source = "registry+https://github.com/rust-lang/crates.io-index" 681 | checksum = "8ddd2b23e44d3a1f8ae547cbee5b6661f8135cc456c5de206e8648789944e7a1" 682 | dependencies = [ 683 | "bevy_a11y", 684 | "bevy_animation", 685 | "bevy_app", 686 | "bevy_asset", 687 | "bevy_audio", 688 | "bevy_color", 689 | "bevy_core", 690 | "bevy_core_pipeline", 691 | "bevy_derive", 692 | "bevy_diagnostic", 693 | "bevy_ecs", 694 | "bevy_gilrs", 695 | "bevy_gizmos", 696 | "bevy_gltf", 697 | "bevy_hierarchy", 698 | "bevy_input", 699 | "bevy_log", 700 | "bevy_math", 701 | "bevy_pbr", 702 | "bevy_ptr", 703 | "bevy_reflect", 704 | "bevy_render", 705 | "bevy_scene", 706 | "bevy_sprite", 707 | "bevy_state", 708 | "bevy_tasks", 709 | "bevy_text", 710 | "bevy_time", 711 | "bevy_transform", 712 | "bevy_ui", 713 | "bevy_utils", 714 | "bevy_window", 715 | "bevy_winit", 716 | ] 717 | 718 | [[package]] 719 | name = "bevy_log" 720 | version = "0.14.0" 721 | source = "registry+https://github.com/rust-lang/crates.io-index" 722 | checksum = "bab641fd0de254915ab746165a07677465b2d89b72f5b49367d73b9197548a35" 723 | dependencies = [ 724 | "android_log-sys", 725 | "bevy_app", 726 | "bevy_ecs", 727 | "bevy_utils", 728 | "tracing-log", 729 | "tracing-subscriber", 730 | "tracing-wasm", 731 | ] 732 | 733 | [[package]] 734 | name = "bevy_macro_utils" 735 | version = "0.14.0" 736 | source = "registry+https://github.com/rust-lang/crates.io-index" 737 | checksum = "c3ad860d35d74b35d4d6ae7f656d163b6f475aa2e64fc293ee86ac901977ddb7" 738 | dependencies = [ 739 | "proc-macro2", 740 | "quote", 741 | "syn 2.0.49", 742 | "toml_edit 0.22.12", 743 | ] 744 | 745 | [[package]] 746 | name = "bevy_math" 747 | version = "0.14.0" 748 | source = "registry+https://github.com/rust-lang/crates.io-index" 749 | checksum = "51bd6ce2174d3237d30e0ab5b2508480cc7593ca4d96ffb3a3095f9fc6bbc34c" 750 | dependencies = [ 751 | "bevy_reflect", 752 | "glam", 753 | "rand", 754 | "smallvec", 755 | "thiserror", 756 | ] 757 | 758 | [[package]] 759 | name = "bevy_mikktspace" 760 | version = "0.14.0" 761 | source = "registry+https://github.com/rust-lang/crates.io-index" 762 | checksum = "b7ce4266293629a2d10459cc112dffe3b3e9229a4f2b8a4d20061b8dd53316d0" 763 | dependencies = [ 764 | "glam", 765 | ] 766 | 767 | [[package]] 768 | name = "bevy_pbr" 769 | version = "0.14.0" 770 | source = "registry+https://github.com/rust-lang/crates.io-index" 771 | checksum = "3effe8ff28899f14d250d0649ca9868dbe68b389d0f2b7af086759b8e16c6e3d" 772 | dependencies = [ 773 | "bevy_app", 774 | "bevy_asset", 775 | "bevy_color", 776 | "bevy_core_pipeline", 777 | "bevy_derive", 778 | "bevy_ecs", 779 | "bevy_math", 780 | "bevy_reflect", 781 | "bevy_render", 782 | "bevy_transform", 783 | "bevy_utils", 784 | "bevy_window", 785 | "bitflags 2.6.0", 786 | "bytemuck", 787 | "fixedbitset 0.5.7", 788 | "nonmax", 789 | "radsort", 790 | "smallvec", 791 | "static_assertions", 792 | ] 793 | 794 | [[package]] 795 | name = "bevy_ptr" 796 | version = "0.14.0" 797 | source = "registry+https://github.com/rust-lang/crates.io-index" 798 | checksum = "c115c97a5c8a263bd0aa7001b999772c744ac5ba797d07c86f25734ce381ea69" 799 | 800 | [[package]] 801 | name = "bevy_reflect" 802 | version = "0.14.0" 803 | source = "registry+https://github.com/rust-lang/crates.io-index" 804 | checksum = "406ea0fce267169c2320c7302d97d09f605105686346762562c5f65960b5ca2f" 805 | dependencies = [ 806 | "bevy_ptr", 807 | "bevy_reflect_derive", 808 | "bevy_utils", 809 | "downcast-rs", 810 | "erased-serde", 811 | "glam", 812 | "petgraph", 813 | "serde", 814 | "smallvec", 815 | "smol_str", 816 | "thiserror", 817 | "uuid", 818 | ] 819 | 820 | [[package]] 821 | name = "bevy_reflect_derive" 822 | version = "0.14.0" 823 | source = "registry+https://github.com/rust-lang/crates.io-index" 824 | checksum = "0427fdb4425fc72cc96d45e550df83ace6347f0503840de116c76a40843ba751" 825 | dependencies = [ 826 | "bevy_macro_utils", 827 | "proc-macro2", 828 | "quote", 829 | "syn 2.0.49", 830 | "uuid", 831 | ] 832 | 833 | [[package]] 834 | name = "bevy_render" 835 | version = "0.14.0" 836 | source = "registry+https://github.com/rust-lang/crates.io-index" 837 | checksum = "4c48acf1ff4267c231def4cbf573248d42ac60c9952108822d505019460bf36d" 838 | dependencies = [ 839 | "async-channel", 840 | "bevy_app", 841 | "bevy_asset", 842 | "bevy_color", 843 | "bevy_core", 844 | "bevy_derive", 845 | "bevy_diagnostic", 846 | "bevy_ecs", 847 | "bevy_encase_derive", 848 | "bevy_hierarchy", 849 | "bevy_math", 850 | "bevy_mikktspace", 851 | "bevy_reflect", 852 | "bevy_render_macros", 853 | "bevy_tasks", 854 | "bevy_time", 855 | "bevy_transform", 856 | "bevy_utils", 857 | "bevy_window", 858 | "bitflags 2.6.0", 859 | "bytemuck", 860 | "codespan-reporting", 861 | "downcast-rs", 862 | "encase", 863 | "futures-lite", 864 | "hexasphere", 865 | "image", 866 | "js-sys", 867 | "ktx2", 868 | "naga", 869 | "naga_oil", 870 | "nonmax", 871 | "ruzstd", 872 | "send_wrapper", 873 | "serde", 874 | "smallvec", 875 | "thiserror", 876 | "wasm-bindgen", 877 | "web-sys", 878 | "wgpu", 879 | ] 880 | 881 | [[package]] 882 | name = "bevy_render_macros" 883 | version = "0.14.0" 884 | source = "registry+https://github.com/rust-lang/crates.io-index" 885 | checksum = "72ddf4a96d71519c8eca3d74dabcb89a9c0d50ab5d9230638cb004145f46e9ed" 886 | dependencies = [ 887 | "bevy_macro_utils", 888 | "proc-macro2", 889 | "quote", 890 | "syn 2.0.49", 891 | ] 892 | 893 | [[package]] 894 | name = "bevy_scene" 895 | version = "0.14.0" 896 | source = "registry+https://github.com/rust-lang/crates.io-index" 897 | checksum = "b7a9f0388612a116f02ab6187aeab66e52c9e91abbc21f919b8b50230c4d83e7" 898 | dependencies = [ 899 | "bevy_app", 900 | "bevy_asset", 901 | "bevy_derive", 902 | "bevy_ecs", 903 | "bevy_hierarchy", 904 | "bevy_reflect", 905 | "bevy_render", 906 | "bevy_transform", 907 | "bevy_utils", 908 | "serde", 909 | "thiserror", 910 | "uuid", 911 | ] 912 | 913 | [[package]] 914 | name = "bevy_sprite" 915 | version = "0.14.0" 916 | source = "registry+https://github.com/rust-lang/crates.io-index" 917 | checksum = "d837e33ed27b9f2e5212eca4bdd5655a9ee64c52914112e6189c043cb25dd1ec" 918 | dependencies = [ 919 | "bevy_app", 920 | "bevy_asset", 921 | "bevy_color", 922 | "bevy_core_pipeline", 923 | "bevy_derive", 924 | "bevy_ecs", 925 | "bevy_math", 926 | "bevy_reflect", 927 | "bevy_render", 928 | "bevy_transform", 929 | "bevy_utils", 930 | "bitflags 2.6.0", 931 | "bytemuck", 932 | "fixedbitset 0.5.7", 933 | "guillotiere", 934 | "radsort", 935 | "rectangle-pack", 936 | "thiserror", 937 | ] 938 | 939 | [[package]] 940 | name = "bevy_state" 941 | version = "0.14.0" 942 | source = "registry+https://github.com/rust-lang/crates.io-index" 943 | checksum = "0959984092d56885fd3b320ea84fb816821bad6bfa3040b9d4ee850d3273233d" 944 | dependencies = [ 945 | "bevy_app", 946 | "bevy_ecs", 947 | "bevy_hierarchy", 948 | "bevy_reflect", 949 | "bevy_state_macros", 950 | "bevy_utils", 951 | ] 952 | 953 | [[package]] 954 | name = "bevy_state_macros" 955 | version = "0.14.0" 956 | source = "registry+https://github.com/rust-lang/crates.io-index" 957 | checksum = "887a98bfa268258377cd073f5bb839518d3a1cd6b96ed81418145485b69378e6" 958 | dependencies = [ 959 | "bevy_macro_utils", 960 | "proc-macro2", 961 | "quote", 962 | "syn 2.0.49", 963 | ] 964 | 965 | [[package]] 966 | name = "bevy_tasks" 967 | version = "0.14.0" 968 | source = "registry+https://github.com/rust-lang/crates.io-index" 969 | checksum = "5a8bfb8d484bdb1e9bec3789c75202adc5e608c4244347152e50fb31668a54f9" 970 | dependencies = [ 971 | "async-channel", 972 | "async-executor", 973 | "concurrent-queue", 974 | "futures-lite", 975 | "wasm-bindgen-futures", 976 | ] 977 | 978 | [[package]] 979 | name = "bevy_text" 980 | version = "0.14.0" 981 | source = "registry+https://github.com/rust-lang/crates.io-index" 982 | checksum = "454fd29b7828244356b2e0ce782e6d0a6f26b47f521456accde3a7191b121727" 983 | dependencies = [ 984 | "ab_glyph", 985 | "bevy_app", 986 | "bevy_asset", 987 | "bevy_color", 988 | "bevy_ecs", 989 | "bevy_math", 990 | "bevy_reflect", 991 | "bevy_render", 992 | "bevy_sprite", 993 | "bevy_transform", 994 | "bevy_utils", 995 | "bevy_window", 996 | "glyph_brush_layout", 997 | "serde", 998 | "thiserror", 999 | ] 1000 | 1001 | [[package]] 1002 | name = "bevy_time" 1003 | version = "0.14.0" 1004 | source = "registry+https://github.com/rust-lang/crates.io-index" 1005 | checksum = "a6c3d3d14ee8b0dbe4819fd516cc75509b61946134d78e0ee89ad3d1835ffe6c" 1006 | dependencies = [ 1007 | "bevy_app", 1008 | "bevy_ecs", 1009 | "bevy_reflect", 1010 | "bevy_utils", 1011 | "crossbeam-channel", 1012 | "thiserror", 1013 | ] 1014 | 1015 | [[package]] 1016 | name = "bevy_transform" 1017 | version = "0.14.0" 1018 | source = "registry+https://github.com/rust-lang/crates.io-index" 1019 | checksum = "97e8aa6b16be573277c6ceda30aebf1d78af7c6ede19b448dcb052fb8601d815" 1020 | dependencies = [ 1021 | "bevy_app", 1022 | "bevy_ecs", 1023 | "bevy_hierarchy", 1024 | "bevy_math", 1025 | "bevy_reflect", 1026 | "thiserror", 1027 | ] 1028 | 1029 | [[package]] 1030 | name = "bevy_ui" 1031 | version = "0.14.0" 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" 1033 | checksum = "38d9f864c646f3742ff77f67bcd89a13a7ab024b68ca2f1bfbab8245bcb1c06c" 1034 | dependencies = [ 1035 | "bevy_a11y", 1036 | "bevy_app", 1037 | "bevy_asset", 1038 | "bevy_color", 1039 | "bevy_core_pipeline", 1040 | "bevy_derive", 1041 | "bevy_ecs", 1042 | "bevy_hierarchy", 1043 | "bevy_input", 1044 | "bevy_math", 1045 | "bevy_reflect", 1046 | "bevy_render", 1047 | "bevy_sprite", 1048 | "bevy_text", 1049 | "bevy_transform", 1050 | "bevy_utils", 1051 | "bevy_window", 1052 | "bytemuck", 1053 | "nonmax", 1054 | "smallvec", 1055 | "taffy", 1056 | "thiserror", 1057 | ] 1058 | 1059 | [[package]] 1060 | name = "bevy_utils" 1061 | version = "0.14.0" 1062 | source = "registry+https://github.com/rust-lang/crates.io-index" 1063 | checksum = "7fab364910e8f5839578aba9cfda00a8388e9ebe352ceb8491a742ce6af9ec6e" 1064 | dependencies = [ 1065 | "ahash", 1066 | "bevy_utils_proc_macros", 1067 | "getrandom", 1068 | "hashbrown", 1069 | "thread_local", 1070 | "tracing", 1071 | "web-time", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "bevy_utils_proc_macros" 1076 | version = "0.14.0" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "ad9db261ab33a046e1f54b35f885a44f21fcc80aa2bc9050319466b88fe58fe3" 1079 | dependencies = [ 1080 | "proc-macro2", 1081 | "quote", 1082 | "syn 2.0.49", 1083 | ] 1084 | 1085 | [[package]] 1086 | name = "bevy_window" 1087 | version = "0.14.0" 1088 | source = "registry+https://github.com/rust-lang/crates.io-index" 1089 | checksum = "c9ea5777f933bf7ecaeb3af1a30845720ec730e007972ca7d4aba2d3512abe24" 1090 | dependencies = [ 1091 | "bevy_a11y", 1092 | "bevy_app", 1093 | "bevy_ecs", 1094 | "bevy_math", 1095 | "bevy_reflect", 1096 | "bevy_utils", 1097 | "raw-window-handle", 1098 | "smol_str", 1099 | ] 1100 | 1101 | [[package]] 1102 | name = "bevy_winit" 1103 | version = "0.14.0" 1104 | source = "registry+https://github.com/rust-lang/crates.io-index" 1105 | checksum = "f8c2213bbf14debe819ec8ad4913f233c596002d087bc6f1f20d533e2ebaf8c6" 1106 | dependencies = [ 1107 | "accesskit_winit", 1108 | "approx", 1109 | "bevy_a11y", 1110 | "bevy_app", 1111 | "bevy_derive", 1112 | "bevy_ecs", 1113 | "bevy_hierarchy", 1114 | "bevy_input", 1115 | "bevy_log", 1116 | "bevy_math", 1117 | "bevy_reflect", 1118 | "bevy_tasks", 1119 | "bevy_utils", 1120 | "bevy_window", 1121 | "cfg-if", 1122 | "crossbeam-channel", 1123 | "raw-window-handle", 1124 | "wasm-bindgen", 1125 | "web-sys", 1126 | "winit", 1127 | ] 1128 | 1129 | [[package]] 1130 | name = "bindgen" 1131 | version = "0.69.4" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" 1134 | dependencies = [ 1135 | "bitflags 2.6.0", 1136 | "cexpr", 1137 | "clang-sys", 1138 | "itertools", 1139 | "lazy_static", 1140 | "lazycell", 1141 | "proc-macro2", 1142 | "quote", 1143 | "regex", 1144 | "rustc-hash", 1145 | "shlex", 1146 | "syn 2.0.49", 1147 | ] 1148 | 1149 | [[package]] 1150 | name = "bit-set" 1151 | version = "0.5.3" 1152 | source = "registry+https://github.com/rust-lang/crates.io-index" 1153 | checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" 1154 | dependencies = [ 1155 | "bit-vec", 1156 | ] 1157 | 1158 | [[package]] 1159 | name = "bit-vec" 1160 | version = "0.6.3" 1161 | source = "registry+https://github.com/rust-lang/crates.io-index" 1162 | checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" 1163 | 1164 | [[package]] 1165 | name = "bitflags" 1166 | version = "1.3.2" 1167 | source = "registry+https://github.com/rust-lang/crates.io-index" 1168 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 1169 | 1170 | [[package]] 1171 | name = "bitflags" 1172 | version = "2.6.0" 1173 | source = "registry+https://github.com/rust-lang/crates.io-index" 1174 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 1175 | dependencies = [ 1176 | "serde", 1177 | ] 1178 | 1179 | [[package]] 1180 | name = "blake3" 1181 | version = "1.5.0" 1182 | source = "registry+https://github.com/rust-lang/crates.io-index" 1183 | checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" 1184 | dependencies = [ 1185 | "arrayref", 1186 | "arrayvec", 1187 | "cc", 1188 | "cfg-if", 1189 | "constant_time_eq", 1190 | ] 1191 | 1192 | [[package]] 1193 | name = "block" 1194 | version = "0.1.6" 1195 | source = "registry+https://github.com/rust-lang/crates.io-index" 1196 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 1197 | 1198 | [[package]] 1199 | name = "block2" 1200 | version = "0.5.1" 1201 | source = "registry+https://github.com/rust-lang/crates.io-index" 1202 | checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" 1203 | dependencies = [ 1204 | "objc2", 1205 | ] 1206 | 1207 | [[package]] 1208 | name = "blocking" 1209 | version = "1.5.1" 1210 | source = "registry+https://github.com/rust-lang/crates.io-index" 1211 | checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" 1212 | dependencies = [ 1213 | "async-channel", 1214 | "async-lock", 1215 | "async-task", 1216 | "fastrand", 1217 | "futures-io", 1218 | "futures-lite", 1219 | "piper", 1220 | "tracing", 1221 | ] 1222 | 1223 | [[package]] 1224 | name = "bumpalo" 1225 | version = "3.15.0" 1226 | source = "registry+https://github.com/rust-lang/crates.io-index" 1227 | checksum = "d32a994c2b3ca201d9b263612a374263f05e7adde37c4707f693dcd375076d1f" 1228 | 1229 | [[package]] 1230 | name = "bytemuck" 1231 | version = "1.14.3" 1232 | source = "registry+https://github.com/rust-lang/crates.io-index" 1233 | checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" 1234 | dependencies = [ 1235 | "bytemuck_derive", 1236 | ] 1237 | 1238 | [[package]] 1239 | name = "bytemuck_derive" 1240 | version = "1.5.0" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" 1243 | dependencies = [ 1244 | "proc-macro2", 1245 | "quote", 1246 | "syn 2.0.49", 1247 | ] 1248 | 1249 | [[package]] 1250 | name = "byteorder" 1251 | version = "1.5.0" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 1254 | 1255 | [[package]] 1256 | name = "bytes" 1257 | version = "1.5.0" 1258 | source = "registry+https://github.com/rust-lang/crates.io-index" 1259 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 1260 | 1261 | [[package]] 1262 | name = "calloop" 1263 | version = "0.12.4" 1264 | source = "registry+https://github.com/rust-lang/crates.io-index" 1265 | checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" 1266 | dependencies = [ 1267 | "bitflags 2.6.0", 1268 | "log", 1269 | "polling", 1270 | "rustix", 1271 | "slab", 1272 | "thiserror", 1273 | ] 1274 | 1275 | [[package]] 1276 | name = "cargo-emit" 1277 | version = "0.2.1" 1278 | source = "registry+https://github.com/rust-lang/crates.io-index" 1279 | checksum = "1582e1c9e755dd6ad6b224dcffb135d199399a4568d454bd89fe515ca8425695" 1280 | 1281 | [[package]] 1282 | name = "cc" 1283 | version = "1.0.83" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 1286 | dependencies = [ 1287 | "jobserver", 1288 | "libc", 1289 | ] 1290 | 1291 | [[package]] 1292 | name = "cesu8" 1293 | version = "1.1.0" 1294 | source = "registry+https://github.com/rust-lang/crates.io-index" 1295 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 1296 | 1297 | [[package]] 1298 | name = "cexpr" 1299 | version = "0.6.0" 1300 | source = "registry+https://github.com/rust-lang/crates.io-index" 1301 | checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 1302 | dependencies = [ 1303 | "nom", 1304 | ] 1305 | 1306 | [[package]] 1307 | name = "cfg-if" 1308 | version = "1.0.0" 1309 | source = "registry+https://github.com/rust-lang/crates.io-index" 1310 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 1311 | 1312 | [[package]] 1313 | name = "cfg_aliases" 1314 | version = "0.1.1" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 1317 | 1318 | [[package]] 1319 | name = "cfg_aliases" 1320 | version = "0.2.1" 1321 | source = "registry+https://github.com/rust-lang/crates.io-index" 1322 | checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 1323 | 1324 | [[package]] 1325 | name = "clang-sys" 1326 | version = "1.7.0" 1327 | source = "registry+https://github.com/rust-lang/crates.io-index" 1328 | checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" 1329 | dependencies = [ 1330 | "glob", 1331 | "libc", 1332 | "libloading 0.8.1", 1333 | ] 1334 | 1335 | [[package]] 1336 | name = "codespan-reporting" 1337 | version = "0.11.1" 1338 | source = "registry+https://github.com/rust-lang/crates.io-index" 1339 | checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" 1340 | dependencies = [ 1341 | "termcolor", 1342 | "unicode-width", 1343 | ] 1344 | 1345 | [[package]] 1346 | name = "com" 1347 | version = "0.6.0" 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" 1349 | checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" 1350 | dependencies = [ 1351 | "com_macros", 1352 | ] 1353 | 1354 | [[package]] 1355 | name = "com_macros" 1356 | version = "0.6.0" 1357 | source = "registry+https://github.com/rust-lang/crates.io-index" 1358 | checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" 1359 | dependencies = [ 1360 | "com_macros_support", 1361 | "proc-macro2", 1362 | "syn 1.0.109", 1363 | ] 1364 | 1365 | [[package]] 1366 | name = "com_macros_support" 1367 | version = "0.6.0" 1368 | source = "registry+https://github.com/rust-lang/crates.io-index" 1369 | checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" 1370 | dependencies = [ 1371 | "proc-macro2", 1372 | "quote", 1373 | "syn 1.0.109", 1374 | ] 1375 | 1376 | [[package]] 1377 | name = "combine" 1378 | version = "4.6.6" 1379 | source = "registry+https://github.com/rust-lang/crates.io-index" 1380 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 1381 | dependencies = [ 1382 | "bytes", 1383 | "memchr", 1384 | ] 1385 | 1386 | [[package]] 1387 | name = "concurrent-queue" 1388 | version = "2.4.0" 1389 | source = "registry+https://github.com/rust-lang/crates.io-index" 1390 | checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" 1391 | dependencies = [ 1392 | "crossbeam-utils", 1393 | ] 1394 | 1395 | [[package]] 1396 | name = "console_error_panic_hook" 1397 | version = "0.1.7" 1398 | source = "registry+https://github.com/rust-lang/crates.io-index" 1399 | checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 1400 | dependencies = [ 1401 | "cfg-if", 1402 | "wasm-bindgen", 1403 | ] 1404 | 1405 | [[package]] 1406 | name = "const-fnv1a-hash" 1407 | version = "1.1.0" 1408 | source = "registry+https://github.com/rust-lang/crates.io-index" 1409 | checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" 1410 | 1411 | [[package]] 1412 | name = "const_panic" 1413 | version = "0.2.8" 1414 | source = "registry+https://github.com/rust-lang/crates.io-index" 1415 | checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" 1416 | 1417 | [[package]] 1418 | name = "const_soft_float" 1419 | version = "0.1.4" 1420 | source = "registry+https://github.com/rust-lang/crates.io-index" 1421 | checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" 1422 | 1423 | [[package]] 1424 | name = "constant_time_eq" 1425 | version = "0.3.0" 1426 | source = "registry+https://github.com/rust-lang/crates.io-index" 1427 | checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" 1428 | 1429 | [[package]] 1430 | name = "constgebra" 1431 | version = "0.1.4" 1432 | source = "registry+https://github.com/rust-lang/crates.io-index" 1433 | checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" 1434 | dependencies = [ 1435 | "const_soft_float", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "core-foundation" 1440 | version = "0.9.4" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 1443 | dependencies = [ 1444 | "core-foundation-sys", 1445 | "libc", 1446 | ] 1447 | 1448 | [[package]] 1449 | name = "core-foundation-sys" 1450 | version = "0.8.6" 1451 | source = "registry+https://github.com/rust-lang/crates.io-index" 1452 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 1453 | 1454 | [[package]] 1455 | name = "core-graphics" 1456 | version = "0.23.1" 1457 | source = "registry+https://github.com/rust-lang/crates.io-index" 1458 | checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" 1459 | dependencies = [ 1460 | "bitflags 1.3.2", 1461 | "core-foundation", 1462 | "core-graphics-types", 1463 | "foreign-types", 1464 | "libc", 1465 | ] 1466 | 1467 | [[package]] 1468 | name = "core-graphics-types" 1469 | version = "0.1.3" 1470 | source = "registry+https://github.com/rust-lang/crates.io-index" 1471 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 1472 | dependencies = [ 1473 | "bitflags 1.3.2", 1474 | "core-foundation", 1475 | "libc", 1476 | ] 1477 | 1478 | [[package]] 1479 | name = "coreaudio-rs" 1480 | version = "0.11.3" 1481 | source = "registry+https://github.com/rust-lang/crates.io-index" 1482 | checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" 1483 | dependencies = [ 1484 | "bitflags 1.3.2", 1485 | "core-foundation-sys", 1486 | "coreaudio-sys", 1487 | ] 1488 | 1489 | [[package]] 1490 | name = "coreaudio-sys" 1491 | version = "0.2.15" 1492 | source = "registry+https://github.com/rust-lang/crates.io-index" 1493 | checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" 1494 | dependencies = [ 1495 | "bindgen", 1496 | ] 1497 | 1498 | [[package]] 1499 | name = "cpal" 1500 | version = "0.15.3" 1501 | source = "registry+https://github.com/rust-lang/crates.io-index" 1502 | checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" 1503 | dependencies = [ 1504 | "alsa", 1505 | "core-foundation-sys", 1506 | "coreaudio-rs", 1507 | "dasp_sample", 1508 | "jni", 1509 | "js-sys", 1510 | "libc", 1511 | "mach2", 1512 | "ndk 0.8.0", 1513 | "ndk-context", 1514 | "oboe", 1515 | "wasm-bindgen", 1516 | "wasm-bindgen-futures", 1517 | "web-sys", 1518 | "windows 0.54.0", 1519 | ] 1520 | 1521 | [[package]] 1522 | name = "crc32fast" 1523 | version = "1.4.0" 1524 | source = "registry+https://github.com/rust-lang/crates.io-index" 1525 | checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" 1526 | dependencies = [ 1527 | "cfg-if", 1528 | ] 1529 | 1530 | [[package]] 1531 | name = "crossbeam-channel" 1532 | version = "0.5.11" 1533 | source = "registry+https://github.com/rust-lang/crates.io-index" 1534 | checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" 1535 | dependencies = [ 1536 | "crossbeam-utils", 1537 | ] 1538 | 1539 | [[package]] 1540 | name = "crossbeam-utils" 1541 | version = "0.8.19" 1542 | source = "registry+https://github.com/rust-lang/crates.io-index" 1543 | checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" 1544 | 1545 | [[package]] 1546 | name = "cursor-icon" 1547 | version = "1.1.0" 1548 | source = "registry+https://github.com/rust-lang/crates.io-index" 1549 | checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" 1550 | 1551 | [[package]] 1552 | name = "d3d12" 1553 | version = "0.20.0" 1554 | source = "registry+https://github.com/rust-lang/crates.io-index" 1555 | checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" 1556 | dependencies = [ 1557 | "bitflags 2.6.0", 1558 | "libloading 0.8.1", 1559 | "winapi", 1560 | ] 1561 | 1562 | [[package]] 1563 | name = "dasp_sample" 1564 | version = "0.11.0" 1565 | source = "registry+https://github.com/rust-lang/crates.io-index" 1566 | checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" 1567 | 1568 | [[package]] 1569 | name = "data-encoding" 1570 | version = "2.5.0" 1571 | source = "registry+https://github.com/rust-lang/crates.io-index" 1572 | checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" 1573 | 1574 | [[package]] 1575 | name = "dispatch" 1576 | version = "0.2.0" 1577 | source = "registry+https://github.com/rust-lang/crates.io-index" 1578 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 1579 | 1580 | [[package]] 1581 | name = "dlib" 1582 | version = "0.5.2" 1583 | source = "registry+https://github.com/rust-lang/crates.io-index" 1584 | checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" 1585 | dependencies = [ 1586 | "libloading 0.8.1", 1587 | ] 1588 | 1589 | [[package]] 1590 | name = "document-features" 1591 | version = "0.2.8" 1592 | source = "registry+https://github.com/rust-lang/crates.io-index" 1593 | checksum = "ef5282ad69563b5fc40319526ba27e0e7363d552a896f0297d54f767717f9b95" 1594 | dependencies = [ 1595 | "litrs", 1596 | ] 1597 | 1598 | [[package]] 1599 | name = "dot32_intro" 1600 | version = "0.9.0" 1601 | source = "git+https://github.com/Dot32IsCool/dot32-intro-rs?rev=8261c1d#8261c1d2d34ac58ae8b11f82733141a3b075a24c" 1602 | dependencies = [ 1603 | "bevy", 1604 | ] 1605 | 1606 | [[package]] 1607 | name = "downcast-rs" 1608 | version = "1.2.0" 1609 | source = "registry+https://github.com/rust-lang/crates.io-index" 1610 | checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" 1611 | 1612 | [[package]] 1613 | name = "dpi" 1614 | version = "0.1.1" 1615 | source = "registry+https://github.com/rust-lang/crates.io-index" 1616 | checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" 1617 | 1618 | [[package]] 1619 | name = "either" 1620 | version = "1.10.0" 1621 | source = "registry+https://github.com/rust-lang/crates.io-index" 1622 | checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" 1623 | 1624 | [[package]] 1625 | name = "encase" 1626 | version = "0.8.0" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | checksum = "5a9299a95fa5671ddf29ecc22b00e121843a65cb9ff24911e394b4ae556baf36" 1629 | dependencies = [ 1630 | "const_panic", 1631 | "encase_derive", 1632 | "glam", 1633 | "thiserror", 1634 | ] 1635 | 1636 | [[package]] 1637 | name = "encase_derive" 1638 | version = "0.8.0" 1639 | source = "registry+https://github.com/rust-lang/crates.io-index" 1640 | checksum = "07e09decb3beb1fe2db6940f598957b2e1f7df6206a804d438ff6cb2a9cddc10" 1641 | dependencies = [ 1642 | "encase_derive_impl", 1643 | ] 1644 | 1645 | [[package]] 1646 | name = "encase_derive_impl" 1647 | version = "0.8.0" 1648 | source = "registry+https://github.com/rust-lang/crates.io-index" 1649 | checksum = "fd31dbbd9743684d339f907a87fe212cb7b51d75b9e8e74181fe363199ee9b47" 1650 | dependencies = [ 1651 | "proc-macro2", 1652 | "quote", 1653 | "syn 2.0.49", 1654 | ] 1655 | 1656 | [[package]] 1657 | name = "equivalent" 1658 | version = "1.0.1" 1659 | source = "registry+https://github.com/rust-lang/crates.io-index" 1660 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 1661 | 1662 | [[package]] 1663 | name = "erased-serde" 1664 | version = "0.4.3" 1665 | source = "registry+https://github.com/rust-lang/crates.io-index" 1666 | checksum = "388979d208a049ffdfb22fa33b9c81942215b940910bccfe258caeb25d125cb3" 1667 | dependencies = [ 1668 | "serde", 1669 | ] 1670 | 1671 | [[package]] 1672 | name = "errno" 1673 | version = "0.3.8" 1674 | source = "registry+https://github.com/rust-lang/crates.io-index" 1675 | checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" 1676 | dependencies = [ 1677 | "libc", 1678 | "windows-sys 0.52.0", 1679 | ] 1680 | 1681 | [[package]] 1682 | name = "euclid" 1683 | version = "0.22.9" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" 1686 | dependencies = [ 1687 | "num-traits", 1688 | ] 1689 | 1690 | [[package]] 1691 | name = "event-listener" 1692 | version = "2.5.3" 1693 | source = "registry+https://github.com/rust-lang/crates.io-index" 1694 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 1695 | 1696 | [[package]] 1697 | name = "event-listener" 1698 | version = "4.0.3" 1699 | source = "registry+https://github.com/rust-lang/crates.io-index" 1700 | checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" 1701 | dependencies = [ 1702 | "concurrent-queue", 1703 | "parking", 1704 | "pin-project-lite", 1705 | ] 1706 | 1707 | [[package]] 1708 | name = "event-listener" 1709 | version = "5.1.0" 1710 | source = "registry+https://github.com/rust-lang/crates.io-index" 1711 | checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" 1712 | dependencies = [ 1713 | "concurrent-queue", 1714 | "parking", 1715 | "pin-project-lite", 1716 | ] 1717 | 1718 | [[package]] 1719 | name = "event-listener-strategy" 1720 | version = "0.4.0" 1721 | source = "registry+https://github.com/rust-lang/crates.io-index" 1722 | checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" 1723 | dependencies = [ 1724 | "event-listener 4.0.3", 1725 | "pin-project-lite", 1726 | ] 1727 | 1728 | [[package]] 1729 | name = "event-listener-strategy" 1730 | version = "0.5.0" 1731 | source = "registry+https://github.com/rust-lang/crates.io-index" 1732 | checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" 1733 | dependencies = [ 1734 | "event-listener 5.1.0", 1735 | "pin-project-lite", 1736 | ] 1737 | 1738 | [[package]] 1739 | name = "fastrand" 1740 | version = "2.0.1" 1741 | source = "registry+https://github.com/rust-lang/crates.io-index" 1742 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 1743 | 1744 | [[package]] 1745 | name = "fdeflate" 1746 | version = "0.3.4" 1747 | source = "registry+https://github.com/rust-lang/crates.io-index" 1748 | checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" 1749 | dependencies = [ 1750 | "simd-adler32", 1751 | ] 1752 | 1753 | [[package]] 1754 | name = "fixedbitset" 1755 | version = "0.4.2" 1756 | source = "registry+https://github.com/rust-lang/crates.io-index" 1757 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 1758 | 1759 | [[package]] 1760 | name = "fixedbitset" 1761 | version = "0.5.7" 1762 | source = "registry+https://github.com/rust-lang/crates.io-index" 1763 | checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" 1764 | 1765 | [[package]] 1766 | name = "flate2" 1767 | version = "1.0.28" 1768 | source = "registry+https://github.com/rust-lang/crates.io-index" 1769 | checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" 1770 | dependencies = [ 1771 | "crc32fast", 1772 | "miniz_oxide", 1773 | ] 1774 | 1775 | [[package]] 1776 | name = "fnv" 1777 | version = "1.0.7" 1778 | source = "registry+https://github.com/rust-lang/crates.io-index" 1779 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 1780 | 1781 | [[package]] 1782 | name = "foreign-types" 1783 | version = "0.5.0" 1784 | source = "registry+https://github.com/rust-lang/crates.io-index" 1785 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 1786 | dependencies = [ 1787 | "foreign-types-macros", 1788 | "foreign-types-shared", 1789 | ] 1790 | 1791 | [[package]] 1792 | name = "foreign-types-macros" 1793 | version = "0.2.3" 1794 | source = "registry+https://github.com/rust-lang/crates.io-index" 1795 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 1796 | dependencies = [ 1797 | "proc-macro2", 1798 | "quote", 1799 | "syn 2.0.49", 1800 | ] 1801 | 1802 | [[package]] 1803 | name = "foreign-types-shared" 1804 | version = "0.3.1" 1805 | source = "registry+https://github.com/rust-lang/crates.io-index" 1806 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 1807 | 1808 | [[package]] 1809 | name = "futures-core" 1810 | version = "0.3.30" 1811 | source = "registry+https://github.com/rust-lang/crates.io-index" 1812 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 1813 | 1814 | [[package]] 1815 | name = "futures-io" 1816 | version = "0.3.30" 1817 | source = "registry+https://github.com/rust-lang/crates.io-index" 1818 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 1819 | 1820 | [[package]] 1821 | name = "futures-lite" 1822 | version = "2.2.0" 1823 | source = "registry+https://github.com/rust-lang/crates.io-index" 1824 | checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" 1825 | dependencies = [ 1826 | "fastrand", 1827 | "futures-core", 1828 | "futures-io", 1829 | "parking", 1830 | "pin-project-lite", 1831 | ] 1832 | 1833 | [[package]] 1834 | name = "gethostname" 1835 | version = "0.4.3" 1836 | source = "registry+https://github.com/rust-lang/crates.io-index" 1837 | checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" 1838 | dependencies = [ 1839 | "libc", 1840 | "windows-targets 0.48.5", 1841 | ] 1842 | 1843 | [[package]] 1844 | name = "getrandom" 1845 | version = "0.2.12" 1846 | source = "registry+https://github.com/rust-lang/crates.io-index" 1847 | checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" 1848 | dependencies = [ 1849 | "cfg-if", 1850 | "js-sys", 1851 | "libc", 1852 | "wasi", 1853 | "wasm-bindgen", 1854 | ] 1855 | 1856 | [[package]] 1857 | name = "gilrs" 1858 | version = "0.10.4" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "d8b2e57a9cb946b5d04ae8638c5f554abb5a9f82c4c950fd5b1fee6d119592fb" 1861 | dependencies = [ 1862 | "fnv", 1863 | "gilrs-core", 1864 | "log", 1865 | "uuid", 1866 | "vec_map", 1867 | ] 1868 | 1869 | [[package]] 1870 | name = "gilrs-core" 1871 | version = "0.5.10" 1872 | source = "registry+https://github.com/rust-lang/crates.io-index" 1873 | checksum = "0af1827b7dd2f36d740ae804c1b3ea0d64c12533fb61ff91883005143a0e8c5a" 1874 | dependencies = [ 1875 | "core-foundation", 1876 | "inotify", 1877 | "io-kit-sys", 1878 | "js-sys", 1879 | "libc", 1880 | "libudev-sys", 1881 | "log", 1882 | "nix", 1883 | "uuid", 1884 | "vec_map", 1885 | "wasm-bindgen", 1886 | "web-sys", 1887 | "windows 0.52.0", 1888 | ] 1889 | 1890 | [[package]] 1891 | name = "gl_generator" 1892 | version = "0.14.0" 1893 | source = "registry+https://github.com/rust-lang/crates.io-index" 1894 | checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" 1895 | dependencies = [ 1896 | "khronos_api", 1897 | "log", 1898 | "xml-rs", 1899 | ] 1900 | 1901 | [[package]] 1902 | name = "glam" 1903 | version = "0.27.0" 1904 | source = "registry+https://github.com/rust-lang/crates.io-index" 1905 | checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" 1906 | dependencies = [ 1907 | "bytemuck", 1908 | "rand", 1909 | "serde", 1910 | ] 1911 | 1912 | [[package]] 1913 | name = "glob" 1914 | version = "0.3.1" 1915 | source = "registry+https://github.com/rust-lang/crates.io-index" 1916 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1917 | 1918 | [[package]] 1919 | name = "glow" 1920 | version = "0.13.1" 1921 | source = "registry+https://github.com/rust-lang/crates.io-index" 1922 | checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" 1923 | dependencies = [ 1924 | "js-sys", 1925 | "slotmap", 1926 | "wasm-bindgen", 1927 | "web-sys", 1928 | ] 1929 | 1930 | [[package]] 1931 | name = "gltf" 1932 | version = "1.4.0" 1933 | source = "registry+https://github.com/rust-lang/crates.io-index" 1934 | checksum = "3b78f069cf941075835822953c345b9e1edd67ae347b81ace3aea9de38c2ef33" 1935 | dependencies = [ 1936 | "byteorder", 1937 | "gltf-json", 1938 | "lazy_static", 1939 | "serde_json", 1940 | ] 1941 | 1942 | [[package]] 1943 | name = "gltf-derive" 1944 | version = "1.4.0" 1945 | source = "registry+https://github.com/rust-lang/crates.io-index" 1946 | checksum = "438ffe1a5540d75403feaf23636b164e816e93f6f03131674722b3886ce32a57" 1947 | dependencies = [ 1948 | "inflections", 1949 | "proc-macro2", 1950 | "quote", 1951 | "syn 2.0.49", 1952 | ] 1953 | 1954 | [[package]] 1955 | name = "gltf-json" 1956 | version = "1.4.0" 1957 | source = "registry+https://github.com/rust-lang/crates.io-index" 1958 | checksum = "655951ba557f2bc69ea4b0799446bae281fa78efae6319968bdd2c3e9a06d8e1" 1959 | dependencies = [ 1960 | "gltf-derive", 1961 | "serde", 1962 | "serde_derive", 1963 | "serde_json", 1964 | ] 1965 | 1966 | [[package]] 1967 | name = "glutin_wgl_sys" 1968 | version = "0.5.0" 1969 | source = "registry+https://github.com/rust-lang/crates.io-index" 1970 | checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" 1971 | dependencies = [ 1972 | "gl_generator", 1973 | ] 1974 | 1975 | [[package]] 1976 | name = "glyph_brush_layout" 1977 | version = "0.2.3" 1978 | source = "registry+https://github.com/rust-lang/crates.io-index" 1979 | checksum = "cc32c2334f00ca5ac3695c5009ae35da21da8c62d255b5b96d56e2597a637a38" 1980 | dependencies = [ 1981 | "ab_glyph", 1982 | "approx", 1983 | "xi-unicode", 1984 | ] 1985 | 1986 | [[package]] 1987 | name = "gpu-alloc" 1988 | version = "0.6.0" 1989 | source = "registry+https://github.com/rust-lang/crates.io-index" 1990 | checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" 1991 | dependencies = [ 1992 | "bitflags 2.6.0", 1993 | "gpu-alloc-types", 1994 | ] 1995 | 1996 | [[package]] 1997 | name = "gpu-alloc-types" 1998 | version = "0.3.0" 1999 | source = "registry+https://github.com/rust-lang/crates.io-index" 2000 | checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" 2001 | dependencies = [ 2002 | "bitflags 2.6.0", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "gpu-allocator" 2007 | version = "0.25.0" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" 2010 | dependencies = [ 2011 | "log", 2012 | "presser", 2013 | "thiserror", 2014 | "winapi", 2015 | "windows 0.52.0", 2016 | ] 2017 | 2018 | [[package]] 2019 | name = "gpu-descriptor" 2020 | version = "0.3.0" 2021 | source = "registry+https://github.com/rust-lang/crates.io-index" 2022 | checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" 2023 | dependencies = [ 2024 | "bitflags 2.6.0", 2025 | "gpu-descriptor-types", 2026 | "hashbrown", 2027 | ] 2028 | 2029 | [[package]] 2030 | name = "gpu-descriptor-types" 2031 | version = "0.2.0" 2032 | source = "registry+https://github.com/rust-lang/crates.io-index" 2033 | checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" 2034 | dependencies = [ 2035 | "bitflags 2.6.0", 2036 | ] 2037 | 2038 | [[package]] 2039 | name = "grid" 2040 | version = "0.14.0" 2041 | source = "registry+https://github.com/rust-lang/crates.io-index" 2042 | checksum = "be136d9dacc2a13cc70bb6c8f902b414fb2641f8db1314637c6b7933411a8f82" 2043 | 2044 | [[package]] 2045 | name = "guillotiere" 2046 | version = "0.6.2" 2047 | source = "registry+https://github.com/rust-lang/crates.io-index" 2048 | checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" 2049 | dependencies = [ 2050 | "euclid", 2051 | "svg_fmt", 2052 | ] 2053 | 2054 | [[package]] 2055 | name = "hashbrown" 2056 | version = "0.14.3" 2057 | source = "registry+https://github.com/rust-lang/crates.io-index" 2058 | checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" 2059 | dependencies = [ 2060 | "ahash", 2061 | "allocator-api2", 2062 | "serde", 2063 | ] 2064 | 2065 | [[package]] 2066 | name = "hassle-rs" 2067 | version = "0.11.0" 2068 | source = "registry+https://github.com/rust-lang/crates.io-index" 2069 | checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" 2070 | dependencies = [ 2071 | "bitflags 2.6.0", 2072 | "com", 2073 | "libc", 2074 | "libloading 0.8.1", 2075 | "thiserror", 2076 | "widestring", 2077 | "winapi", 2078 | ] 2079 | 2080 | [[package]] 2081 | name = "hexasphere" 2082 | version = "12.0.0" 2083 | source = "registry+https://github.com/rust-lang/crates.io-index" 2084 | checksum = "edd6b038160f086b0a7496edae34169ae22f328793cbe2b627a5a3d8373748ec" 2085 | dependencies = [ 2086 | "constgebra", 2087 | "glam", 2088 | ] 2089 | 2090 | [[package]] 2091 | name = "hexf-parse" 2092 | version = "0.2.1" 2093 | source = "registry+https://github.com/rust-lang/crates.io-index" 2094 | checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" 2095 | 2096 | [[package]] 2097 | name = "image" 2098 | version = "0.25.1" 2099 | source = "registry+https://github.com/rust-lang/crates.io-index" 2100 | checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" 2101 | dependencies = [ 2102 | "bytemuck", 2103 | "byteorder", 2104 | "num-traits", 2105 | "png", 2106 | ] 2107 | 2108 | [[package]] 2109 | name = "immutable-chunkmap" 2110 | version = "2.0.5" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "4419f022e55cc63d5bbd6b44b71e1d226b9c9480a47824c706e9d54e5c40c5eb" 2113 | dependencies = [ 2114 | "arrayvec", 2115 | ] 2116 | 2117 | [[package]] 2118 | name = "indexmap" 2119 | version = "2.2.3" 2120 | source = "registry+https://github.com/rust-lang/crates.io-index" 2121 | checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" 2122 | dependencies = [ 2123 | "equivalent", 2124 | "hashbrown", 2125 | ] 2126 | 2127 | [[package]] 2128 | name = "inflections" 2129 | version = "1.1.1" 2130 | source = "registry+https://github.com/rust-lang/crates.io-index" 2131 | checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" 2132 | 2133 | [[package]] 2134 | name = "inotify" 2135 | version = "0.10.2" 2136 | source = "registry+https://github.com/rust-lang/crates.io-index" 2137 | checksum = "fdd168d97690d0b8c412d6b6c10360277f4d7ee495c5d0d5d5fe0854923255cc" 2138 | dependencies = [ 2139 | "bitflags 1.3.2", 2140 | "inotify-sys", 2141 | "libc", 2142 | ] 2143 | 2144 | [[package]] 2145 | name = "inotify-sys" 2146 | version = "0.1.5" 2147 | source = "registry+https://github.com/rust-lang/crates.io-index" 2148 | checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 2149 | dependencies = [ 2150 | "libc", 2151 | ] 2152 | 2153 | [[package]] 2154 | name = "io-kit-sys" 2155 | version = "0.4.0" 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" 2157 | checksum = "4769cb30e5dcf1710fc6730d3e94f78c47723a014a567de385e113c737394640" 2158 | dependencies = [ 2159 | "core-foundation-sys", 2160 | "mach2", 2161 | ] 2162 | 2163 | [[package]] 2164 | name = "itertools" 2165 | version = "0.12.1" 2166 | source = "registry+https://github.com/rust-lang/crates.io-index" 2167 | checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" 2168 | dependencies = [ 2169 | "either", 2170 | ] 2171 | 2172 | [[package]] 2173 | name = "itoa" 2174 | version = "1.0.10" 2175 | source = "registry+https://github.com/rust-lang/crates.io-index" 2176 | checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" 2177 | 2178 | [[package]] 2179 | name = "jni" 2180 | version = "0.21.1" 2181 | source = "registry+https://github.com/rust-lang/crates.io-index" 2182 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 2183 | dependencies = [ 2184 | "cesu8", 2185 | "cfg-if", 2186 | "combine", 2187 | "jni-sys", 2188 | "log", 2189 | "thiserror", 2190 | "walkdir", 2191 | "windows-sys 0.45.0", 2192 | ] 2193 | 2194 | [[package]] 2195 | name = "jni-sys" 2196 | version = "0.3.0" 2197 | source = "registry+https://github.com/rust-lang/crates.io-index" 2198 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 2199 | 2200 | [[package]] 2201 | name = "jobserver" 2202 | version = "0.1.28" 2203 | source = "registry+https://github.com/rust-lang/crates.io-index" 2204 | checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" 2205 | dependencies = [ 2206 | "libc", 2207 | ] 2208 | 2209 | [[package]] 2210 | name = "js-sys" 2211 | version = "0.3.69" 2212 | source = "registry+https://github.com/rust-lang/crates.io-index" 2213 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 2214 | dependencies = [ 2215 | "wasm-bindgen", 2216 | ] 2217 | 2218 | [[package]] 2219 | name = "khronos-egl" 2220 | version = "6.0.0" 2221 | source = "registry+https://github.com/rust-lang/crates.io-index" 2222 | checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" 2223 | dependencies = [ 2224 | "libc", 2225 | "libloading 0.8.1", 2226 | "pkg-config", 2227 | ] 2228 | 2229 | [[package]] 2230 | name = "khronos_api" 2231 | version = "3.1.0" 2232 | source = "registry+https://github.com/rust-lang/crates.io-index" 2233 | checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" 2234 | 2235 | [[package]] 2236 | name = "ktx2" 2237 | version = "0.3.0" 2238 | source = "registry+https://github.com/rust-lang/crates.io-index" 2239 | checksum = "87d65e08a9ec02e409d27a0139eaa6b9756b4d81fe7cde71f6941a83730ce838" 2240 | dependencies = [ 2241 | "bitflags 1.3.2", 2242 | ] 2243 | 2244 | [[package]] 2245 | name = "lazy_static" 2246 | version = "1.4.0" 2247 | source = "registry+https://github.com/rust-lang/crates.io-index" 2248 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 2249 | 2250 | [[package]] 2251 | name = "lazycell" 2252 | version = "1.3.0" 2253 | source = "registry+https://github.com/rust-lang/crates.io-index" 2254 | checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" 2255 | 2256 | [[package]] 2257 | name = "lewton" 2258 | version = "0.10.2" 2259 | source = "registry+https://github.com/rust-lang/crates.io-index" 2260 | checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" 2261 | dependencies = [ 2262 | "byteorder", 2263 | "ogg", 2264 | "tinyvec", 2265 | ] 2266 | 2267 | [[package]] 2268 | name = "libc" 2269 | version = "0.2.153" 2270 | source = "registry+https://github.com/rust-lang/crates.io-index" 2271 | checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" 2272 | 2273 | [[package]] 2274 | name = "libloading" 2275 | version = "0.7.4" 2276 | source = "registry+https://github.com/rust-lang/crates.io-index" 2277 | checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" 2278 | dependencies = [ 2279 | "cfg-if", 2280 | "winapi", 2281 | ] 2282 | 2283 | [[package]] 2284 | name = "libloading" 2285 | version = "0.8.1" 2286 | source = "registry+https://github.com/rust-lang/crates.io-index" 2287 | checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" 2288 | dependencies = [ 2289 | "cfg-if", 2290 | "windows-sys 0.48.0", 2291 | ] 2292 | 2293 | [[package]] 2294 | name = "libredox" 2295 | version = "0.0.2" 2296 | source = "registry+https://github.com/rust-lang/crates.io-index" 2297 | checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" 2298 | dependencies = [ 2299 | "bitflags 2.6.0", 2300 | "libc", 2301 | "redox_syscall", 2302 | ] 2303 | 2304 | [[package]] 2305 | name = "libudev-sys" 2306 | version = "0.1.4" 2307 | source = "registry+https://github.com/rust-lang/crates.io-index" 2308 | checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" 2309 | dependencies = [ 2310 | "libc", 2311 | "pkg-config", 2312 | ] 2313 | 2314 | [[package]] 2315 | name = "linux-raw-sys" 2316 | version = "0.4.13" 2317 | source = "registry+https://github.com/rust-lang/crates.io-index" 2318 | checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" 2319 | 2320 | [[package]] 2321 | name = "litrs" 2322 | version = "0.4.1" 2323 | source = "registry+https://github.com/rust-lang/crates.io-index" 2324 | checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" 2325 | 2326 | [[package]] 2327 | name = "lock_api" 2328 | version = "0.4.11" 2329 | source = "registry+https://github.com/rust-lang/crates.io-index" 2330 | checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" 2331 | dependencies = [ 2332 | "autocfg", 2333 | "scopeguard", 2334 | ] 2335 | 2336 | [[package]] 2337 | name = "log" 2338 | version = "0.4.20" 2339 | source = "registry+https://github.com/rust-lang/crates.io-index" 2340 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 2341 | 2342 | [[package]] 2343 | name = "mach2" 2344 | version = "0.4.2" 2345 | source = "registry+https://github.com/rust-lang/crates.io-index" 2346 | checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" 2347 | dependencies = [ 2348 | "libc", 2349 | ] 2350 | 2351 | [[package]] 2352 | name = "malloc_buf" 2353 | version = "0.0.6" 2354 | source = "registry+https://github.com/rust-lang/crates.io-index" 2355 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 2356 | dependencies = [ 2357 | "libc", 2358 | ] 2359 | 2360 | [[package]] 2361 | name = "matchers" 2362 | version = "0.1.0" 2363 | source = "registry+https://github.com/rust-lang/crates.io-index" 2364 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 2365 | dependencies = [ 2366 | "regex-automata 0.1.10", 2367 | ] 2368 | 2369 | [[package]] 2370 | name = "memchr" 2371 | version = "2.7.1" 2372 | source = "registry+https://github.com/rust-lang/crates.io-index" 2373 | checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" 2374 | 2375 | [[package]] 2376 | name = "metal" 2377 | version = "0.28.0" 2378 | source = "registry+https://github.com/rust-lang/crates.io-index" 2379 | checksum = "5637e166ea14be6063a3f8ba5ccb9a4159df7d8f6d61c02fc3d480b1f90dcfcb" 2380 | dependencies = [ 2381 | "bitflags 2.6.0", 2382 | "block", 2383 | "core-graphics-types", 2384 | "foreign-types", 2385 | "log", 2386 | "objc", 2387 | "paste", 2388 | ] 2389 | 2390 | [[package]] 2391 | name = "minimal-lexical" 2392 | version = "0.2.1" 2393 | source = "registry+https://github.com/rust-lang/crates.io-index" 2394 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2395 | 2396 | [[package]] 2397 | name = "miniz_oxide" 2398 | version = "0.7.2" 2399 | source = "registry+https://github.com/rust-lang/crates.io-index" 2400 | checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 2401 | dependencies = [ 2402 | "adler", 2403 | "simd-adler32", 2404 | ] 2405 | 2406 | [[package]] 2407 | name = "moving-a-player" 2408 | version = "0.1.0" 2409 | dependencies = [ 2410 | "bevy", 2411 | "bevy_embedded_assets", 2412 | "dot32_intro", 2413 | "rand", 2414 | ] 2415 | 2416 | [[package]] 2417 | name = "naga" 2418 | version = "0.20.0" 2419 | source = "registry+https://github.com/rust-lang/crates.io-index" 2420 | checksum = "e536ae46fcab0876853bd4a632ede5df4b1c2527a58f6c5a4150fe86be858231" 2421 | dependencies = [ 2422 | "arrayvec", 2423 | "bit-set", 2424 | "bitflags 2.6.0", 2425 | "codespan-reporting", 2426 | "hexf-parse", 2427 | "indexmap", 2428 | "log", 2429 | "num-traits", 2430 | "pp-rs", 2431 | "rustc-hash", 2432 | "spirv", 2433 | "termcolor", 2434 | "thiserror", 2435 | "unicode-xid", 2436 | ] 2437 | 2438 | [[package]] 2439 | name = "naga_oil" 2440 | version = "0.14.0" 2441 | source = "registry+https://github.com/rust-lang/crates.io-index" 2442 | checksum = "275d9720a7338eedac966141089232514c84d76a246a58ef501af88c5edf402f" 2443 | dependencies = [ 2444 | "bit-set", 2445 | "codespan-reporting", 2446 | "data-encoding", 2447 | "indexmap", 2448 | "naga", 2449 | "once_cell", 2450 | "regex", 2451 | "regex-syntax 0.8.2", 2452 | "rustc-hash", 2453 | "thiserror", 2454 | "tracing", 2455 | "unicode-ident", 2456 | ] 2457 | 2458 | [[package]] 2459 | name = "ndk" 2460 | version = "0.8.0" 2461 | source = "registry+https://github.com/rust-lang/crates.io-index" 2462 | checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" 2463 | dependencies = [ 2464 | "bitflags 2.6.0", 2465 | "jni-sys", 2466 | "log", 2467 | "ndk-sys 0.5.0+25.2.9519653", 2468 | "num_enum", 2469 | "thiserror", 2470 | ] 2471 | 2472 | [[package]] 2473 | name = "ndk" 2474 | version = "0.9.0" 2475 | source = "registry+https://github.com/rust-lang/crates.io-index" 2476 | checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" 2477 | dependencies = [ 2478 | "bitflags 2.6.0", 2479 | "jni-sys", 2480 | "log", 2481 | "ndk-sys 0.6.0+11769913", 2482 | "num_enum", 2483 | "raw-window-handle", 2484 | "thiserror", 2485 | ] 2486 | 2487 | [[package]] 2488 | name = "ndk-context" 2489 | version = "0.1.1" 2490 | source = "registry+https://github.com/rust-lang/crates.io-index" 2491 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 2492 | 2493 | [[package]] 2494 | name = "ndk-sys" 2495 | version = "0.5.0+25.2.9519653" 2496 | source = "registry+https://github.com/rust-lang/crates.io-index" 2497 | checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" 2498 | dependencies = [ 2499 | "jni-sys", 2500 | ] 2501 | 2502 | [[package]] 2503 | name = "ndk-sys" 2504 | version = "0.6.0+11769913" 2505 | source = "registry+https://github.com/rust-lang/crates.io-index" 2506 | checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" 2507 | dependencies = [ 2508 | "jni-sys", 2509 | ] 2510 | 2511 | [[package]] 2512 | name = "nix" 2513 | version = "0.27.1" 2514 | source = "registry+https://github.com/rust-lang/crates.io-index" 2515 | checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" 2516 | dependencies = [ 2517 | "bitflags 2.6.0", 2518 | "cfg-if", 2519 | "libc", 2520 | ] 2521 | 2522 | [[package]] 2523 | name = "nom" 2524 | version = "7.1.3" 2525 | source = "registry+https://github.com/rust-lang/crates.io-index" 2526 | checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 2527 | dependencies = [ 2528 | "memchr", 2529 | "minimal-lexical", 2530 | ] 2531 | 2532 | [[package]] 2533 | name = "nonmax" 2534 | version = "0.5.5" 2535 | source = "registry+https://github.com/rust-lang/crates.io-index" 2536 | checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" 2537 | 2538 | [[package]] 2539 | name = "ntapi" 2540 | version = "0.4.1" 2541 | source = "registry+https://github.com/rust-lang/crates.io-index" 2542 | checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" 2543 | dependencies = [ 2544 | "winapi", 2545 | ] 2546 | 2547 | [[package]] 2548 | name = "nu-ansi-term" 2549 | version = "0.46.0" 2550 | source = "registry+https://github.com/rust-lang/crates.io-index" 2551 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 2552 | dependencies = [ 2553 | "overload", 2554 | "winapi", 2555 | ] 2556 | 2557 | [[package]] 2558 | name = "num-derive" 2559 | version = "0.4.2" 2560 | source = "registry+https://github.com/rust-lang/crates.io-index" 2561 | checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 2562 | dependencies = [ 2563 | "proc-macro2", 2564 | "quote", 2565 | "syn 2.0.49", 2566 | ] 2567 | 2568 | [[package]] 2569 | name = "num-traits" 2570 | version = "0.2.18" 2571 | source = "registry+https://github.com/rust-lang/crates.io-index" 2572 | checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" 2573 | dependencies = [ 2574 | "autocfg", 2575 | ] 2576 | 2577 | [[package]] 2578 | name = "num_enum" 2579 | version = "0.7.2" 2580 | source = "registry+https://github.com/rust-lang/crates.io-index" 2581 | checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" 2582 | dependencies = [ 2583 | "num_enum_derive", 2584 | ] 2585 | 2586 | [[package]] 2587 | name = "num_enum_derive" 2588 | version = "0.7.2" 2589 | source = "registry+https://github.com/rust-lang/crates.io-index" 2590 | checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" 2591 | dependencies = [ 2592 | "proc-macro-crate", 2593 | "proc-macro2", 2594 | "quote", 2595 | "syn 2.0.49", 2596 | ] 2597 | 2598 | [[package]] 2599 | name = "objc" 2600 | version = "0.2.7" 2601 | source = "registry+https://github.com/rust-lang/crates.io-index" 2602 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 2603 | dependencies = [ 2604 | "malloc_buf", 2605 | ] 2606 | 2607 | [[package]] 2608 | name = "objc-sys" 2609 | version = "0.3.5" 2610 | source = "registry+https://github.com/rust-lang/crates.io-index" 2611 | checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" 2612 | 2613 | [[package]] 2614 | name = "objc2" 2615 | version = "0.5.2" 2616 | source = "registry+https://github.com/rust-lang/crates.io-index" 2617 | checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" 2618 | dependencies = [ 2619 | "objc-sys", 2620 | "objc2-encode", 2621 | ] 2622 | 2623 | [[package]] 2624 | name = "objc2-app-kit" 2625 | version = "0.2.2" 2626 | source = "registry+https://github.com/rust-lang/crates.io-index" 2627 | checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" 2628 | dependencies = [ 2629 | "bitflags 2.6.0", 2630 | "block2", 2631 | "libc", 2632 | "objc2", 2633 | "objc2-core-data", 2634 | "objc2-core-image", 2635 | "objc2-foundation", 2636 | "objc2-quartz-core", 2637 | ] 2638 | 2639 | [[package]] 2640 | name = "objc2-cloud-kit" 2641 | version = "0.2.2" 2642 | source = "registry+https://github.com/rust-lang/crates.io-index" 2643 | checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" 2644 | dependencies = [ 2645 | "bitflags 2.6.0", 2646 | "block2", 2647 | "objc2", 2648 | "objc2-core-location", 2649 | "objc2-foundation", 2650 | ] 2651 | 2652 | [[package]] 2653 | name = "objc2-contacts" 2654 | version = "0.2.2" 2655 | source = "registry+https://github.com/rust-lang/crates.io-index" 2656 | checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" 2657 | dependencies = [ 2658 | "block2", 2659 | "objc2", 2660 | "objc2-foundation", 2661 | ] 2662 | 2663 | [[package]] 2664 | name = "objc2-core-data" 2665 | version = "0.2.2" 2666 | source = "registry+https://github.com/rust-lang/crates.io-index" 2667 | checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" 2668 | dependencies = [ 2669 | "bitflags 2.6.0", 2670 | "block2", 2671 | "objc2", 2672 | "objc2-foundation", 2673 | ] 2674 | 2675 | [[package]] 2676 | name = "objc2-core-image" 2677 | version = "0.2.2" 2678 | source = "registry+https://github.com/rust-lang/crates.io-index" 2679 | checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" 2680 | dependencies = [ 2681 | "block2", 2682 | "objc2", 2683 | "objc2-foundation", 2684 | "objc2-metal", 2685 | ] 2686 | 2687 | [[package]] 2688 | name = "objc2-core-location" 2689 | version = "0.2.2" 2690 | source = "registry+https://github.com/rust-lang/crates.io-index" 2691 | checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" 2692 | dependencies = [ 2693 | "block2", 2694 | "objc2", 2695 | "objc2-contacts", 2696 | "objc2-foundation", 2697 | ] 2698 | 2699 | [[package]] 2700 | name = "objc2-encode" 2701 | version = "4.0.3" 2702 | source = "registry+https://github.com/rust-lang/crates.io-index" 2703 | checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" 2704 | 2705 | [[package]] 2706 | name = "objc2-foundation" 2707 | version = "0.2.2" 2708 | source = "registry+https://github.com/rust-lang/crates.io-index" 2709 | checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" 2710 | dependencies = [ 2711 | "bitflags 2.6.0", 2712 | "block2", 2713 | "dispatch", 2714 | "libc", 2715 | "objc2", 2716 | ] 2717 | 2718 | [[package]] 2719 | name = "objc2-link-presentation" 2720 | version = "0.2.2" 2721 | source = "registry+https://github.com/rust-lang/crates.io-index" 2722 | checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" 2723 | dependencies = [ 2724 | "block2", 2725 | "objc2", 2726 | "objc2-app-kit", 2727 | "objc2-foundation", 2728 | ] 2729 | 2730 | [[package]] 2731 | name = "objc2-metal" 2732 | version = "0.2.2" 2733 | source = "registry+https://github.com/rust-lang/crates.io-index" 2734 | checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" 2735 | dependencies = [ 2736 | "bitflags 2.6.0", 2737 | "block2", 2738 | "objc2", 2739 | "objc2-foundation", 2740 | ] 2741 | 2742 | [[package]] 2743 | name = "objc2-quartz-core" 2744 | version = "0.2.2" 2745 | source = "registry+https://github.com/rust-lang/crates.io-index" 2746 | checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" 2747 | dependencies = [ 2748 | "bitflags 2.6.0", 2749 | "block2", 2750 | "objc2", 2751 | "objc2-foundation", 2752 | "objc2-metal", 2753 | ] 2754 | 2755 | [[package]] 2756 | name = "objc2-symbols" 2757 | version = "0.2.2" 2758 | source = "registry+https://github.com/rust-lang/crates.io-index" 2759 | checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" 2760 | dependencies = [ 2761 | "objc2", 2762 | "objc2-foundation", 2763 | ] 2764 | 2765 | [[package]] 2766 | name = "objc2-ui-kit" 2767 | version = "0.2.2" 2768 | source = "registry+https://github.com/rust-lang/crates.io-index" 2769 | checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" 2770 | dependencies = [ 2771 | "bitflags 2.6.0", 2772 | "block2", 2773 | "objc2", 2774 | "objc2-cloud-kit", 2775 | "objc2-core-data", 2776 | "objc2-core-image", 2777 | "objc2-core-location", 2778 | "objc2-foundation", 2779 | "objc2-link-presentation", 2780 | "objc2-quartz-core", 2781 | "objc2-symbols", 2782 | "objc2-uniform-type-identifiers", 2783 | "objc2-user-notifications", 2784 | ] 2785 | 2786 | [[package]] 2787 | name = "objc2-uniform-type-identifiers" 2788 | version = "0.2.2" 2789 | source = "registry+https://github.com/rust-lang/crates.io-index" 2790 | checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" 2791 | dependencies = [ 2792 | "block2", 2793 | "objc2", 2794 | "objc2-foundation", 2795 | ] 2796 | 2797 | [[package]] 2798 | name = "objc2-user-notifications" 2799 | version = "0.2.2" 2800 | source = "registry+https://github.com/rust-lang/crates.io-index" 2801 | checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" 2802 | dependencies = [ 2803 | "bitflags 2.6.0", 2804 | "block2", 2805 | "objc2", 2806 | "objc2-core-location", 2807 | "objc2-foundation", 2808 | ] 2809 | 2810 | [[package]] 2811 | name = "oboe" 2812 | version = "0.6.1" 2813 | source = "registry+https://github.com/rust-lang/crates.io-index" 2814 | checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" 2815 | dependencies = [ 2816 | "jni", 2817 | "ndk 0.8.0", 2818 | "ndk-context", 2819 | "num-derive", 2820 | "num-traits", 2821 | "oboe-sys", 2822 | ] 2823 | 2824 | [[package]] 2825 | name = "oboe-sys" 2826 | version = "0.6.1" 2827 | source = "registry+https://github.com/rust-lang/crates.io-index" 2828 | checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" 2829 | dependencies = [ 2830 | "cc", 2831 | ] 2832 | 2833 | [[package]] 2834 | name = "ogg" 2835 | version = "0.8.0" 2836 | source = "registry+https://github.com/rust-lang/crates.io-index" 2837 | checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" 2838 | dependencies = [ 2839 | "byteorder", 2840 | ] 2841 | 2842 | [[package]] 2843 | name = "once_cell" 2844 | version = "1.19.0" 2845 | source = "registry+https://github.com/rust-lang/crates.io-index" 2846 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 2847 | 2848 | [[package]] 2849 | name = "orbclient" 2850 | version = "0.3.47" 2851 | source = "registry+https://github.com/rust-lang/crates.io-index" 2852 | checksum = "52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166" 2853 | dependencies = [ 2854 | "libredox", 2855 | ] 2856 | 2857 | [[package]] 2858 | name = "overload" 2859 | version = "0.1.1" 2860 | source = "registry+https://github.com/rust-lang/crates.io-index" 2861 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 2862 | 2863 | [[package]] 2864 | name = "owned_ttf_parser" 2865 | version = "0.20.0" 2866 | source = "registry+https://github.com/rust-lang/crates.io-index" 2867 | checksum = "d4586edfe4c648c71797a74c84bacb32b52b212eff5dfe2bb9f2c599844023e7" 2868 | dependencies = [ 2869 | "ttf-parser", 2870 | ] 2871 | 2872 | [[package]] 2873 | name = "parking" 2874 | version = "2.2.0" 2875 | source = "registry+https://github.com/rust-lang/crates.io-index" 2876 | checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" 2877 | 2878 | [[package]] 2879 | name = "parking_lot" 2880 | version = "0.12.1" 2881 | source = "registry+https://github.com/rust-lang/crates.io-index" 2882 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 2883 | dependencies = [ 2884 | "lock_api", 2885 | "parking_lot_core", 2886 | ] 2887 | 2888 | [[package]] 2889 | name = "parking_lot_core" 2890 | version = "0.9.9" 2891 | source = "registry+https://github.com/rust-lang/crates.io-index" 2892 | checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" 2893 | dependencies = [ 2894 | "cfg-if", 2895 | "libc", 2896 | "redox_syscall", 2897 | "smallvec", 2898 | "windows-targets 0.48.5", 2899 | ] 2900 | 2901 | [[package]] 2902 | name = "paste" 2903 | version = "1.0.14" 2904 | source = "registry+https://github.com/rust-lang/crates.io-index" 2905 | checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" 2906 | 2907 | [[package]] 2908 | name = "percent-encoding" 2909 | version = "2.3.1" 2910 | source = "registry+https://github.com/rust-lang/crates.io-index" 2911 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 2912 | 2913 | [[package]] 2914 | name = "petgraph" 2915 | version = "0.6.4" 2916 | source = "registry+https://github.com/rust-lang/crates.io-index" 2917 | checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" 2918 | dependencies = [ 2919 | "fixedbitset 0.4.2", 2920 | "indexmap", 2921 | "serde", 2922 | "serde_derive", 2923 | ] 2924 | 2925 | [[package]] 2926 | name = "pin-project" 2927 | version = "1.1.5" 2928 | source = "registry+https://github.com/rust-lang/crates.io-index" 2929 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 2930 | dependencies = [ 2931 | "pin-project-internal", 2932 | ] 2933 | 2934 | [[package]] 2935 | name = "pin-project-internal" 2936 | version = "1.1.5" 2937 | source = "registry+https://github.com/rust-lang/crates.io-index" 2938 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 2939 | dependencies = [ 2940 | "proc-macro2", 2941 | "quote", 2942 | "syn 2.0.49", 2943 | ] 2944 | 2945 | [[package]] 2946 | name = "pin-project-lite" 2947 | version = "0.2.13" 2948 | source = "registry+https://github.com/rust-lang/crates.io-index" 2949 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 2950 | 2951 | [[package]] 2952 | name = "piper" 2953 | version = "0.2.1" 2954 | source = "registry+https://github.com/rust-lang/crates.io-index" 2955 | checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" 2956 | dependencies = [ 2957 | "atomic-waker", 2958 | "fastrand", 2959 | "futures-io", 2960 | ] 2961 | 2962 | [[package]] 2963 | name = "pkg-config" 2964 | version = "0.3.30" 2965 | source = "registry+https://github.com/rust-lang/crates.io-index" 2966 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 2967 | 2968 | [[package]] 2969 | name = "png" 2970 | version = "0.17.13" 2971 | source = "registry+https://github.com/rust-lang/crates.io-index" 2972 | checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" 2973 | dependencies = [ 2974 | "bitflags 1.3.2", 2975 | "crc32fast", 2976 | "fdeflate", 2977 | "flate2", 2978 | "miniz_oxide", 2979 | ] 2980 | 2981 | [[package]] 2982 | name = "polling" 2983 | version = "3.5.0" 2984 | source = "registry+https://github.com/rust-lang/crates.io-index" 2985 | checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" 2986 | dependencies = [ 2987 | "cfg-if", 2988 | "concurrent-queue", 2989 | "pin-project-lite", 2990 | "rustix", 2991 | "tracing", 2992 | "windows-sys 0.52.0", 2993 | ] 2994 | 2995 | [[package]] 2996 | name = "pp-rs" 2997 | version = "0.2.1" 2998 | source = "registry+https://github.com/rust-lang/crates.io-index" 2999 | checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" 3000 | dependencies = [ 3001 | "unicode-xid", 3002 | ] 3003 | 3004 | [[package]] 3005 | name = "ppv-lite86" 3006 | version = "0.2.17" 3007 | source = "registry+https://github.com/rust-lang/crates.io-index" 3008 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 3009 | 3010 | [[package]] 3011 | name = "presser" 3012 | version = "0.3.1" 3013 | source = "registry+https://github.com/rust-lang/crates.io-index" 3014 | checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" 3015 | 3016 | [[package]] 3017 | name = "proc-macro-crate" 3018 | version = "3.1.0" 3019 | source = "registry+https://github.com/rust-lang/crates.io-index" 3020 | checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" 3021 | dependencies = [ 3022 | "toml_edit 0.21.1", 3023 | ] 3024 | 3025 | [[package]] 3026 | name = "proc-macro2" 3027 | version = "1.0.78" 3028 | source = "registry+https://github.com/rust-lang/crates.io-index" 3029 | checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" 3030 | dependencies = [ 3031 | "unicode-ident", 3032 | ] 3033 | 3034 | [[package]] 3035 | name = "profiling" 3036 | version = "1.0.15" 3037 | source = "registry+https://github.com/rust-lang/crates.io-index" 3038 | checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" 3039 | 3040 | [[package]] 3041 | name = "quote" 3042 | version = "1.0.35" 3043 | source = "registry+https://github.com/rust-lang/crates.io-index" 3044 | checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" 3045 | dependencies = [ 3046 | "proc-macro2", 3047 | ] 3048 | 3049 | [[package]] 3050 | name = "radsort" 3051 | version = "0.1.0" 3052 | source = "registry+https://github.com/rust-lang/crates.io-index" 3053 | checksum = "17fd96390ed3feda12e1dfe2645ed587e0bea749e319333f104a33ff62f77a0b" 3054 | 3055 | [[package]] 3056 | name = "rand" 3057 | version = "0.8.5" 3058 | source = "registry+https://github.com/rust-lang/crates.io-index" 3059 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 3060 | dependencies = [ 3061 | "libc", 3062 | "rand_chacha", 3063 | "rand_core", 3064 | ] 3065 | 3066 | [[package]] 3067 | name = "rand_chacha" 3068 | version = "0.3.1" 3069 | source = "registry+https://github.com/rust-lang/crates.io-index" 3070 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 3071 | dependencies = [ 3072 | "ppv-lite86", 3073 | "rand_core", 3074 | ] 3075 | 3076 | [[package]] 3077 | name = "rand_core" 3078 | version = "0.6.4" 3079 | source = "registry+https://github.com/rust-lang/crates.io-index" 3080 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 3081 | dependencies = [ 3082 | "getrandom", 3083 | ] 3084 | 3085 | [[package]] 3086 | name = "range-alloc" 3087 | version = "0.1.3" 3088 | source = "registry+https://github.com/rust-lang/crates.io-index" 3089 | checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" 3090 | 3091 | [[package]] 3092 | name = "raw-window-handle" 3093 | version = "0.6.0" 3094 | source = "registry+https://github.com/rust-lang/crates.io-index" 3095 | checksum = "42a9830a0e1b9fb145ebb365b8bc4ccd75f290f98c0247deafbbe2c75cefb544" 3096 | 3097 | [[package]] 3098 | name = "rectangle-pack" 3099 | version = "0.4.2" 3100 | source = "registry+https://github.com/rust-lang/crates.io-index" 3101 | checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" 3102 | 3103 | [[package]] 3104 | name = "redox_syscall" 3105 | version = "0.4.1" 3106 | source = "registry+https://github.com/rust-lang/crates.io-index" 3107 | checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 3108 | dependencies = [ 3109 | "bitflags 1.3.2", 3110 | ] 3111 | 3112 | [[package]] 3113 | name = "regex" 3114 | version = "1.10.3" 3115 | source = "registry+https://github.com/rust-lang/crates.io-index" 3116 | checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" 3117 | dependencies = [ 3118 | "aho-corasick", 3119 | "memchr", 3120 | "regex-automata 0.4.5", 3121 | "regex-syntax 0.8.2", 3122 | ] 3123 | 3124 | [[package]] 3125 | name = "regex-automata" 3126 | version = "0.1.10" 3127 | source = "registry+https://github.com/rust-lang/crates.io-index" 3128 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 3129 | dependencies = [ 3130 | "regex-syntax 0.6.29", 3131 | ] 3132 | 3133 | [[package]] 3134 | name = "regex-automata" 3135 | version = "0.4.5" 3136 | source = "registry+https://github.com/rust-lang/crates.io-index" 3137 | checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" 3138 | dependencies = [ 3139 | "aho-corasick", 3140 | "memchr", 3141 | "regex-syntax 0.8.2", 3142 | ] 3143 | 3144 | [[package]] 3145 | name = "regex-syntax" 3146 | version = "0.6.29" 3147 | source = "registry+https://github.com/rust-lang/crates.io-index" 3148 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 3149 | 3150 | [[package]] 3151 | name = "regex-syntax" 3152 | version = "0.8.2" 3153 | source = "registry+https://github.com/rust-lang/crates.io-index" 3154 | checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 3155 | 3156 | [[package]] 3157 | name = "renderdoc-sys" 3158 | version = "1.1.0" 3159 | source = "registry+https://github.com/rust-lang/crates.io-index" 3160 | checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" 3161 | 3162 | [[package]] 3163 | name = "rodio" 3164 | version = "0.18.1" 3165 | source = "registry+https://github.com/rust-lang/crates.io-index" 3166 | checksum = "d1fceb9d127d515af1586d8d0cc601e1245bdb0af38e75c865a156290184f5b3" 3167 | dependencies = [ 3168 | "cpal", 3169 | "lewton", 3170 | "thiserror", 3171 | ] 3172 | 3173 | [[package]] 3174 | name = "ron" 3175 | version = "0.8.1" 3176 | source = "registry+https://github.com/rust-lang/crates.io-index" 3177 | checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" 3178 | dependencies = [ 3179 | "base64 0.21.7", 3180 | "bitflags 2.6.0", 3181 | "serde", 3182 | "serde_derive", 3183 | ] 3184 | 3185 | [[package]] 3186 | name = "rustc-hash" 3187 | version = "1.1.0" 3188 | source = "registry+https://github.com/rust-lang/crates.io-index" 3189 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 3190 | 3191 | [[package]] 3192 | name = "rustix" 3193 | version = "0.38.31" 3194 | source = "registry+https://github.com/rust-lang/crates.io-index" 3195 | checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" 3196 | dependencies = [ 3197 | "bitflags 2.6.0", 3198 | "errno", 3199 | "libc", 3200 | "linux-raw-sys", 3201 | "windows-sys 0.52.0", 3202 | ] 3203 | 3204 | [[package]] 3205 | name = "ruzstd" 3206 | version = "0.7.0" 3207 | source = "registry+https://github.com/rust-lang/crates.io-index" 3208 | checksum = "5022b253619b1ba797f243056276bed8ed1a73b0f5a7ce7225d524067644bf8f" 3209 | dependencies = [ 3210 | "byteorder", 3211 | "twox-hash", 3212 | ] 3213 | 3214 | [[package]] 3215 | name = "ryu" 3216 | version = "1.0.17" 3217 | source = "registry+https://github.com/rust-lang/crates.io-index" 3218 | checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" 3219 | 3220 | [[package]] 3221 | name = "same-file" 3222 | version = "1.0.6" 3223 | source = "registry+https://github.com/rust-lang/crates.io-index" 3224 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 3225 | dependencies = [ 3226 | "winapi-util", 3227 | ] 3228 | 3229 | [[package]] 3230 | name = "scopeguard" 3231 | version = "1.2.0" 3232 | source = "registry+https://github.com/rust-lang/crates.io-index" 3233 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 3234 | 3235 | [[package]] 3236 | name = "send_wrapper" 3237 | version = "0.6.0" 3238 | source = "registry+https://github.com/rust-lang/crates.io-index" 3239 | checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 3240 | 3241 | [[package]] 3242 | name = "serde" 3243 | version = "1.0.196" 3244 | source = "registry+https://github.com/rust-lang/crates.io-index" 3245 | checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" 3246 | dependencies = [ 3247 | "serde_derive", 3248 | ] 3249 | 3250 | [[package]] 3251 | name = "serde_derive" 3252 | version = "1.0.196" 3253 | source = "registry+https://github.com/rust-lang/crates.io-index" 3254 | checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" 3255 | dependencies = [ 3256 | "proc-macro2", 3257 | "quote", 3258 | "syn 2.0.49", 3259 | ] 3260 | 3261 | [[package]] 3262 | name = "serde_json" 3263 | version = "1.0.113" 3264 | source = "registry+https://github.com/rust-lang/crates.io-index" 3265 | checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" 3266 | dependencies = [ 3267 | "itoa", 3268 | "ryu", 3269 | "serde", 3270 | ] 3271 | 3272 | [[package]] 3273 | name = "sharded-slab" 3274 | version = "0.1.7" 3275 | source = "registry+https://github.com/rust-lang/crates.io-index" 3276 | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 3277 | dependencies = [ 3278 | "lazy_static", 3279 | ] 3280 | 3281 | [[package]] 3282 | name = "shlex" 3283 | version = "1.3.0" 3284 | source = "registry+https://github.com/rust-lang/crates.io-index" 3285 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 3286 | 3287 | [[package]] 3288 | name = "simd-adler32" 3289 | version = "0.3.7" 3290 | source = "registry+https://github.com/rust-lang/crates.io-index" 3291 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 3292 | 3293 | [[package]] 3294 | name = "slab" 3295 | version = "0.4.9" 3296 | source = "registry+https://github.com/rust-lang/crates.io-index" 3297 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 3298 | dependencies = [ 3299 | "autocfg", 3300 | ] 3301 | 3302 | [[package]] 3303 | name = "slotmap" 3304 | version = "1.0.7" 3305 | source = "registry+https://github.com/rust-lang/crates.io-index" 3306 | checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" 3307 | dependencies = [ 3308 | "version_check", 3309 | ] 3310 | 3311 | [[package]] 3312 | name = "smallvec" 3313 | version = "1.13.1" 3314 | source = "registry+https://github.com/rust-lang/crates.io-index" 3315 | checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" 3316 | 3317 | [[package]] 3318 | name = "smol_str" 3319 | version = "0.2.1" 3320 | source = "registry+https://github.com/rust-lang/crates.io-index" 3321 | checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" 3322 | dependencies = [ 3323 | "serde", 3324 | ] 3325 | 3326 | [[package]] 3327 | name = "spirv" 3328 | version = "0.3.0+sdk-1.3.268.0" 3329 | source = "registry+https://github.com/rust-lang/crates.io-index" 3330 | checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" 3331 | dependencies = [ 3332 | "bitflags 2.6.0", 3333 | ] 3334 | 3335 | [[package]] 3336 | name = "static_assertions" 3337 | version = "1.1.0" 3338 | source = "registry+https://github.com/rust-lang/crates.io-index" 3339 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 3340 | 3341 | [[package]] 3342 | name = "svg_fmt" 3343 | version = "0.4.1" 3344 | source = "registry+https://github.com/rust-lang/crates.io-index" 3345 | checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" 3346 | 3347 | [[package]] 3348 | name = "syn" 3349 | version = "1.0.109" 3350 | source = "registry+https://github.com/rust-lang/crates.io-index" 3351 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 3352 | dependencies = [ 3353 | "proc-macro2", 3354 | "quote", 3355 | "unicode-ident", 3356 | ] 3357 | 3358 | [[package]] 3359 | name = "syn" 3360 | version = "2.0.49" 3361 | source = "registry+https://github.com/rust-lang/crates.io-index" 3362 | checksum = "915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496" 3363 | dependencies = [ 3364 | "proc-macro2", 3365 | "quote", 3366 | "unicode-ident", 3367 | ] 3368 | 3369 | [[package]] 3370 | name = "sysinfo" 3371 | version = "0.30.5" 3372 | source = "registry+https://github.com/rust-lang/crates.io-index" 3373 | checksum = "1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2" 3374 | dependencies = [ 3375 | "cfg-if", 3376 | "core-foundation-sys", 3377 | "libc", 3378 | "ntapi", 3379 | "once_cell", 3380 | "windows 0.52.0", 3381 | ] 3382 | 3383 | [[package]] 3384 | name = "taffy" 3385 | version = "0.5.1" 3386 | source = "registry+https://github.com/rust-lang/crates.io-index" 3387 | checksum = "e8b61630cba2afd2c851821add2e1bb1b7851a2436e839ab73b56558b009035e" 3388 | dependencies = [ 3389 | "arrayvec", 3390 | "grid", 3391 | "num-traits", 3392 | "serde", 3393 | "slotmap", 3394 | ] 3395 | 3396 | [[package]] 3397 | name = "termcolor" 3398 | version = "1.4.1" 3399 | source = "registry+https://github.com/rust-lang/crates.io-index" 3400 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 3401 | dependencies = [ 3402 | "winapi-util", 3403 | ] 3404 | 3405 | [[package]] 3406 | name = "thiserror" 3407 | version = "1.0.61" 3408 | source = "registry+https://github.com/rust-lang/crates.io-index" 3409 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 3410 | dependencies = [ 3411 | "thiserror-impl", 3412 | ] 3413 | 3414 | [[package]] 3415 | name = "thiserror-impl" 3416 | version = "1.0.61" 3417 | source = "registry+https://github.com/rust-lang/crates.io-index" 3418 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 3419 | dependencies = [ 3420 | "proc-macro2", 3421 | "quote", 3422 | "syn 2.0.49", 3423 | ] 3424 | 3425 | [[package]] 3426 | name = "thread_local" 3427 | version = "1.1.7" 3428 | source = "registry+https://github.com/rust-lang/crates.io-index" 3429 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 3430 | dependencies = [ 3431 | "cfg-if", 3432 | "once_cell", 3433 | ] 3434 | 3435 | [[package]] 3436 | name = "tinyvec" 3437 | version = "1.6.0" 3438 | source = "registry+https://github.com/rust-lang/crates.io-index" 3439 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 3440 | dependencies = [ 3441 | "tinyvec_macros", 3442 | ] 3443 | 3444 | [[package]] 3445 | name = "tinyvec_macros" 3446 | version = "0.1.1" 3447 | source = "registry+https://github.com/rust-lang/crates.io-index" 3448 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 3449 | 3450 | [[package]] 3451 | name = "toml_datetime" 3452 | version = "0.6.5" 3453 | source = "registry+https://github.com/rust-lang/crates.io-index" 3454 | checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" 3455 | 3456 | [[package]] 3457 | name = "toml_edit" 3458 | version = "0.21.1" 3459 | source = "registry+https://github.com/rust-lang/crates.io-index" 3460 | checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" 3461 | dependencies = [ 3462 | "indexmap", 3463 | "toml_datetime", 3464 | "winnow 0.5.40", 3465 | ] 3466 | 3467 | [[package]] 3468 | name = "toml_edit" 3469 | version = "0.22.12" 3470 | source = "registry+https://github.com/rust-lang/crates.io-index" 3471 | checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" 3472 | dependencies = [ 3473 | "indexmap", 3474 | "toml_datetime", 3475 | "winnow 0.6.13", 3476 | ] 3477 | 3478 | [[package]] 3479 | name = "tracing" 3480 | version = "0.1.40" 3481 | source = "registry+https://github.com/rust-lang/crates.io-index" 3482 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 3483 | dependencies = [ 3484 | "pin-project-lite", 3485 | "tracing-attributes", 3486 | "tracing-core", 3487 | ] 3488 | 3489 | [[package]] 3490 | name = "tracing-attributes" 3491 | version = "0.1.27" 3492 | source = "registry+https://github.com/rust-lang/crates.io-index" 3493 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 3494 | dependencies = [ 3495 | "proc-macro2", 3496 | "quote", 3497 | "syn 2.0.49", 3498 | ] 3499 | 3500 | [[package]] 3501 | name = "tracing-core" 3502 | version = "0.1.32" 3503 | source = "registry+https://github.com/rust-lang/crates.io-index" 3504 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 3505 | dependencies = [ 3506 | "once_cell", 3507 | "valuable", 3508 | ] 3509 | 3510 | [[package]] 3511 | name = "tracing-log" 3512 | version = "0.2.0" 3513 | source = "registry+https://github.com/rust-lang/crates.io-index" 3514 | checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 3515 | dependencies = [ 3516 | "log", 3517 | "once_cell", 3518 | "tracing-core", 3519 | ] 3520 | 3521 | [[package]] 3522 | name = "tracing-subscriber" 3523 | version = "0.3.18" 3524 | source = "registry+https://github.com/rust-lang/crates.io-index" 3525 | checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 3526 | dependencies = [ 3527 | "matchers", 3528 | "nu-ansi-term", 3529 | "once_cell", 3530 | "regex", 3531 | "sharded-slab", 3532 | "smallvec", 3533 | "thread_local", 3534 | "tracing", 3535 | "tracing-core", 3536 | "tracing-log", 3537 | ] 3538 | 3539 | [[package]] 3540 | name = "tracing-wasm" 3541 | version = "0.2.1" 3542 | source = "registry+https://github.com/rust-lang/crates.io-index" 3543 | checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" 3544 | dependencies = [ 3545 | "tracing", 3546 | "tracing-subscriber", 3547 | "wasm-bindgen", 3548 | ] 3549 | 3550 | [[package]] 3551 | name = "ttf-parser" 3552 | version = "0.20.0" 3553 | source = "registry+https://github.com/rust-lang/crates.io-index" 3554 | checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" 3555 | 3556 | [[package]] 3557 | name = "twox-hash" 3558 | version = "1.6.3" 3559 | source = "registry+https://github.com/rust-lang/crates.io-index" 3560 | checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" 3561 | dependencies = [ 3562 | "cfg-if", 3563 | "static_assertions", 3564 | ] 3565 | 3566 | [[package]] 3567 | name = "unicode-ident" 3568 | version = "1.0.12" 3569 | source = "registry+https://github.com/rust-lang/crates.io-index" 3570 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 3571 | 3572 | [[package]] 3573 | name = "unicode-segmentation" 3574 | version = "1.11.0" 3575 | source = "registry+https://github.com/rust-lang/crates.io-index" 3576 | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" 3577 | 3578 | [[package]] 3579 | name = "unicode-width" 3580 | version = "0.1.11" 3581 | source = "registry+https://github.com/rust-lang/crates.io-index" 3582 | checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 3583 | 3584 | [[package]] 3585 | name = "unicode-xid" 3586 | version = "0.2.4" 3587 | source = "registry+https://github.com/rust-lang/crates.io-index" 3588 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 3589 | 3590 | [[package]] 3591 | name = "uuid" 3592 | version = "1.7.0" 3593 | source = "registry+https://github.com/rust-lang/crates.io-index" 3594 | checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" 3595 | dependencies = [ 3596 | "getrandom", 3597 | "serde", 3598 | ] 3599 | 3600 | [[package]] 3601 | name = "valuable" 3602 | version = "0.1.0" 3603 | source = "registry+https://github.com/rust-lang/crates.io-index" 3604 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 3605 | 3606 | [[package]] 3607 | name = "vec_map" 3608 | version = "0.8.2" 3609 | source = "registry+https://github.com/rust-lang/crates.io-index" 3610 | checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 3611 | 3612 | [[package]] 3613 | name = "version_check" 3614 | version = "0.9.4" 3615 | source = "registry+https://github.com/rust-lang/crates.io-index" 3616 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3617 | 3618 | [[package]] 3619 | name = "walkdir" 3620 | version = "2.4.0" 3621 | source = "registry+https://github.com/rust-lang/crates.io-index" 3622 | checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" 3623 | dependencies = [ 3624 | "same-file", 3625 | "winapi-util", 3626 | ] 3627 | 3628 | [[package]] 3629 | name = "wasi" 3630 | version = "0.11.0+wasi-snapshot-preview1" 3631 | source = "registry+https://github.com/rust-lang/crates.io-index" 3632 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3633 | 3634 | [[package]] 3635 | name = "wasm-bindgen" 3636 | version = "0.2.92" 3637 | source = "registry+https://github.com/rust-lang/crates.io-index" 3638 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 3639 | dependencies = [ 3640 | "cfg-if", 3641 | "wasm-bindgen-macro", 3642 | ] 3643 | 3644 | [[package]] 3645 | name = "wasm-bindgen-backend" 3646 | version = "0.2.92" 3647 | source = "registry+https://github.com/rust-lang/crates.io-index" 3648 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 3649 | dependencies = [ 3650 | "bumpalo", 3651 | "log", 3652 | "once_cell", 3653 | "proc-macro2", 3654 | "quote", 3655 | "syn 2.0.49", 3656 | "wasm-bindgen-shared", 3657 | ] 3658 | 3659 | [[package]] 3660 | name = "wasm-bindgen-futures" 3661 | version = "0.4.42" 3662 | source = "registry+https://github.com/rust-lang/crates.io-index" 3663 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 3664 | dependencies = [ 3665 | "cfg-if", 3666 | "js-sys", 3667 | "wasm-bindgen", 3668 | "web-sys", 3669 | ] 3670 | 3671 | [[package]] 3672 | name = "wasm-bindgen-macro" 3673 | version = "0.2.92" 3674 | source = "registry+https://github.com/rust-lang/crates.io-index" 3675 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 3676 | dependencies = [ 3677 | "quote", 3678 | "wasm-bindgen-macro-support", 3679 | ] 3680 | 3681 | [[package]] 3682 | name = "wasm-bindgen-macro-support" 3683 | version = "0.2.92" 3684 | source = "registry+https://github.com/rust-lang/crates.io-index" 3685 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 3686 | dependencies = [ 3687 | "proc-macro2", 3688 | "quote", 3689 | "syn 2.0.49", 3690 | "wasm-bindgen-backend", 3691 | "wasm-bindgen-shared", 3692 | ] 3693 | 3694 | [[package]] 3695 | name = "wasm-bindgen-shared" 3696 | version = "0.2.92" 3697 | source = "registry+https://github.com/rust-lang/crates.io-index" 3698 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 3699 | 3700 | [[package]] 3701 | name = "web-sys" 3702 | version = "0.3.69" 3703 | source = "registry+https://github.com/rust-lang/crates.io-index" 3704 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 3705 | dependencies = [ 3706 | "js-sys", 3707 | "wasm-bindgen", 3708 | ] 3709 | 3710 | [[package]] 3711 | name = "web-time" 3712 | version = "1.1.0" 3713 | source = "registry+https://github.com/rust-lang/crates.io-index" 3714 | checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 3715 | dependencies = [ 3716 | "js-sys", 3717 | "wasm-bindgen", 3718 | ] 3719 | 3720 | [[package]] 3721 | name = "wgpu" 3722 | version = "0.20.1" 3723 | source = "registry+https://github.com/rust-lang/crates.io-index" 3724 | checksum = "90e37c7b9921b75dfd26dd973fdcbce36f13dfa6e2dc82aece584e0ed48c355c" 3725 | dependencies = [ 3726 | "arrayvec", 3727 | "cfg-if", 3728 | "cfg_aliases 0.1.1", 3729 | "document-features", 3730 | "js-sys", 3731 | "log", 3732 | "naga", 3733 | "parking_lot", 3734 | "profiling", 3735 | "raw-window-handle", 3736 | "smallvec", 3737 | "static_assertions", 3738 | "wasm-bindgen", 3739 | "wasm-bindgen-futures", 3740 | "web-sys", 3741 | "wgpu-core", 3742 | "wgpu-hal", 3743 | "wgpu-types", 3744 | ] 3745 | 3746 | [[package]] 3747 | name = "wgpu-core" 3748 | version = "0.21.1" 3749 | source = "registry+https://github.com/rust-lang/crates.io-index" 3750 | checksum = "d50819ab545b867d8a454d1d756b90cd5f15da1f2943334ca314af10583c9d39" 3751 | dependencies = [ 3752 | "arrayvec", 3753 | "bit-vec", 3754 | "bitflags 2.6.0", 3755 | "cfg_aliases 0.1.1", 3756 | "codespan-reporting", 3757 | "document-features", 3758 | "indexmap", 3759 | "log", 3760 | "naga", 3761 | "once_cell", 3762 | "parking_lot", 3763 | "profiling", 3764 | "raw-window-handle", 3765 | "rustc-hash", 3766 | "smallvec", 3767 | "thiserror", 3768 | "web-sys", 3769 | "wgpu-hal", 3770 | "wgpu-types", 3771 | ] 3772 | 3773 | [[package]] 3774 | name = "wgpu-hal" 3775 | version = "0.21.1" 3776 | source = "registry+https://github.com/rust-lang/crates.io-index" 3777 | checksum = "172e490a87295564f3fcc0f165798d87386f6231b04d4548bca458cbbfd63222" 3778 | dependencies = [ 3779 | "android_system_properties", 3780 | "arrayvec", 3781 | "ash", 3782 | "bit-set", 3783 | "bitflags 2.6.0", 3784 | "block", 3785 | "cfg_aliases 0.1.1", 3786 | "core-graphics-types", 3787 | "d3d12", 3788 | "glow", 3789 | "glutin_wgl_sys", 3790 | "gpu-alloc", 3791 | "gpu-allocator", 3792 | "gpu-descriptor", 3793 | "hassle-rs", 3794 | "js-sys", 3795 | "khronos-egl", 3796 | "libc", 3797 | "libloading 0.8.1", 3798 | "log", 3799 | "metal", 3800 | "naga", 3801 | "ndk-sys 0.5.0+25.2.9519653", 3802 | "objc", 3803 | "once_cell", 3804 | "parking_lot", 3805 | "profiling", 3806 | "range-alloc", 3807 | "raw-window-handle", 3808 | "renderdoc-sys", 3809 | "rustc-hash", 3810 | "smallvec", 3811 | "thiserror", 3812 | "wasm-bindgen", 3813 | "web-sys", 3814 | "wgpu-types", 3815 | "winapi", 3816 | ] 3817 | 3818 | [[package]] 3819 | name = "wgpu-types" 3820 | version = "0.20.0" 3821 | source = "registry+https://github.com/rust-lang/crates.io-index" 3822 | checksum = "1353d9a46bff7f955a680577f34c69122628cc2076e1d6f3a9be6ef00ae793ef" 3823 | dependencies = [ 3824 | "bitflags 2.6.0", 3825 | "js-sys", 3826 | "web-sys", 3827 | ] 3828 | 3829 | [[package]] 3830 | name = "widestring" 3831 | version = "1.0.2" 3832 | source = "registry+https://github.com/rust-lang/crates.io-index" 3833 | checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" 3834 | 3835 | [[package]] 3836 | name = "winapi" 3837 | version = "0.3.9" 3838 | source = "registry+https://github.com/rust-lang/crates.io-index" 3839 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3840 | dependencies = [ 3841 | "winapi-i686-pc-windows-gnu", 3842 | "winapi-x86_64-pc-windows-gnu", 3843 | ] 3844 | 3845 | [[package]] 3846 | name = "winapi-i686-pc-windows-gnu" 3847 | version = "0.4.0" 3848 | source = "registry+https://github.com/rust-lang/crates.io-index" 3849 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3850 | 3851 | [[package]] 3852 | name = "winapi-util" 3853 | version = "0.1.6" 3854 | source = "registry+https://github.com/rust-lang/crates.io-index" 3855 | checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 3856 | dependencies = [ 3857 | "winapi", 3858 | ] 3859 | 3860 | [[package]] 3861 | name = "winapi-x86_64-pc-windows-gnu" 3862 | version = "0.4.0" 3863 | source = "registry+https://github.com/rust-lang/crates.io-index" 3864 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3865 | 3866 | [[package]] 3867 | name = "windows" 3868 | version = "0.52.0" 3869 | source = "registry+https://github.com/rust-lang/crates.io-index" 3870 | checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" 3871 | dependencies = [ 3872 | "windows-core 0.52.0", 3873 | "windows-targets 0.52.6", 3874 | ] 3875 | 3876 | [[package]] 3877 | name = "windows" 3878 | version = "0.54.0" 3879 | source = "registry+https://github.com/rust-lang/crates.io-index" 3880 | checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" 3881 | dependencies = [ 3882 | "windows-core 0.54.0", 3883 | "windows-implement", 3884 | "windows-interface", 3885 | "windows-targets 0.52.6", 3886 | ] 3887 | 3888 | [[package]] 3889 | name = "windows-core" 3890 | version = "0.52.0" 3891 | source = "registry+https://github.com/rust-lang/crates.io-index" 3892 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 3893 | dependencies = [ 3894 | "windows-targets 0.52.6", 3895 | ] 3896 | 3897 | [[package]] 3898 | name = "windows-core" 3899 | version = "0.54.0" 3900 | source = "registry+https://github.com/rust-lang/crates.io-index" 3901 | checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" 3902 | dependencies = [ 3903 | "windows-result", 3904 | "windows-targets 0.52.6", 3905 | ] 3906 | 3907 | [[package]] 3908 | name = "windows-implement" 3909 | version = "0.53.0" 3910 | source = "registry+https://github.com/rust-lang/crates.io-index" 3911 | checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" 3912 | dependencies = [ 3913 | "proc-macro2", 3914 | "quote", 3915 | "syn 2.0.49", 3916 | ] 3917 | 3918 | [[package]] 3919 | name = "windows-interface" 3920 | version = "0.53.0" 3921 | source = "registry+https://github.com/rust-lang/crates.io-index" 3922 | checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" 3923 | dependencies = [ 3924 | "proc-macro2", 3925 | "quote", 3926 | "syn 2.0.49", 3927 | ] 3928 | 3929 | [[package]] 3930 | name = "windows-result" 3931 | version = "0.1.2" 3932 | source = "registry+https://github.com/rust-lang/crates.io-index" 3933 | checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" 3934 | dependencies = [ 3935 | "windows-targets 0.52.6", 3936 | ] 3937 | 3938 | [[package]] 3939 | name = "windows-sys" 3940 | version = "0.45.0" 3941 | source = "registry+https://github.com/rust-lang/crates.io-index" 3942 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 3943 | dependencies = [ 3944 | "windows-targets 0.42.2", 3945 | ] 3946 | 3947 | [[package]] 3948 | name = "windows-sys" 3949 | version = "0.48.0" 3950 | source = "registry+https://github.com/rust-lang/crates.io-index" 3951 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3952 | dependencies = [ 3953 | "windows-targets 0.48.5", 3954 | ] 3955 | 3956 | [[package]] 3957 | name = "windows-sys" 3958 | version = "0.52.0" 3959 | source = "registry+https://github.com/rust-lang/crates.io-index" 3960 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 3961 | dependencies = [ 3962 | "windows-targets 0.52.6", 3963 | ] 3964 | 3965 | [[package]] 3966 | name = "windows-targets" 3967 | version = "0.42.2" 3968 | source = "registry+https://github.com/rust-lang/crates.io-index" 3969 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 3970 | dependencies = [ 3971 | "windows_aarch64_gnullvm 0.42.2", 3972 | "windows_aarch64_msvc 0.42.2", 3973 | "windows_i686_gnu 0.42.2", 3974 | "windows_i686_msvc 0.42.2", 3975 | "windows_x86_64_gnu 0.42.2", 3976 | "windows_x86_64_gnullvm 0.42.2", 3977 | "windows_x86_64_msvc 0.42.2", 3978 | ] 3979 | 3980 | [[package]] 3981 | name = "windows-targets" 3982 | version = "0.48.5" 3983 | source = "registry+https://github.com/rust-lang/crates.io-index" 3984 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3985 | dependencies = [ 3986 | "windows_aarch64_gnullvm 0.48.5", 3987 | "windows_aarch64_msvc 0.48.5", 3988 | "windows_i686_gnu 0.48.5", 3989 | "windows_i686_msvc 0.48.5", 3990 | "windows_x86_64_gnu 0.48.5", 3991 | "windows_x86_64_gnullvm 0.48.5", 3992 | "windows_x86_64_msvc 0.48.5", 3993 | ] 3994 | 3995 | [[package]] 3996 | name = "windows-targets" 3997 | version = "0.52.6" 3998 | source = "registry+https://github.com/rust-lang/crates.io-index" 3999 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 4000 | dependencies = [ 4001 | "windows_aarch64_gnullvm 0.52.6", 4002 | "windows_aarch64_msvc 0.52.6", 4003 | "windows_i686_gnu 0.52.6", 4004 | "windows_i686_gnullvm", 4005 | "windows_i686_msvc 0.52.6", 4006 | "windows_x86_64_gnu 0.52.6", 4007 | "windows_x86_64_gnullvm 0.52.6", 4008 | "windows_x86_64_msvc 0.52.6", 4009 | ] 4010 | 4011 | [[package]] 4012 | name = "windows_aarch64_gnullvm" 4013 | version = "0.42.2" 4014 | source = "registry+https://github.com/rust-lang/crates.io-index" 4015 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 4016 | 4017 | [[package]] 4018 | name = "windows_aarch64_gnullvm" 4019 | version = "0.48.5" 4020 | source = "registry+https://github.com/rust-lang/crates.io-index" 4021 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 4022 | 4023 | [[package]] 4024 | name = "windows_aarch64_gnullvm" 4025 | version = "0.52.6" 4026 | source = "registry+https://github.com/rust-lang/crates.io-index" 4027 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 4028 | 4029 | [[package]] 4030 | name = "windows_aarch64_msvc" 4031 | version = "0.42.2" 4032 | source = "registry+https://github.com/rust-lang/crates.io-index" 4033 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 4034 | 4035 | [[package]] 4036 | name = "windows_aarch64_msvc" 4037 | version = "0.48.5" 4038 | source = "registry+https://github.com/rust-lang/crates.io-index" 4039 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 4040 | 4041 | [[package]] 4042 | name = "windows_aarch64_msvc" 4043 | version = "0.52.6" 4044 | source = "registry+https://github.com/rust-lang/crates.io-index" 4045 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 4046 | 4047 | [[package]] 4048 | name = "windows_i686_gnu" 4049 | version = "0.42.2" 4050 | source = "registry+https://github.com/rust-lang/crates.io-index" 4051 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 4052 | 4053 | [[package]] 4054 | name = "windows_i686_gnu" 4055 | version = "0.48.5" 4056 | source = "registry+https://github.com/rust-lang/crates.io-index" 4057 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 4058 | 4059 | [[package]] 4060 | name = "windows_i686_gnu" 4061 | version = "0.52.6" 4062 | source = "registry+https://github.com/rust-lang/crates.io-index" 4063 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 4064 | 4065 | [[package]] 4066 | name = "windows_i686_gnullvm" 4067 | version = "0.52.6" 4068 | source = "registry+https://github.com/rust-lang/crates.io-index" 4069 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 4070 | 4071 | [[package]] 4072 | name = "windows_i686_msvc" 4073 | version = "0.42.2" 4074 | source = "registry+https://github.com/rust-lang/crates.io-index" 4075 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 4076 | 4077 | [[package]] 4078 | name = "windows_i686_msvc" 4079 | version = "0.48.5" 4080 | source = "registry+https://github.com/rust-lang/crates.io-index" 4081 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 4082 | 4083 | [[package]] 4084 | name = "windows_i686_msvc" 4085 | version = "0.52.6" 4086 | source = "registry+https://github.com/rust-lang/crates.io-index" 4087 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 4088 | 4089 | [[package]] 4090 | name = "windows_x86_64_gnu" 4091 | version = "0.42.2" 4092 | source = "registry+https://github.com/rust-lang/crates.io-index" 4093 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 4094 | 4095 | [[package]] 4096 | name = "windows_x86_64_gnu" 4097 | version = "0.48.5" 4098 | source = "registry+https://github.com/rust-lang/crates.io-index" 4099 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 4100 | 4101 | [[package]] 4102 | name = "windows_x86_64_gnu" 4103 | version = "0.52.6" 4104 | source = "registry+https://github.com/rust-lang/crates.io-index" 4105 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 4106 | 4107 | [[package]] 4108 | name = "windows_x86_64_gnullvm" 4109 | version = "0.42.2" 4110 | source = "registry+https://github.com/rust-lang/crates.io-index" 4111 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 4112 | 4113 | [[package]] 4114 | name = "windows_x86_64_gnullvm" 4115 | version = "0.48.5" 4116 | source = "registry+https://github.com/rust-lang/crates.io-index" 4117 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 4118 | 4119 | [[package]] 4120 | name = "windows_x86_64_gnullvm" 4121 | version = "0.52.6" 4122 | source = "registry+https://github.com/rust-lang/crates.io-index" 4123 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 4124 | 4125 | [[package]] 4126 | name = "windows_x86_64_msvc" 4127 | version = "0.42.2" 4128 | source = "registry+https://github.com/rust-lang/crates.io-index" 4129 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 4130 | 4131 | [[package]] 4132 | name = "windows_x86_64_msvc" 4133 | version = "0.48.5" 4134 | source = "registry+https://github.com/rust-lang/crates.io-index" 4135 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 4136 | 4137 | [[package]] 4138 | name = "windows_x86_64_msvc" 4139 | version = "0.52.6" 4140 | source = "registry+https://github.com/rust-lang/crates.io-index" 4141 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 4142 | 4143 | [[package]] 4144 | name = "winit" 4145 | version = "0.30.3" 4146 | source = "registry+https://github.com/rust-lang/crates.io-index" 4147 | checksum = "49f45a7b7e2de6af35448d7718dab6d95acec466eb3bb7a56f4d31d1af754004" 4148 | dependencies = [ 4149 | "android-activity", 4150 | "atomic-waker", 4151 | "bitflags 2.6.0", 4152 | "block2", 4153 | "bytemuck", 4154 | "calloop", 4155 | "cfg_aliases 0.2.1", 4156 | "concurrent-queue", 4157 | "core-foundation", 4158 | "core-graphics", 4159 | "cursor-icon", 4160 | "dpi", 4161 | "js-sys", 4162 | "libc", 4163 | "ndk 0.9.0", 4164 | "objc2", 4165 | "objc2-app-kit", 4166 | "objc2-foundation", 4167 | "objc2-ui-kit", 4168 | "orbclient", 4169 | "percent-encoding", 4170 | "pin-project", 4171 | "raw-window-handle", 4172 | "redox_syscall", 4173 | "rustix", 4174 | "smol_str", 4175 | "tracing", 4176 | "unicode-segmentation", 4177 | "wasm-bindgen", 4178 | "wasm-bindgen-futures", 4179 | "web-sys", 4180 | "web-time", 4181 | "windows-sys 0.52.0", 4182 | "x11-dl", 4183 | "x11rb", 4184 | "xkbcommon-dl", 4185 | ] 4186 | 4187 | [[package]] 4188 | name = "winnow" 4189 | version = "0.5.40" 4190 | source = "registry+https://github.com/rust-lang/crates.io-index" 4191 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 4192 | dependencies = [ 4193 | "memchr", 4194 | ] 4195 | 4196 | [[package]] 4197 | name = "winnow" 4198 | version = "0.6.13" 4199 | source = "registry+https://github.com/rust-lang/crates.io-index" 4200 | checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" 4201 | dependencies = [ 4202 | "memchr", 4203 | ] 4204 | 4205 | [[package]] 4206 | name = "x11-dl" 4207 | version = "2.21.0" 4208 | source = "registry+https://github.com/rust-lang/crates.io-index" 4209 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 4210 | dependencies = [ 4211 | "libc", 4212 | "once_cell", 4213 | "pkg-config", 4214 | ] 4215 | 4216 | [[package]] 4217 | name = "x11rb" 4218 | version = "0.13.0" 4219 | source = "registry+https://github.com/rust-lang/crates.io-index" 4220 | checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" 4221 | dependencies = [ 4222 | "as-raw-xcb-connection", 4223 | "gethostname", 4224 | "libc", 4225 | "libloading 0.8.1", 4226 | "once_cell", 4227 | "rustix", 4228 | "x11rb-protocol", 4229 | ] 4230 | 4231 | [[package]] 4232 | name = "x11rb-protocol" 4233 | version = "0.13.0" 4234 | source = "registry+https://github.com/rust-lang/crates.io-index" 4235 | checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" 4236 | 4237 | [[package]] 4238 | name = "xi-unicode" 4239 | version = "0.3.0" 4240 | source = "registry+https://github.com/rust-lang/crates.io-index" 4241 | checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" 4242 | 4243 | [[package]] 4244 | name = "xkbcommon-dl" 4245 | version = "0.4.2" 4246 | source = "registry+https://github.com/rust-lang/crates.io-index" 4247 | checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" 4248 | dependencies = [ 4249 | "bitflags 2.6.0", 4250 | "dlib", 4251 | "log", 4252 | "once_cell", 4253 | "xkeysym", 4254 | ] 4255 | 4256 | [[package]] 4257 | name = "xkeysym" 4258 | version = "0.2.0" 4259 | source = "registry+https://github.com/rust-lang/crates.io-index" 4260 | checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" 4261 | 4262 | [[package]] 4263 | name = "xml-rs" 4264 | version = "0.8.19" 4265 | source = "registry+https://github.com/rust-lang/crates.io-index" 4266 | checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" 4267 | 4268 | [[package]] 4269 | name = "zerocopy" 4270 | version = "0.7.32" 4271 | source = "registry+https://github.com/rust-lang/crates.io-index" 4272 | checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" 4273 | dependencies = [ 4274 | "zerocopy-derive", 4275 | ] 4276 | 4277 | [[package]] 4278 | name = "zerocopy-derive" 4279 | version = "0.7.32" 4280 | source = "registry+https://github.com/rust-lang/crates.io-index" 4281 | checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" 4282 | dependencies = [ 4283 | "proc-macro2", 4284 | "quote", 4285 | "syn 2.0.49", 4286 | ] 4287 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "moving-a-player" 3 | version = "0.1.0" 4 | edition = "2021" 5 | description = "A top-down game about moving a player" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | # bevy = { version = "0.7.0", features = ["dynamic"] } 11 | bevy = "0.14" 12 | # bevy_prototype_lyon = "0.8.0" 13 | dot32_intro = { git = "https://github.com/Dot32IsCool/dot32-intro-rs", rev = "8261c1d" } 14 | bevy_embedded_assets = "0.11" 15 | rand = "0.8.5" 16 | # bevy-inspector-egui = "0.21" 17 | 18 | [profile.release] 19 | # opt-level = 'z' # Optimize for size. 20 | lto = true # Enable Link Time Optimization 21 | codegen-units = 1 # Reduce number of codegen units to increase optimizations. 22 | panic = 'abort' # Abort on panic 23 | strip = true # Strip symbols from binary* 24 | 25 | [package.metadata.bundle] 26 | name = "Tiny Tank RS" 27 | identifier = "com.tinytank.rs" 28 | short_description = "A top-down shooter game" 29 | category = "Game" 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # bevy-moving-circle 2 | A yellow circle player controlled with arrow keys/WASD 3 | 4 | Screen Shot 2022-03-02 at 19 51 18 5 | 6 | ------- 7 | 8 | Now you can click to spawn orange cicles lmao 9 | 10 | ![orange circles](https://user-images.githubusercontent.com/61964090/156549764-9e1d14f2-c470-41de-8bb4-f180300b2d45.gif) 11 | 12 | (intense action packed gameplay) 13 | how fast can you lag your computer from too many circles 😎 14 | 15 | ------- 16 | 17 | Proper shooting now implemented: found out how to spawn entities with components that hold values, bullets now store their direction when placed and have an update system to move them every frame. 18 | 19 | ![shooting2](https://user-images.githubusercontent.com/61964090/159148223-90061417-b1b5-4fef-841b-68e9f3a1c8c1.gif) 20 | 21 | ------- 22 | 23 | Nicer colours, fixed update, and a rotating turret that faces the player! 24 | 25 | ![ezgif-3-4c43aa534a](https://user-images.githubusercontent.com/61964090/162556963-b89d8634-231e-4d81-9646-fe7e940326c1.gif) 26 | 27 | ------- 28 | 29 | Added my intro (which i made as a rust library, [see repo here](https://github.com/Dot32IsCool/dot32-intro-rs)
30 | Installation was as simple as 31 | ```toml 32 | [Dependencies] 33 | dot32_intro = { git = "https://github.com/Dot32IsCool/dot32-intro-rs"} 34 | ``` 35 | ![image of intro animation](https://user-images.githubusercontent.com/61964090/168785042-728b8934-35aa-4af1-9c49-8634f00d8ce3.gif) 36 | 37 | ------- 38 | 39 | Added AI and healthbars! 40 | 41 | Screen Shot 2022-08-01 at 18 34 08 42 | -------------------------------------------------------------------------------- /assets/ShotsFired.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/ShotsFired.ogg -------------------------------------------------------------------------------- /assets/ShotsFiredDeep.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/ShotsFiredDeep.ogg -------------------------------------------------------------------------------- /assets/TankHit.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/TankHit.ogg -------------------------------------------------------------------------------- /assets/TankHitDeep.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/TankHitDeep.ogg -------------------------------------------------------------------------------- /assets/WallHit.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/WallHit.ogg -------------------------------------------------------------------------------- /assets/WallHitDeep.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/WallHitDeep.ogg -------------------------------------------------------------------------------- /assets/fonts/PT_Sans/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, ParaType Ltd. (http://www.paratype.com/public), 2 | with Reserved Font Names "PT Sans" and "ParaType". 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide 15 | development of collaborative font projects, to support the font creation 16 | efforts of academic and linguistic communities, and to provide a free and 17 | open framework in which fonts may be shared and improved in partnership 18 | with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. The 22 | fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply 27 | to any document created using the fonts or their derivatives. 28 | 29 | DEFINITIONS 30 | "Font Software" refers to the set of files released by the Copyright 31 | Holder(s) under this license and clearly marked as such. This may 32 | include source files, build scripts and documentation. 33 | 34 | "Reserved Font Name" refers to any names specified as such after the 35 | copyright statement(s). 36 | 37 | "Original Version" refers to the collection of Font Software components as 38 | distributed by the Copyright Holder(s). 39 | 40 | "Modified Version" refers to any derivative made by adding to, deleting, 41 | or substituting -- in part or in whole -- any of the components of the 42 | Original Version, by changing formats or by porting the Font Software to a 43 | new environment. 44 | 45 | "Author" refers to any designer, engineer, programmer, technical 46 | writer or other person who contributed to the Font Software. 47 | 48 | PERMISSION & CONDITIONS 49 | Permission is hereby granted, free of charge, to any person obtaining 50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 51 | redistribute, and sell modified and unmodified copies of the Font 52 | Software, subject to the following conditions: 53 | 54 | 1) Neither the Font Software nor any of its individual components, 55 | in Original or Modified Versions, may be sold by itself. 56 | 57 | 2) Original or Modified Versions of the Font Software may be bundled, 58 | redistributed and/or sold with any software, provided that each copy 59 | contains the above copyright notice and this license. These can be 60 | included either as stand-alone text files, human-readable headers or 61 | in the appropriate machine-readable metadata fields within text or 62 | binary files as long as those fields can be easily viewed by the user. 63 | 64 | 3) No Modified Version of the Font Software may use the Reserved Font 65 | Name(s) unless explicit written permission is granted by the corresponding 66 | Copyright Holder. This restriction only applies to the primary font name as 67 | presented to the users. 68 | 69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 70 | Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except to acknowledge the contribution(s) of the 72 | Copyright Holder(s) and the Author(s) or with their explicit written 73 | permission. 74 | 75 | 5) The Font Software, modified or unmodified, in part or in whole, 76 | must be distributed entirely under this license, and must not be 77 | distributed under any other license. The requirement for fonts to 78 | remain under this license does not apply to any document created 79 | using the Font Software. 80 | 81 | TERMINATION 82 | This license becomes null and void if any of the above conditions are 83 | not met. 84 | 85 | DISCLAIMER 86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 94 | OTHER DEALINGS IN THE FONT SOFTWARE. 95 | -------------------------------------------------------------------------------- /assets/fonts/PT_Sans/PTSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/PT_Sans/PTSans-Bold.ttf -------------------------------------------------------------------------------- /assets/fonts/PT_Sans/PTSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/PT_Sans/PTSans-BoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/PT_Sans/PTSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/PT_Sans/PTSans-Italic.ttf -------------------------------------------------------------------------------- /assets/fonts/PT_Sans/PTSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/PT_Sans/PTSans-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Pablo Impallari, Rodrigo Fuenzalida (Modified by Dan O. Williams and USWDS) (https://github.com/uswds/public-sans) 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: 5 | http://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/PublicSans-Italic-VariableFont_wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/PublicSans-Italic-VariableFont_wght.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/PublicSans-VariableFont_wght.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/PublicSans-VariableFont_wght.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/README.txt: -------------------------------------------------------------------------------- 1 | Public Sans Variable Font 2 | ========================= 3 | 4 | This download contains Public Sans as both variable fonts and static fonts. 5 | 6 | Public Sans is a variable font with this axis: 7 | wght 8 | 9 | This means all the styles are contained in these files: 10 | PublicSans-VariableFont_wght.ttf 11 | PublicSans-Italic-VariableFont_wght.ttf 12 | 13 | If your app fully supports variable fonts, you can now pick intermediate styles 14 | that aren’t available as static fonts. Not all apps support variable fonts, and 15 | in those cases you can use the static font files for Public Sans: 16 | static/PublicSans-Thin.ttf 17 | static/PublicSans-ExtraLight.ttf 18 | static/PublicSans-Light.ttf 19 | static/PublicSans-Regular.ttf 20 | static/PublicSans-Medium.ttf 21 | static/PublicSans-SemiBold.ttf 22 | static/PublicSans-Bold.ttf 23 | static/PublicSans-ExtraBold.ttf 24 | static/PublicSans-Black.ttf 25 | static/PublicSans-ThinItalic.ttf 26 | static/PublicSans-ExtraLightItalic.ttf 27 | static/PublicSans-LightItalic.ttf 28 | static/PublicSans-Italic.ttf 29 | static/PublicSans-MediumItalic.ttf 30 | static/PublicSans-SemiBoldItalic.ttf 31 | static/PublicSans-BoldItalic.ttf 32 | static/PublicSans-ExtraBoldItalic.ttf 33 | static/PublicSans-BlackItalic.ttf 34 | 35 | Get started 36 | ----------- 37 | 38 | 1. Install the font files you want to use 39 | 40 | 2. Use your app's font picker to view the font family and all the 41 | available styles 42 | 43 | Learn more about variable fonts 44 | ------------------------------- 45 | 46 | https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts 47 | https://variablefonts.typenetwork.com 48 | https://medium.com/variable-fonts 49 | 50 | In desktop apps 51 | 52 | https://theblog.adobe.com/can-variable-fonts-illustrator-cc 53 | https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts 54 | 55 | Online 56 | 57 | https://developers.google.com/fonts/docs/getting_started 58 | https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide 59 | https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts 60 | 61 | Installing fonts 62 | 63 | MacOS: https://support.apple.com/en-us/HT201749 64 | Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux 65 | Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows 66 | 67 | Android Apps 68 | 69 | https://developers.google.com/fonts/docs/android 70 | https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts 71 | 72 | License 73 | ------- 74 | Please read the full license text (OFL.txt) to understand the permissions, 75 | restrictions and requirements for usage, redistribution, and modification. 76 | 77 | You can use them freely in your products & projects - print or digital, 78 | commercial or otherwise. However, you can't sell the fonts on their own. 79 | 80 | This isn't legal advice, please consider consulting a lawyer and see the full 81 | license for all details. 82 | -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Black.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-BlackItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Bold.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-BoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-ExtraBold.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-ExtraLight.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Italic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Light.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-LightItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Medium.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-MediumItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Regular.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-SemiBold.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-Thin.ttf -------------------------------------------------------------------------------- /assets/fonts/Public_Sans/static/PublicSans-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dot32Dev/bevy-moving-circle/4e148392edbd1735e62343e0c7c3a65cdf2d525d/assets/fonts/Public_Sans/static/PublicSans-ThinItalic.ttf -------------------------------------------------------------------------------- /src/healthbars.rs: -------------------------------------------------------------------------------- 1 | use bevy::prelude::*; 2 | use bevy::window::*; 3 | use bevy::sprite::Mesh2dHandle; 4 | use crate::utils::Health; 5 | 6 | pub const HEALTHBAR_Y_OFFSET: f32 = 40.0; 7 | 8 | pub const HEALTHBAR_WIDTH: f32 = 60.0; 9 | pub const HEALTHBAR_BORDER_HEIGHT: f32 = 15.0; 10 | 11 | pub const HEALTHBAR_HEIGHT: f32 = HEALTHBAR_BORDER_HEIGHT/2.0; 12 | pub const HEALTHBAR_BORDER_THICKNESS: f32 = HEALTHBAR_BORDER_HEIGHT/4.0; // The width of the "outline" around the inner border 13 | 14 | #[derive(Component)] 15 | pub struct Healthbar; 16 | 17 | #[derive(Component)] 18 | pub struct HealthbarBorder; 19 | 20 | pub enum Side { 21 | Right, 22 | Left 23 | } 24 | 25 | #[derive(Component)] 26 | pub struct HealthbarSide(pub Side); 27 | 28 | #[derive(Component)] 29 | pub struct MaxHealth(pub u8); 30 | 31 | // A system to automatically find parents of the healthbar, read their health and update the healthbar 32 | pub fn update_healthbar( 33 | healthbar_parents: Query<&Health>, 34 | mut healthbars: Query<(&mut Transform, &mut Sprite, &MaxHealth, &Parent), With> 35 | ) { 36 | for (mut transform, mut sprite, max_health, parent) in healthbars.iter_mut() { 37 | // We have the healthbar's components 38 | if let Ok(health) = healthbar_parents.get(parent.get()) { 39 | // We have the health of the healthbar's parent 40 | let health_percentage = health.value as f32 / max_health.0 as f32; 41 | let inner_healthbar_width = health_percentage * HEALTHBAR_WIDTH; 42 | 43 | // Set the width to the calculated width 44 | transform.scale.x = inner_healthbar_width; 45 | // The keep_healthbars_on_screen system handles the healthbar's translation, so we don't need to update it here 46 | // Set the colour. 150 is the hue for green. 47 | sprite.color = Color::hsl(health_percentage * 150.0, 0.98, 0.58); 48 | } 49 | } 50 | } 51 | 52 | // Update the border backgrounds's colour 53 | pub fn update_healthbar_border( 54 | healthbar_parents: Query<(&Health, &Children)>, 55 | mut healthbar_borders: Query<(&mut Sprite, &Parent), With>, 56 | healthbars: Query<&MaxHealth, With>, 57 | ) { 58 | for (mut sprite, parent) in healthbar_borders.iter_mut() { 59 | // We have the healthbar's components 60 | if let Ok((health, children)) = healthbar_parents.get(parent.get()) { 61 | // We got the parent's health and children 62 | // In order to calculate the border background's colour, we must know the maximum health. 63 | // Unfortunately, only the healthbar entity has this component. We must search through the 64 | // border's parent's children to find the healthbar entity and its max-health! Yes, this is probably stupid. 65 | for &child in children.iter() { 66 | if let Ok(max_health) = healthbars.get(child) { 67 | // We have the max health! 68 | let health_percentage = health.value as f32 / max_health.0 as f32; 69 | // Set the colour. 150 is the hue for green. 70 | sprite.color = Color::hsl(health_percentage * 150.0, 0.73, 0.48); 71 | } 72 | } 73 | } 74 | } 75 | } 76 | 77 | // Update the side-circles of the healthbar/healthbarborder 78 | pub fn update_healthbar_sides( 79 | mut materials: ResMut>, 80 | bars: Query<(&Transform, &Sprite), Without>, 81 | mut sides: Query<(&mut Transform, &Handle, &Parent, &HealthbarSide)> 82 | ) { 83 | for (mut transform, material_handle, parent, side) in sides.iter_mut() { 84 | // We have the side circle's components 85 | if let Ok((parent_transform, parent_sprite)) = bars.get(parent.get()) { 86 | // We now have the transform and sprite of the side circle's parent 87 | // We make the circle just as wide as it is high 88 | transform.scale.x = parent_transform.scale.y / parent_transform.scale.x; 89 | // We move the circle to the left or the right of its parent 90 | match side.0 { 91 | Side::Right => transform.translation.x = 0.5, 92 | Side::Left => transform.translation.x = -0.5, 93 | } 94 | // We update the circle's colour 95 | let material = materials.get_mut(material_handle.id()).unwrap(); 96 | material.color = parent_sprite.color; 97 | } 98 | } 99 | } 100 | 101 | // This system handles the relative location of the healthbar to the player, such as ensuring the 102 | // healthbar doesn't go off-screen, and ensuring the inner healthbar stays left-aligned. 103 | pub fn keep_healthbars_on_screen( 104 | mut healthbar: Query<(&mut Transform, &GlobalTransform), (With, Without)>, 105 | mut healthbar_border: Query<(&mut Transform, &GlobalTransform), (With, Without)>, 106 | primary_window: Query<&Window, With> 107 | ) { 108 | let Ok(window) = primary_window.get_single() else { 109 | return; 110 | 111 | }; 112 | // Rather than using the constant HEALTHBAR_BORDER_HEIGHT, from which these constants are 113 | // calculated from, we use these constants themselves. This means they could changed independently 114 | // of the border height constant, and this system would continue to function. This height is 115 | // calculated as being the height of the healthbars border, and is used for both the border 116 | // and the inner health bar's calculations, as we want the inner healthbar to stop moving when the 117 | // border stops moving as well. 118 | let healthbar_height = HEALTHBAR_HEIGHT + HEALTHBAR_BORDER_THICKNESS*2.0; 119 | // The point at which the healthbars must update their transform is given by half of the screen 120 | // height and subtracting half of the healthbar's height. Transforms in Bevy are centred. 121 | let ceiling = window.height()/2.0 -healthbar_height/2.0; 122 | // Now we calculate the same for the right edge. The left edge can be inferred by taking the 123 | // negative of the right edge. 124 | let total_healthbar_width = HEALTHBAR_WIDTH + healthbar_height; 125 | let right_edge = window.width()/2.0 - total_healthbar_width/2.0; 126 | 127 | // Loop over all the inner healthbars 128 | for (mut transform, global_transform) in healthbar.iter_mut() { 129 | // Calculate the healthbar parents's Y position by subtracting the relative position from the global position 130 | let parent_y = global_transform.translation().y - transform.translation.y; 131 | // `(ceiling - parent_y)` calculates the maximum height the healthbar could go to, relative to the parent. 132 | // The min function returns the smallest of its two inputs. If the parent + HEALTHBAR_Y_OFFSET is less than the 133 | // top of the screen, the healthbar will go there, otherwise the healthbar will go to the top of the screen. This 134 | // essentially snaps the healthbar to the top of the screen whenever the parent goes too high. 135 | transform.translation.y = (HEALTHBAR_Y_OFFSET).min(ceiling - parent_y); 136 | 137 | // As the healthbar loses health, the "inner healthbar" shrinks in width. If we want it to remain left-aligned 138 | // rather than centred, we have to apply an offset to its X position. 139 | let x_offset = (HEALTHBAR_WIDTH - transform.scale.x)/2.0; 140 | // Here, something similar is done, except with the X. `right_edge-parent_x` calculates the distance from the 141 | // parent to the right edge, and `-right_edge-parent_x` calculates the difference to the left edge. (The left 142 | // edge is the opposite (negative) of the right edge). Normally, we want the X offset from the parent to be 0, 143 | // but if the distance to the right edge os negative, then we would rather be there. If the distance to the 144 | // left egde is positive, then we would rather be there. Finally we subtract the x_offset to position the bar 145 | // appropriately. The reason that the x_offset isn't placed within the brackets to be .min()'ed and .max()'ed 146 | // is that we want this inner bar to stay put relative to the healthbar border. We shift it as if it were the 147 | // same as the border. 148 | let parent_x = global_transform.translation().x - transform.translation.x; 149 | transform.translation.x = (0.0_f32).min(right_edge-parent_x).max(-right_edge-parent_x) - x_offset; 150 | } 151 | // Loop over all the healthbar borders 152 | for (mut transform, global_transform) in healthbar_border.iter_mut() { 153 | // This is exactly the same as with the inner healthbar 154 | let parent_y = global_transform.translation().y - transform.translation.y; 155 | transform.translation.y = (HEALTHBAR_Y_OFFSET).min(ceiling - parent_y); 156 | 157 | // Similar to the inner healthbar, but without an X offset 158 | let parent_x = global_transform.translation().x - transform.translation.x; 159 | transform.translation.x = (0.0_f32).min(right_edge-parent_x).max(-right_edge-parent_x); 160 | } 161 | } 162 | 163 | #[derive(Bundle)] 164 | pub struct HealthbarBundle { 165 | healthbar: Healthbar, 166 | sprite_bundle: SpriteBundle, // Sprite Bundle gives the healthbar its "rectangle" 167 | max_health: MaxHealth, 168 | } 169 | 170 | impl HealthbarBundle { 171 | // This creates a new default healthbar 172 | // Usefull because we can just do commands.spawn(HealthbarBundle.new(5)) 173 | pub fn new(max_health: u8) -> HealthbarBundle { 174 | HealthbarBundle { 175 | sprite_bundle: SpriteBundle { 176 | sprite: Sprite { 177 | color: Color::hsl(150.0, 0.98, 0.58), 178 | ..default() 179 | }, 180 | transform: Transform { 181 | scale: Vec3::new(HEALTHBAR_WIDTH, HEALTHBAR_HEIGHT, 0.), 182 | translation: Vec3::new(0.0, HEALTHBAR_Y_OFFSET, 1.0), 183 | ..default() 184 | }, 185 | ..default() 186 | }, 187 | healthbar: Healthbar, 188 | max_health: MaxHealth(max_health), 189 | } 190 | } 191 | } 192 | 193 | // For the background/border of the healthbar 194 | #[derive(Bundle)] 195 | pub struct HealthbarBorderBundle { 196 | sprite_bundle: SpriteBundle, 197 | healthbar_border: HealthbarBorder, 198 | } 199 | 200 | impl HealthbarBorderBundle { 201 | // Creates a default healthbar border 202 | pub fn new() -> HealthbarBorderBundle { 203 | HealthbarBorderBundle { 204 | sprite_bundle: SpriteBundle { 205 | sprite: Sprite { 206 | color: Color::hsl(150.0, 0.73, 0.48), 207 | ..default() 208 | }, 209 | transform: Transform { 210 | scale: Vec3::new( 211 | HEALTHBAR_WIDTH, 212 | HEALTHBAR_HEIGHT + HEALTHBAR_BORDER_THICKNESS * 2.0, 213 | 0.0, 214 | ), 215 | translation: Vec3::new(0.0, HEALTHBAR_Y_OFFSET, 0.5), 216 | ..default() 217 | }, 218 | ..default() 219 | }, 220 | healthbar_border: HealthbarBorder, 221 | } 222 | } 223 | } 224 | 225 | #[derive(Bundle)] 226 | pub struct HealthbarSideBundle { 227 | material_bundle: bevy::sprite::MaterialMesh2dBundle, 228 | healthbar_side: HealthbarSide, 229 | } 230 | 231 | impl HealthbarSideBundle { 232 | pub fn new( 233 | meshes: &mut ResMut>, 234 | materials: &mut ResMut>, 235 | side: Side, 236 | ) -> HealthbarSideBundle { 237 | HealthbarSideBundle { 238 | material_bundle: bevy::sprite::MaterialMesh2dBundle { 239 | mesh: Mesh2dHandle(meshes.add(Circle { radius: 0.5 })), 240 | material: materials.add(Color::NONE), 241 | transform: Transform { 242 | translation: Vec3::new(0.0, 0.0, 0.1), 243 | ..default() 244 | }, 245 | ..default() 246 | }, 247 | healthbar_side: HealthbarSide(side), 248 | } 249 | } 250 | } -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- 1 | #![windows_subsystem = "windows"] 2 | 3 | // TODO: Ai only dodge when there are player bullets in the scene? 4 | // TODO: Ai Rush player when health is low? 5 | // TODO: Ai only shoot when player is in sight? 6 | // TODO: Ai run away when their health is low? 7 | // TODO: Add respawn button when you die https://github.com/bevyengine/bevy/blob/main/examples/ui/button.rs 8 | // TODO: Add k/d ratio at the top of the screen 9 | // TODO: Rounded corners UI 10 | 11 | use bevy::{ 12 | ecs::system::RunSystemOnce, 13 | prelude::*, 14 | render::camera::ScalingMode, 15 | sprite::{MaterialMesh2dBundle, Mesh2dHandle}, 16 | window::*, 17 | }; 18 | 19 | use bevy_embedded_assets::EmbeddedAssetPlugin; 20 | use dot32_intro::*; 21 | use rand::Rng; 22 | use std::env; // Detect OS for OS specific keybinds 23 | // use bevy_inspector_egui::{WorldInspectorPlugin, RegisterInspectable, WorldInspectorParams}; 24 | // use bevy_inspector_egui::quick::WorldInspectorPlugin; 25 | mod utils; 26 | use crate::utils::Health; 27 | 28 | mod tanks; 29 | use tanks::*; 30 | 31 | mod sound; 32 | use sound::*; 33 | 34 | mod healthbars; 35 | use healthbars::*; 36 | pub const MAX_HEALTH: u8 = 5; 37 | 38 | const TIME_STEP: f64 = 1.0 / 60.0; // FPS 39 | const MUTE: bool = false; 40 | 41 | const BULLET_SIZE: f32 = 6.0; 42 | const KNOCKBACK: f32 = 5.0; 43 | 44 | const GAME_WIDTH: f32 = 800.0; 45 | const GAME_HEIGHT: f32 = 600.0; 46 | 47 | fn main() { 48 | App::new() 49 | .add_plugins( 50 | DefaultPlugins 51 | .set(WindowPlugin { 52 | primary_window: Some(Window { 53 | title: "Tiny Tank (Bevy Edition)".into(), 54 | resolution: WindowResolution::new( 55 | GAME_WIDTH, 56 | GAME_HEIGHT, 57 | ), 58 | present_mode: PresentMode::Fifo, 59 | ..default() 60 | }), 61 | ..default() 62 | }) 63 | .build(), 64 | ) 65 | .init_state::() 66 | .add_plugins(EmbeddedAssetPlugin::default()) 67 | .insert_resource(ClearColor(Color::srgb(0.49, 0.31, 0.25))) 68 | .insert_resource(AiKilled { score: 0 }) 69 | .add_systems(Startup, (create_player, create_enemy, setup)) 70 | // Game systems 71 | .add_systems( 72 | Update, 73 | ( 74 | mouse_button_input, 75 | ai_rotate, 76 | keep_tanks_on_screen, 77 | keep_healthbars_on_screen, 78 | kill_bullets, 79 | hurt_tanks, 80 | collide_tanks, 81 | update_kills_text, 82 | update_healthbar, 83 | update_healthbar_border, 84 | update_healthbar_sides, 85 | pause_system, 86 | update_hit_timer, 87 | flash_yellow, 88 | button_system, 89 | ) 90 | .run_if(in_state(AppState::Game)), 91 | ) 92 | // Pause systems 93 | .add_systems( 94 | Update, 95 | (update_healthbar_sides, unpause_system) 96 | .run_if(in_state(AppState::Paused)), 97 | ) 98 | // Fixed-update game systems 99 | .add_systems( 100 | FixedUpdate, 101 | (update_bullets, movement, ai_movement) 102 | .run_if(in_state(AppState::Game)), 103 | ) 104 | .insert_resource(Time::::from_seconds(TIME_STEP)) 105 | // .add_plugins(WorldInspectorPlugin::new()) 106 | .add_plugins(Intro) 107 | .run(); 108 | } 109 | 110 | fn setup(mut commands: Commands, asset_server: Res) { 111 | // commands.spawn(Camera2dBundle::default()); 112 | commands.spawn(( 113 | Camera2dBundle { 114 | transform: Transform::from_xyz(0.0, 0.0, 100.0), 115 | tonemapping: bevy::core_pipeline::tonemapping::Tonemapping::None, 116 | // camera: Camera { 117 | // ..default() 118 | // }, 119 | projection: OrthographicProjection { 120 | scaling_mode: ScalingMode::AutoMin { 121 | min_width: GAME_WIDTH, 122 | min_height: GAME_HEIGHT, 123 | }, 124 | ..default() 125 | }, 126 | ..default() 127 | }, 128 | // bevy::render::view::ColorGrading { 129 | // exposure: 0.0, 130 | // gamma: 1.0, 131 | // pre_saturation: 1.0, 132 | // post_saturation: 1.0, 133 | // }, 134 | )); 135 | // println!("{}", env::consts::OS); // Prints the current OS. 136 | 137 | // Spawn rectangle as background 138 | commands 139 | .spawn(SpriteBundle { 140 | sprite: Sprite { 141 | color: Color::srgb(0.7, 0.55, 0.41), 142 | custom_size: Some(Vec2::new(GAME_WIDTH, GAME_HEIGHT)), 143 | ..default() 144 | }, 145 | transform: Transform::from_translation(Vec3::new(0.0, 0.0, -30.0)), 146 | ..default() 147 | }) 148 | .insert(Name::new("Background")); 149 | 150 | commands 151 | .spawn(NodeBundle { 152 | style: Style { 153 | width: Val::Percent(100.0), 154 | height: Val::Percent(10.0), 155 | align_items: AlignItems::Center, 156 | justify_content: JustifyContent::Center, 157 | column_gap: Val::Px(10.0), 158 | ..default() 159 | }, 160 | ..default() 161 | }) 162 | .with_children(|parent| { 163 | parent 164 | .spawn(( 165 | ButtonBundle { 166 | style: Style { 167 | width: Val::Px(120.0), 168 | height: Val::Px(40.0), 169 | border: UiRect::all(Val::Px(1.0)), 170 | // horizontally center child text 171 | justify_content: JustifyContent::Center, 172 | // vertically center child text 173 | align_items: AlignItems::Center, 174 | ..default() 175 | }, 176 | border_color: BorderColor(Color::WHITE), 177 | border_radius: BorderRadius::MAX, 178 | background_color: Color::srgb(0., 0., 0.).into(), 179 | ..default() 180 | }, 181 | Name::new("Spawn player button"), 182 | )) 183 | .with_children(|parent| { 184 | parent.spawn(TextBundle::from_section( 185 | "Spawn Player", 186 | TextStyle { 187 | font: asset_server 188 | .load("fonts/PT_Sans/PTSans-Regular.ttf"), 189 | font_size: 20.0, 190 | color: Color::srgb(0.9, 0.9, 0.9), 191 | }, 192 | )); 193 | }); 194 | parent 195 | .spawn(( 196 | ButtonBundle { 197 | style: Style { 198 | width: Val::Px(120.0), 199 | height: Val::Px(40.0), 200 | border: UiRect::all(Val::Px(1.0)), 201 | // horizontally center child text 202 | justify_content: JustifyContent::Center, 203 | // vertically center child text 204 | align_items: AlignItems::Center, 205 | ..default() 206 | }, 207 | border_color: BorderColor(Color::WHITE), 208 | border_radius: BorderRadius::MAX, 209 | background_color: Color::srgb(0., 0., 0.).into(), 210 | ..default() 211 | }, 212 | Name::new("Spawn AI button"), 213 | )) 214 | .with_children(|parent| { 215 | parent.spawn(TextBundle::from_section( 216 | "Spawn AI", 217 | TextStyle { 218 | font: asset_server 219 | .load("fonts/PT_Sans/PTSans-Regular.ttf"), 220 | font_size: 20.0, 221 | color: Color::srgb(0.9, 0.9, 0.9), 222 | }, 223 | )); 224 | }); 225 | }); 226 | 227 | commands.add(|world: &mut World| { 228 | world.run_system_once(create_enemy); 229 | }) 230 | } 231 | 232 | #[derive(Debug, Clone, Copy, Default, Eq, PartialEq, Hash, States)] 233 | enum AppState { 234 | #[default] 235 | Paused, 236 | Game, 237 | } 238 | 239 | enum TurretOf { 240 | Player, 241 | Ai, 242 | } 243 | 244 | #[derive(Component)] 245 | struct Bullet { 246 | from: TurretOf, 247 | } 248 | 249 | #[derive(Component)] 250 | struct KillsText; 251 | 252 | #[derive(Component)] 253 | struct Direction { 254 | dir: Vec2, 255 | } 256 | 257 | #[derive(Resource)] 258 | struct AiKilled { 259 | score: u8, 260 | } 261 | 262 | fn create_player( 263 | mut commands: Commands, 264 | 265 | mut meshes: ResMut>, 266 | mut materials: ResMut>, 267 | ) { 268 | commands 269 | .spawn(TankBundle::new(&mut meshes, &mut materials, 4)) // "4" is the amount of health we spawn the tank with 270 | .insert(Player) 271 | .insert(Name::new("Player")) 272 | .with_children(|parent| { 273 | parent 274 | .spawn(( 275 | MaterialMesh2dBundle { 276 | mesh: Mesh2dHandle(meshes.add(Circle { radius: 16.0 })), 277 | material: materials.add(Color::srgb(0.35, 0.6, 0.99)), 278 | transform: Transform::from_xyz(0.0, 0.0, 0.1), 279 | ..Default::default() 280 | }, 281 | OriginalColour(Color::srgb(0.35, 0.6, 0.99)), 282 | )) 283 | .with_children(|parent| { 284 | parent.spawn(BearingBundle::new()).with_children( 285 | |parent| { 286 | parent.spawn(TurretBundle::new()); 287 | }, 288 | ); 289 | }); 290 | parent 291 | .spawn(HealthbarBundle::new(4)) // "4" is the max health 292 | .with_children(|parent| { 293 | parent.spawn(HealthbarSideBundle::new( 294 | &mut meshes, 295 | &mut materials, 296 | Side::Left, 297 | )); 298 | parent.spawn(HealthbarSideBundle::new( 299 | &mut meshes, 300 | &mut materials, 301 | Side::Right, 302 | )); 303 | }); 304 | parent.spawn(HealthbarBorderBundle::new()).with_children( 305 | |parent| { 306 | parent.spawn(HealthbarSideBundle::new( 307 | &mut meshes, 308 | &mut materials, 309 | Side::Left, 310 | )); 311 | parent.spawn(HealthbarSideBundle::new( 312 | &mut meshes, 313 | &mut materials, 314 | Side::Right, 315 | )); 316 | }, 317 | ); 318 | }); 319 | } 320 | 321 | fn create_enemy( 322 | mut commands: Commands, 323 | 324 | mut meshes: ResMut>, 325 | mut materials: ResMut>, 326 | ) { 327 | commands 328 | .spawn(TankBundle::new(&mut meshes, &mut materials, 4)) // "4" is the amount of health we spawn the tank with 329 | .insert(AiBundle::new()) 330 | .insert(Name::new("Enemy")) 331 | .with_children(|parent| { 332 | parent 333 | .spawn(( 334 | MaterialMesh2dBundle { 335 | mesh: Mesh2dHandle(meshes.add(Circle { radius: 16.0 })), 336 | material: materials.add(Color::srgb(0.89, 0.56, 0.26)), 337 | transform: Transform::from_xyz(0.0, 0.0, 0.1), 338 | ..Default::default() 339 | }, 340 | OriginalColour(Color::srgb(0.89, 0.56, 0.26)), 341 | )) 342 | .with_children(|parent| { 343 | parent.spawn(BearingBundle::new()).with_children( 344 | |parent| { 345 | parent.spawn(TurretBundle::new()); 346 | }, 347 | ); 348 | }); 349 | parent 350 | .spawn(HealthbarBundle::new(4)) // "4" is the max health 351 | .with_children(|parent| { 352 | parent.spawn(HealthbarSideBundle::new( 353 | &mut meshes, 354 | &mut materials, 355 | Side::Left, 356 | )); 357 | parent.spawn(HealthbarSideBundle::new( 358 | &mut meshes, 359 | &mut materials, 360 | Side::Right, 361 | )); 362 | }); 363 | parent.spawn(HealthbarBorderBundle::new()).with_children( 364 | |parent| { 365 | parent.spawn(HealthbarSideBundle::new( 366 | &mut meshes, 367 | &mut materials, 368 | Side::Left, 369 | )); 370 | parent.spawn(HealthbarSideBundle::new( 371 | &mut meshes, 372 | &mut materials, 373 | Side::Right, 374 | )); 375 | }, 376 | ); 377 | }); 378 | } 379 | 380 | fn movement( 381 | keyboard_input: Res>, 382 | mut positions: Query<(&mut Transform, &mut Velocity), With>, 383 | time: Res