A multiplayer VR framework w/voice chat

switch to unity rust was giving me a headache

phaz.uk 0c721cd8 22b26ec0

verified
+2 -1
.gitignore
··· 1 - target/ 1 + target/ 2 + .env
+9 -5466
Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 - name = "ab_glyph" 7 - version = "0.2.32" 8 - source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2" 10 - dependencies = [ 11 - "ab_glyph_rasterizer", 12 - "owned_ttf_parser", 13 - ] 14 - 15 - [[package]] 16 - name = "ab_glyph_rasterizer" 17 - version = "0.1.10" 18 - source = "registry+https://github.com/rust-lang/crates.io-index" 19 - checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" 20 - 21 - [[package]] 22 - name = "accesskit" 23 - version = "0.21.1" 24 - source = "registry+https://github.com/rust-lang/crates.io-index" 25 - checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" 26 - 27 - [[package]] 28 - name = "accesskit_consumer" 29 - version = "0.31.0" 30 - source = "registry+https://github.com/rust-lang/crates.io-index" 31 - checksum = "db81010a6895d8707f9072e6ce98070579b43b717193d2614014abd5cb17dd43" 32 - dependencies = [ 33 - "accesskit", 34 - "hashbrown 0.15.5", 35 - ] 36 - 37 - [[package]] 38 - name = "accesskit_macos" 39 - version = "0.22.2" 40 - source = "registry+https://github.com/rust-lang/crates.io-index" 41 - checksum = "a0089e5c0ac0ca281e13ea374773898d9354cc28d15af9f0f7394d44a495b575" 42 - dependencies = [ 43 - "accesskit", 44 - "accesskit_consumer", 45 - "hashbrown 0.15.5", 46 - "objc2 0.5.2", 47 - "objc2-app-kit", 48 - "objc2-foundation", 49 - ] 50 - 51 - [[package]] 52 - name = "accesskit_windows" 53 - version = "0.29.2" 54 - source = "registry+https://github.com/rust-lang/crates.io-index" 55 - checksum = "d2d63dd5041e49c363d83f5419a896ecb074d309c414036f616dc0b04faca971" 56 - dependencies = [ 57 - "accesskit", 58 - "accesskit_consumer", 59 - "hashbrown 0.15.5", 60 - "static_assertions", 61 - "windows 0.61.3", 62 - "windows-core 0.61.2", 63 - ] 64 - 65 - [[package]] 66 - name = "accesskit_winit" 67 - version = "0.29.2" 68 - source = "registry+https://github.com/rust-lang/crates.io-index" 69 - checksum = "c8cfabe59d0eaca7412bfb1f70198dd31e3b0496fee7e15b066f9c36a1a140a0" 70 - dependencies = [ 71 - "accesskit", 72 - "accesskit_macos", 73 - "accesskit_windows", 74 - "raw-window-handle", 75 - "winit", 76 - ] 77 - 78 - [[package]] 79 - name = "adler2" 80 - version = "2.0.1" 81 - source = "registry+https://github.com/rust-lang/crates.io-index" 82 - checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" 83 - 84 - [[package]] 85 - name = "ahash" 86 - version = "0.8.12" 87 - source = "registry+https://github.com/rust-lang/crates.io-index" 88 - checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" 89 - dependencies = [ 90 - "cfg-if", 91 - "getrandom 0.3.4", 92 - "once_cell", 93 - "version_check", 94 - "zerocopy", 95 - ] 96 - 97 - [[package]] 98 - name = "aho-corasick" 99 - version = "1.1.4" 100 - source = "registry+https://github.com/rust-lang/crates.io-index" 101 - checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 102 - dependencies = [ 103 - "memchr", 104 - ] 105 - 106 - [[package]] 107 - name = "alsa" 108 - version = "0.9.1" 109 - source = "registry+https://github.com/rust-lang/crates.io-index" 110 - checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" 111 - dependencies = [ 112 - "alsa-sys", 113 - "bitflags 2.10.0", 114 - "cfg-if", 115 - "libc", 116 - ] 117 - 118 - [[package]] 119 - name = "alsa-sys" 120 - version = "0.3.1" 121 - source = "registry+https://github.com/rust-lang/crates.io-index" 122 - checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" 123 - dependencies = [ 124 - "libc", 125 - "pkg-config", 126 - ] 127 - 128 - [[package]] 129 - name = "android-activity" 130 - version = "0.6.0" 131 - source = "registry+https://github.com/rust-lang/crates.io-index" 132 - checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" 133 - dependencies = [ 134 - "android-properties", 135 - "bitflags 2.10.0", 136 - "cc", 137 - "cesu8", 138 - "jni", 139 - "jni-sys", 140 - "libc", 141 - "log", 142 - "ndk 0.9.0", 143 - "ndk-context", 144 - "ndk-sys 0.6.0+11769913", 145 - "num_enum", 146 - "thiserror 1.0.69", 147 - ] 148 - 149 - [[package]] 150 - name = "android-properties" 151 - version = "0.2.2" 152 - source = "registry+https://github.com/rust-lang/crates.io-index" 153 - checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" 154 - 155 - [[package]] 156 - name = "android_log-sys" 157 - version = "0.3.2" 158 - source = "registry+https://github.com/rust-lang/crates.io-index" 159 - checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" 160 - 161 - [[package]] 162 - name = "android_system_properties" 163 - version = "0.1.5" 164 - source = "registry+https://github.com/rust-lang/crates.io-index" 165 - checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 166 - dependencies = [ 167 - "libc", 168 - ] 169 - 170 - [[package]] 171 6 name = "anyhow" 172 7 version = "1.0.100" 173 8 source = "registry+https://github.com/rust-lang/crates.io-index" 174 9 checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 175 10 176 11 [[package]] 177 - name = "approx" 178 - version = "0.5.1" 179 - source = "registry+https://github.com/rust-lang/crates.io-index" 180 - checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" 181 - dependencies = [ 182 - "num-traits", 183 - ] 184 - 185 - [[package]] 186 - name = "arrayref" 187 - version = "0.3.9" 188 - source = "registry+https://github.com/rust-lang/crates.io-index" 189 - checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" 190 - 191 - [[package]] 192 - name = "arrayvec" 193 - version = "0.7.6" 194 - source = "registry+https://github.com/rust-lang/crates.io-index" 195 - checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 196 - 197 - [[package]] 198 - name = "as-raw-xcb-connection" 199 - version = "1.0.1" 200 - source = "registry+https://github.com/rust-lang/crates.io-index" 201 - checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" 202 - 203 - [[package]] 204 - name = "ash" 205 - version = "0.38.0+1.3.281" 206 - source = "registry+https://github.com/rust-lang/crates.io-index" 207 - checksum = "0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f" 208 - dependencies = [ 209 - "libloading", 210 - ] 211 - 212 - [[package]] 213 - name = "assert_type_match" 214 - version = "0.1.1" 215 - source = "registry+https://github.com/rust-lang/crates.io-index" 216 - checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" 217 - dependencies = [ 218 - "proc-macro2", 219 - "quote", 220 - "syn", 221 - ] 222 - 223 - [[package]] 224 - name = "async-broadcast" 225 - version = "0.7.2" 226 - source = "registry+https://github.com/rust-lang/crates.io-index" 227 - checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" 228 - dependencies = [ 229 - "event-listener", 230 - "event-listener-strategy", 231 - "futures-core", 232 - "pin-project-lite", 233 - ] 234 - 235 - [[package]] 236 - name = "async-channel" 237 - version = "2.5.0" 238 - source = "registry+https://github.com/rust-lang/crates.io-index" 239 - checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" 240 - dependencies = [ 241 - "concurrent-queue", 242 - "event-listener-strategy", 243 - "futures-core", 244 - "pin-project-lite", 245 - ] 246 - 247 - [[package]] 248 - name = "async-executor" 249 - version = "1.13.3" 250 - source = "registry+https://github.com/rust-lang/crates.io-index" 251 - checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" 252 - dependencies = [ 253 - "async-task", 254 - "concurrent-queue", 255 - "fastrand", 256 - "futures-lite", 257 - "pin-project-lite", 258 - "slab", 259 - ] 260 - 261 - [[package]] 262 - name = "async-fs" 263 - version = "2.2.0" 264 - source = "registry+https://github.com/rust-lang/crates.io-index" 265 - checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" 266 - dependencies = [ 267 - "async-lock", 268 - "blocking", 269 - "futures-lite", 270 - ] 271 - 272 - [[package]] 273 - name = "async-lock" 274 - version = "3.4.1" 275 - source = "registry+https://github.com/rust-lang/crates.io-index" 276 - checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" 277 - dependencies = [ 278 - "event-listener", 279 - "event-listener-strategy", 280 - "pin-project-lite", 281 - ] 282 - 283 - [[package]] 284 - name = "async-task" 285 - version = "4.7.1" 286 - source = "registry+https://github.com/rust-lang/crates.io-index" 287 - checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" 288 - dependencies = [ 289 - "portable-atomic", 290 - ] 291 - 292 - [[package]] 293 - name = "atomic-waker" 294 - version = "1.1.2" 295 - source = "registry+https://github.com/rust-lang/crates.io-index" 296 - checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 297 - dependencies = [ 298 - "portable-atomic", 299 - ] 300 - 301 - [[package]] 302 - name = "atomicow" 303 - version = "1.1.0" 304 - source = "registry+https://github.com/rust-lang/crates.io-index" 305 - checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" 306 - dependencies = [ 307 - "portable-atomic", 308 - "portable-atomic-util", 309 - ] 310 - 311 - [[package]] 312 - name = "autocfg" 313 - version = "1.5.0" 314 - source = "registry+https://github.com/rust-lang/crates.io-index" 315 - checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 316 - 317 - [[package]] 318 - name = "base64" 319 - version = "0.22.1" 320 - source = "registry+https://github.com/rust-lang/crates.io-index" 321 - checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 322 - 323 - [[package]] 324 - name = "bevy" 325 - version = "0.17.3" 326 - source = "registry+https://github.com/rust-lang/crates.io-index" 327 - checksum = "76d3ee8652fe0577fd8a99054e147740850140d530be8e044a9be4e23a3e8a24" 328 - dependencies = [ 329 - "bevy_internal", 330 - ] 331 - 332 - [[package]] 333 - name = "bevy_a11y" 334 - version = "0.17.3" 335 - source = "registry+https://github.com/rust-lang/crates.io-index" 336 - checksum = "6702a82db1b383641fc7c503451847cdafb57076c203cd3bfe549d3eeef474c3" 337 - dependencies = [ 338 - "accesskit", 339 - "bevy_app", 340 - "bevy_derive", 341 - "bevy_ecs", 342 - "bevy_reflect", 343 - ] 344 - 345 - [[package]] 346 - name = "bevy_android" 347 - version = "0.17.3" 348 - source = "registry+https://github.com/rust-lang/crates.io-index" 349 - checksum = "42b2d9435e9fe8d7107bb795a6140277872ad5b992cb3934f8d28cfd11040f6f" 350 - dependencies = [ 351 - "android-activity", 352 - ] 353 - 354 - [[package]] 355 - name = "bevy_animation" 356 - version = "0.17.3" 357 - source = "registry+https://github.com/rust-lang/crates.io-index" 358 - checksum = "bfaf3ea6d435f4736b3deb60958270443501f5795c7964b1b504abd3be970b4f" 359 - dependencies = [ 360 - "bevy_animation_macros", 361 - "bevy_app", 362 - "bevy_asset", 363 - "bevy_color", 364 - "bevy_derive", 365 - "bevy_ecs", 366 - "bevy_math", 367 - "bevy_mesh", 368 - "bevy_platform", 369 - "bevy_reflect", 370 - "bevy_time", 371 - "bevy_transform", 372 - "bevy_utils", 373 - "blake3", 374 - "derive_more", 375 - "downcast-rs 2.0.2", 376 - "either", 377 - "petgraph", 378 - "ron", 379 - "serde", 380 - "smallvec", 381 - "thiserror 2.0.17", 382 - "thread_local", 383 - "tracing", 384 - "uuid", 385 - ] 386 - 387 - [[package]] 388 - name = "bevy_animation_macros" 389 - version = "0.17.3" 390 - source = "registry+https://github.com/rust-lang/crates.io-index" 391 - checksum = "d577eae7246a1cda461df1b63188619fc6a3c619adba2a8e5a79e9aa51f64671" 392 - dependencies = [ 393 - "bevy_macro_utils", 394 - "quote", 395 - "syn", 396 - ] 397 - 398 - [[package]] 399 - name = "bevy_anti_alias" 400 - version = "0.17.3" 401 - source = "registry+https://github.com/rust-lang/crates.io-index" 402 - checksum = "15820535cc88bc280f55635eb3ea58df2703a434a0cc2343472eaa7e607fb27b" 403 - dependencies = [ 404 - "bevy_app", 405 - "bevy_asset", 406 - "bevy_camera", 407 - "bevy_core_pipeline", 408 - "bevy_derive", 409 - "bevy_diagnostic", 410 - "bevy_ecs", 411 - "bevy_image", 412 - "bevy_math", 413 - "bevy_reflect", 414 - "bevy_render", 415 - "bevy_shader", 416 - "bevy_utils", 417 - "tracing", 418 - ] 419 - 420 - [[package]] 421 - name = "bevy_app" 422 - version = "0.17.3" 423 - source = "registry+https://github.com/rust-lang/crates.io-index" 424 - checksum = "8e4fc5dfe9d1d9b8233e1878353b5e66a3f5910c2131d3abf68f9a4116b2d433" 425 - dependencies = [ 426 - "bevy_derive", 427 - "bevy_ecs", 428 - "bevy_platform", 429 - "bevy_reflect", 430 - "bevy_tasks", 431 - "bevy_utils", 432 - "cfg-if", 433 - "console_error_panic_hook", 434 - "ctrlc", 435 - "downcast-rs 2.0.2", 436 - "log", 437 - "thiserror 2.0.17", 438 - "variadics_please", 439 - "wasm-bindgen", 440 - "web-sys", 441 - ] 442 - 443 - [[package]] 444 - name = "bevy_asset" 445 - version = "0.17.3" 446 - source = "registry+https://github.com/rust-lang/crates.io-index" 447 - checksum = "357787dbfaba3f73fd185e15d6df70605bddaa774f2ebbcab1aaa031f21fb6c2" 448 - dependencies = [ 449 - "async-broadcast", 450 - "async-fs", 451 - "async-lock", 452 - "atomicow", 453 - "bevy_android", 454 - "bevy_app", 455 - "bevy_asset_macros", 456 - "bevy_ecs", 457 - "bevy_platform", 458 - "bevy_reflect", 459 - "bevy_tasks", 460 - "bevy_utils", 461 - "bitflags 2.10.0", 462 - "blake3", 463 - "crossbeam-channel", 464 - "derive_more", 465 - "disqualified", 466 - "downcast-rs 2.0.2", 467 - "either", 468 - "futures-io", 469 - "futures-lite", 470 - "js-sys", 471 - "parking_lot", 472 - "ron", 473 - "serde", 474 - "stackfuture", 475 - "thiserror 2.0.17", 476 - "tracing", 477 - "uuid", 478 - "wasm-bindgen", 479 - "wasm-bindgen-futures", 480 - "web-sys", 481 - ] 482 - 483 - [[package]] 484 - name = "bevy_asset_macros" 485 - version = "0.17.3" 486 - source = "registry+https://github.com/rust-lang/crates.io-index" 487 - checksum = "afa09271d4ca0bf31fda3a9ad57273775d448a05c4046d9367f71d29968d85b4" 488 - dependencies = [ 489 - "bevy_macro_utils", 490 - "proc-macro2", 491 - "quote", 492 - "syn", 493 - ] 494 - 495 - [[package]] 496 - name = "bevy_audio" 497 - version = "0.17.3" 498 - source = "registry+https://github.com/rust-lang/crates.io-index" 499 - checksum = "d79e56e072001524100b00e38cfdea302d9fdabbff48109fc67b528b27a237bb" 500 - dependencies = [ 501 - "bevy_app", 502 - "bevy_asset", 503 - "bevy_ecs", 504 - "bevy_math", 505 - "bevy_reflect", 506 - "bevy_transform", 507 - "coreaudio-sys", 508 - "cpal", 509 - "rodio", 510 - "tracing", 511 - ] 512 - 513 - [[package]] 514 - name = "bevy_camera" 515 - version = "0.17.3" 516 - source = "registry+https://github.com/rust-lang/crates.io-index" 517 - checksum = "8af1d5a57fde6e577e7b1db58996afb381618294be75a37b3070a20d309678b0" 518 - dependencies = [ 519 - "bevy_app", 520 - "bevy_asset", 521 - "bevy_color", 522 - "bevy_derive", 523 - "bevy_ecs", 524 - "bevy_image", 525 - "bevy_math", 526 - "bevy_mesh", 527 - "bevy_reflect", 528 - "bevy_transform", 529 - "bevy_utils", 530 - "bevy_window", 531 - "derive_more", 532 - "downcast-rs 2.0.2", 533 - "serde", 534 - "smallvec", 535 - "thiserror 2.0.17", 536 - "wgpu-types", 537 - ] 538 - 539 - [[package]] 540 - name = "bevy_color" 541 - version = "0.17.3" 542 - source = "registry+https://github.com/rust-lang/crates.io-index" 543 - checksum = "49504fac6b9897f03b4bdc0189c04ef1ba0a9b37926343aa520a71619e90e116" 544 - dependencies = [ 545 - "bevy_math", 546 - "bevy_reflect", 547 - "bytemuck", 548 - "derive_more", 549 - "encase", 550 - "serde", 551 - "thiserror 2.0.17", 552 - "wgpu-types", 553 - ] 554 - 555 - [[package]] 556 - name = "bevy_core_pipeline" 557 - version = "0.17.3" 558 - source = "registry+https://github.com/rust-lang/crates.io-index" 559 - checksum = "6af7e735685a652a8dba41b886f1330faeb57d4c61398917b7e49b09a7a1c3c1" 560 - dependencies = [ 561 - "bevy_app", 562 - "bevy_asset", 563 - "bevy_camera", 564 - "bevy_color", 565 - "bevy_derive", 566 - "bevy_ecs", 567 - "bevy_image", 568 - "bevy_math", 569 - "bevy_platform", 570 - "bevy_reflect", 571 - "bevy_render", 572 - "bevy_shader", 573 - "bevy_transform", 574 - "bevy_utils", 575 - "bevy_window", 576 - "bitflags 2.10.0", 577 - "nonmax", 578 - "radsort", 579 - "smallvec", 580 - "thiserror 2.0.17", 581 - "tracing", 582 - ] 583 - 584 - [[package]] 585 - name = "bevy_derive" 586 - version = "0.17.3" 587 - source = "registry+https://github.com/rust-lang/crates.io-index" 588 - checksum = "f9396b256b366a43d7f61d1f230cdab0a512fb4712cbf7d688f3d6fce4c5ea8a" 589 - dependencies = [ 590 - "bevy_macro_utils", 591 - "quote", 592 - "syn", 593 - ] 594 - 595 - [[package]] 596 - name = "bevy_diagnostic" 597 - version = "0.17.3" 598 - source = "registry+https://github.com/rust-lang/crates.io-index" 599 - checksum = "d1cdb0ed0c8423570fbbb7c4fc2719a203dd40928fefff45f76ef0889685a446" 600 - dependencies = [ 601 - "atomic-waker", 602 - "bevy_app", 603 - "bevy_ecs", 604 - "bevy_platform", 605 - "bevy_tasks", 606 - "bevy_time", 607 - "const-fnv1a-hash", 608 - "log", 609 - "serde", 610 - "sysinfo", 611 - ] 612 - 613 - [[package]] 614 - name = "bevy_ecs" 615 - version = "0.17.3" 616 - source = "registry+https://github.com/rust-lang/crates.io-index" 617 - checksum = "a7dd5229dd00d00e70ac6b2fc0a139961252f6ce07d3d268cfcac0da86d5bde4" 618 - dependencies = [ 619 - "arrayvec", 620 - "bevy_ecs_macros", 621 - "bevy_platform", 622 - "bevy_ptr", 623 - "bevy_reflect", 624 - "bevy_tasks", 625 - "bevy_utils", 626 - "bitflags 2.10.0", 627 - "bumpalo", 628 - "concurrent-queue", 629 - "derive_more", 630 - "fixedbitset", 631 - "indexmap", 632 - "log", 633 - "nonmax", 634 - "serde", 635 - "slotmap", 636 - "smallvec", 637 - "thiserror 2.0.17", 638 - "variadics_please", 639 - ] 640 - 641 - [[package]] 642 - name = "bevy_ecs_macros" 643 - version = "0.17.3" 644 - source = "registry+https://github.com/rust-lang/crates.io-index" 645 - checksum = "c4d83bdd2285af4867e76c691406e0a4b55611b583d0c45b6ac7bcec1b45fd48" 646 - dependencies = [ 647 - "bevy_macro_utils", 648 - "proc-macro2", 649 - "quote", 650 - "syn", 651 - ] 652 - 653 - [[package]] 654 - name = "bevy_encase_derive" 655 - version = "0.17.3" 656 - source = "registry+https://github.com/rust-lang/crates.io-index" 657 - checksum = "7179e985f3f1b99265cb87fe194db3b00aee8e2914888d621ff9826e1417ee19" 658 - dependencies = [ 659 - "bevy_macro_utils", 660 - "encase_derive_impl", 661 - ] 662 - 663 - [[package]] 664 - name = "bevy_gilrs" 665 - version = "0.17.3" 666 - source = "registry+https://github.com/rust-lang/crates.io-index" 667 - checksum = "a39dd8fdfe93314d47355ab3c58da40b648908a368bc536872f75fad4e8f3755" 668 - dependencies = [ 669 - "bevy_app", 670 - "bevy_ecs", 671 - "bevy_input", 672 - "bevy_platform", 673 - "bevy_time", 674 - "gilrs", 675 - "thiserror 2.0.17", 676 - "tracing", 677 - ] 678 - 679 - [[package]] 680 - name = "bevy_gizmos" 681 - version = "0.17.3" 682 - source = "registry+https://github.com/rust-lang/crates.io-index" 683 - checksum = "7ebb9e3ca4938b48e5111151ce4b08f0e6fc207b854db08fa2d8de15ecabe8f8" 684 - dependencies = [ 685 - "bevy_app", 686 - "bevy_asset", 687 - "bevy_camera", 688 - "bevy_color", 689 - "bevy_core_pipeline", 690 - "bevy_ecs", 691 - "bevy_gizmos_macros", 692 - "bevy_image", 693 - "bevy_light", 694 - "bevy_math", 695 - "bevy_mesh", 696 - "bevy_pbr", 697 - "bevy_reflect", 698 - "bevy_render", 699 - "bevy_shader", 700 - "bevy_sprite_render", 701 - "bevy_time", 702 - "bevy_transform", 703 - "bevy_utils", 704 - "bytemuck", 705 - "tracing", 706 - ] 707 - 708 - [[package]] 709 - name = "bevy_gizmos_macros" 710 - version = "0.17.3" 711 - source = "registry+https://github.com/rust-lang/crates.io-index" 712 - checksum = "92c4b3c3aac86f0db85d4f708883ebdc735c3f88ac5b84c033874fcdd3540a9d" 713 - dependencies = [ 714 - "bevy_macro_utils", 715 - "quote", 716 - "syn", 717 - ] 718 - 719 - [[package]] 720 - name = "bevy_gltf" 721 - version = "0.17.3" 722 - source = "registry+https://github.com/rust-lang/crates.io-index" 723 - checksum = "3479fbaf897320a3ee30c1626b4a1bee0be874ca27699c3b2f3494891d103d9b" 724 - dependencies = [ 725 - "base64", 726 - "bevy_animation", 727 - "bevy_app", 728 - "bevy_asset", 729 - "bevy_camera", 730 - "bevy_color", 731 - "bevy_ecs", 732 - "bevy_image", 733 - "bevy_light", 734 - "bevy_math", 735 - "bevy_mesh", 736 - "bevy_pbr", 737 - "bevy_platform", 738 - "bevy_reflect", 739 - "bevy_render", 740 - "bevy_scene", 741 - "bevy_tasks", 742 - "bevy_transform", 743 - "fixedbitset", 744 - "gltf", 745 - "itertools 0.14.0", 746 - "percent-encoding", 747 - "serde", 748 - "serde_json", 749 - "smallvec", 750 - "thiserror 2.0.17", 751 - "tracing", 752 - ] 753 - 754 - [[package]] 755 - name = "bevy_image" 756 - version = "0.17.3" 757 - source = "registry+https://github.com/rust-lang/crates.io-index" 758 - checksum = "d546bbe2486bfa14971517e7ef427a9384749817c201d3afc60de0325cf52f11" 759 - dependencies = [ 760 - "bevy_app", 761 - "bevy_asset", 762 - "bevy_color", 763 - "bevy_ecs", 764 - "bevy_math", 765 - "bevy_platform", 766 - "bevy_reflect", 767 - "bevy_utils", 768 - "bitflags 2.10.0", 769 - "bytemuck", 770 - "futures-lite", 771 - "guillotiere", 772 - "half", 773 - "image", 774 - "ktx2", 775 - "rectangle-pack", 776 - "ruzstd", 777 - "serde", 778 - "thiserror 2.0.17", 779 - "tracing", 780 - "wgpu-types", 781 - ] 782 - 783 - [[package]] 784 - name = "bevy_input" 785 - version = "0.17.3" 786 - source = "registry+https://github.com/rust-lang/crates.io-index" 787 - checksum = "8ca955b99f4dc2059e9c8574f8d95a5dd5002809fda80d062a94a553c571a467" 788 - dependencies = [ 789 - "bevy_app", 790 - "bevy_ecs", 791 - "bevy_math", 792 - "bevy_platform", 793 - "bevy_reflect", 794 - "derive_more", 795 - "log", 796 - "smol_str", 797 - "thiserror 2.0.17", 798 - ] 799 - 800 - [[package]] 801 - name = "bevy_input_focus" 802 - version = "0.17.3" 803 - source = "registry+https://github.com/rust-lang/crates.io-index" 804 - checksum = "de4d1d0e833e31beba1f28a77152b35f946e8c45df364ec4969d58788ab9de7f" 805 - dependencies = [ 806 - "bevy_app", 807 - "bevy_ecs", 808 - "bevy_input", 809 - "bevy_math", 810 - "bevy_picking", 811 - "bevy_reflect", 812 - "bevy_window", 813 - "log", 814 - "thiserror 2.0.17", 815 - ] 816 - 817 - [[package]] 818 - name = "bevy_internal" 819 - version = "0.17.3" 820 - source = "registry+https://github.com/rust-lang/crates.io-index" 821 - checksum = "8f5e645f9e1a24c9667c768b6233beaf4e241739d8ca4fbba59435cc27aabad5" 822 - dependencies = [ 823 - "bevy_a11y", 824 - "bevy_android", 825 - "bevy_animation", 826 - "bevy_anti_alias", 827 - "bevy_app", 828 - "bevy_asset", 829 - "bevy_audio", 830 - "bevy_camera", 831 - "bevy_color", 832 - "bevy_core_pipeline", 833 - "bevy_derive", 834 - "bevy_diagnostic", 835 - "bevy_ecs", 836 - "bevy_gilrs", 837 - "bevy_gizmos", 838 - "bevy_gltf", 839 - "bevy_image", 840 - "bevy_input", 841 - "bevy_input_focus", 842 - "bevy_light", 843 - "bevy_log", 844 - "bevy_math", 845 - "bevy_mesh", 846 - "bevy_pbr", 847 - "bevy_picking", 848 - "bevy_platform", 849 - "bevy_post_process", 850 - "bevy_ptr", 851 - "bevy_reflect", 852 - "bevy_render", 853 - "bevy_scene", 854 - "bevy_shader", 855 - "bevy_sprite", 856 - "bevy_sprite_render", 857 - "bevy_state", 858 - "bevy_tasks", 859 - "bevy_text", 860 - "bevy_time", 861 - "bevy_transform", 862 - "bevy_ui", 863 - "bevy_ui_render", 864 - "bevy_utils", 865 - "bevy_window", 866 - "bevy_winit", 867 - ] 868 - 869 - [[package]] 870 - name = "bevy_light" 871 - version = "0.17.3" 872 - source = "registry+https://github.com/rust-lang/crates.io-index" 873 - checksum = "47093733280976ebd595f6e25f76603d5067ca4eb7544e59ecb0dd2fc5147810" 874 - dependencies = [ 875 - "bevy_app", 876 - "bevy_asset", 877 - "bevy_camera", 878 - "bevy_color", 879 - "bevy_ecs", 880 - "bevy_image", 881 - "bevy_math", 882 - "bevy_mesh", 883 - "bevy_platform", 884 - "bevy_reflect", 885 - "bevy_transform", 886 - "bevy_utils", 887 - "tracing", 888 - ] 889 - 890 - [[package]] 891 - name = "bevy_log" 892 - version = "0.17.3" 893 - source = "registry+https://github.com/rust-lang/crates.io-index" 894 - checksum = "b1a2d4ea086ac4663ab9dfb056c7b85eee39e18f7e3e9a4ae6e39897eaa155c5" 895 - dependencies = [ 896 - "android_log-sys", 897 - "bevy_app", 898 - "bevy_ecs", 899 - "bevy_platform", 900 - "bevy_utils", 901 - "tracing", 902 - "tracing-log", 903 - "tracing-oslog", 904 - "tracing-subscriber", 905 - "tracing-wasm", 906 - ] 907 - 908 - [[package]] 909 - name = "bevy_macro_utils" 910 - version = "0.17.3" 911 - source = "registry+https://github.com/rust-lang/crates.io-index" 912 - checksum = "62d984f9f8bd0f0d9fb020492a955e641e30e7a425f3588bf346cb3e61fec3c3" 913 - dependencies = [ 914 - "parking_lot", 915 - "proc-macro2", 916 - "quote", 917 - "syn", 918 - "toml_edit", 919 - ] 920 - 921 - [[package]] 922 - name = "bevy_math" 923 - version = "0.17.3" 924 - source = "registry+https://github.com/rust-lang/crates.io-index" 925 - checksum = "5fa74ae5d968749cc073da991757d3c7e3504ac6dbaac5f8c2a54b9d19b0b7ed" 926 - dependencies = [ 927 - "approx", 928 - "bevy_reflect", 929 - "derive_more", 930 - "glam", 931 - "itertools 0.14.0", 932 - "libm", 933 - "rand 0.9.2", 934 - "rand_distr", 935 - "serde", 936 - "smallvec", 937 - "thiserror 2.0.17", 938 - "variadics_please", 939 - ] 940 - 941 - [[package]] 942 - name = "bevy_mesh" 943 - version = "0.17.3" 944 - source = "registry+https://github.com/rust-lang/crates.io-index" 945 - checksum = "cd9a0ea86abbd17655bc6f9f8d94461dfcd0322431f752fc03748df8b335eff2" 946 - dependencies = [ 947 - "bevy_app", 948 - "bevy_asset", 949 - "bevy_derive", 950 - "bevy_ecs", 951 - "bevy_image", 952 - "bevy_math", 953 - "bevy_mikktspace", 954 - "bevy_platform", 955 - "bevy_reflect", 956 - "bevy_transform", 957 - "bitflags 2.10.0", 958 - "bytemuck", 959 - "derive_more", 960 - "hexasphere", 961 - "thiserror 2.0.17", 962 - "tracing", 963 - "wgpu-types", 964 - ] 965 - 966 - [[package]] 967 - name = "bevy_mikktspace" 968 - version = "0.17.0-dev" 969 - source = "registry+https://github.com/rust-lang/crates.io-index" 970 - checksum = "7ef8e4b7e61dfe7719bb03c884dc270cd46a82efb40f93e9933b990c5c190c59" 971 - 972 - [[package]] 973 - name = "bevy_pbr" 974 - version = "0.17.3" 975 - source = "registry+https://github.com/rust-lang/crates.io-index" 976 - checksum = "4c514b950cda849aa64e9b076a235913577370275125a34a478758505a19d776" 977 - dependencies = [ 978 - "bevy_app", 979 - "bevy_asset", 980 - "bevy_camera", 981 - "bevy_color", 982 - "bevy_core_pipeline", 983 - "bevy_derive", 984 - "bevy_diagnostic", 985 - "bevy_ecs", 986 - "bevy_image", 987 - "bevy_light", 988 - "bevy_math", 989 - "bevy_mesh", 990 - "bevy_platform", 991 - "bevy_reflect", 992 - "bevy_render", 993 - "bevy_shader", 994 - "bevy_transform", 995 - "bevy_utils", 996 - "bitflags 2.10.0", 997 - "bytemuck", 998 - "derive_more", 999 - "fixedbitset", 1000 - "nonmax", 1001 - "offset-allocator", 1002 - "smallvec", 1003 - "static_assertions", 1004 - "thiserror 2.0.17", 1005 - "tracing", 1006 - ] 1007 - 1008 - [[package]] 1009 - name = "bevy_picking" 1010 - version = "0.17.3" 1011 - source = "registry+https://github.com/rust-lang/crates.io-index" 1012 - checksum = "b371779713b40dea83b24cdb95054fe999fe8372351a317c4fb768859ac5f010" 1013 - dependencies = [ 1014 - "bevy_app", 1015 - "bevy_asset", 1016 - "bevy_camera", 1017 - "bevy_derive", 1018 - "bevy_ecs", 1019 - "bevy_input", 1020 - "bevy_math", 1021 - "bevy_mesh", 1022 - "bevy_platform", 1023 - "bevy_reflect", 1024 - "bevy_time", 1025 - "bevy_transform", 1026 - "bevy_window", 1027 - "crossbeam-channel", 1028 - "tracing", 1029 - "uuid", 1030 - ] 1031 - 1032 - [[package]] 1033 - name = "bevy_platform" 1034 - version = "0.17.3" 1035 - source = "registry+https://github.com/rust-lang/crates.io-index" 1036 - checksum = "4691af6d7cfd1b5deb2fc926a43a180a546cdc3fe1e5a013fcee60db9bb2c81f" 1037 - dependencies = [ 1038 - "critical-section", 1039 - "foldhash 0.2.0", 1040 - "futures-channel", 1041 - "getrandom 0.3.4", 1042 - "hashbrown 0.16.1", 1043 - "js-sys", 1044 - "portable-atomic", 1045 - "portable-atomic-util", 1046 - "serde", 1047 - "spin", 1048 - "wasm-bindgen", 1049 - "wasm-bindgen-futures", 1050 - "web-time", 1051 - ] 1052 - 1053 - [[package]] 1054 - name = "bevy_post_process" 1055 - version = "0.17.3" 1056 - source = "registry+https://github.com/rust-lang/crates.io-index" 1057 - checksum = "6b857972f5d56b43b0dce2c843b75b64d5fbbd0f6177f6ecccd75e7e41f72deb" 1058 - dependencies = [ 1059 - "bevy_app", 1060 - "bevy_asset", 1061 - "bevy_camera", 1062 - "bevy_color", 1063 - "bevy_core_pipeline", 1064 - "bevy_derive", 1065 - "bevy_ecs", 1066 - "bevy_image", 1067 - "bevy_math", 1068 - "bevy_platform", 1069 - "bevy_reflect", 1070 - "bevy_render", 1071 - "bevy_shader", 1072 - "bevy_transform", 1073 - "bevy_utils", 1074 - "bevy_window", 1075 - "bitflags 2.10.0", 1076 - "nonmax", 1077 - "radsort", 1078 - "smallvec", 1079 - "thiserror 2.0.17", 1080 - "tracing", 1081 - ] 1082 - 1083 - [[package]] 1084 - name = "bevy_ptr" 1085 - version = "0.17.3" 1086 - source = "registry+https://github.com/rust-lang/crates.io-index" 1087 - checksum = "17d24d7906c7de556033168b3485de36c59049fbaef0c2c44c715a23e0329b10" 1088 - 1089 - [[package]] 1090 - name = "bevy_reflect" 1091 - version = "0.17.3" 1092 - source = "registry+https://github.com/rust-lang/crates.io-index" 1093 - checksum = "b5472b91928c0f3e4e3988c0d036b00719f19520f53a0c3f8c2af72f00e693c5" 1094 - dependencies = [ 1095 - "assert_type_match", 1096 - "bevy_platform", 1097 - "bevy_ptr", 1098 - "bevy_reflect_derive", 1099 - "bevy_utils", 1100 - "derive_more", 1101 - "disqualified", 1102 - "downcast-rs 2.0.2", 1103 - "erased-serde", 1104 - "foldhash 0.2.0", 1105 - "glam", 1106 - "inventory", 1107 - "petgraph", 1108 - "serde", 1109 - "smallvec", 1110 - "smol_str", 1111 - "thiserror 2.0.17", 1112 - "uuid", 1113 - "variadics_please", 1114 - "wgpu-types", 1115 - ] 1116 - 1117 - [[package]] 1118 - name = "bevy_reflect_derive" 1119 - version = "0.17.3" 1120 - source = "registry+https://github.com/rust-lang/crates.io-index" 1121 - checksum = "083784255162fa39960aa3cf3c23af0e515db2daa7f2e796ae34df993f4d3f6c" 1122 - dependencies = [ 1123 - "bevy_macro_utils", 1124 - "indexmap", 1125 - "proc-macro2", 1126 - "quote", 1127 - "syn", 1128 - "uuid", 1129 - ] 1130 - 1131 - [[package]] 1132 - name = "bevy_render" 1133 - version = "0.17.3" 1134 - source = "registry+https://github.com/rust-lang/crates.io-index" 1135 - checksum = "44117cbc9448b5a3118eb9c65bd9ec4c574be996148793be2443257daae6eb05" 1136 - dependencies = [ 1137 - "async-channel", 1138 - "bevy_app", 1139 - "bevy_asset", 1140 - "bevy_camera", 1141 - "bevy_color", 1142 - "bevy_derive", 1143 - "bevy_diagnostic", 1144 - "bevy_ecs", 1145 - "bevy_encase_derive", 1146 - "bevy_image", 1147 - "bevy_math", 1148 - "bevy_mesh", 1149 - "bevy_platform", 1150 - "bevy_reflect", 1151 - "bevy_render_macros", 1152 - "bevy_shader", 1153 - "bevy_tasks", 1154 - "bevy_time", 1155 - "bevy_transform", 1156 - "bevy_utils", 1157 - "bevy_window", 1158 - "bitflags 2.10.0", 1159 - "bytemuck", 1160 - "derive_more", 1161 - "downcast-rs 2.0.2", 1162 - "encase", 1163 - "fixedbitset", 1164 - "image", 1165 - "indexmap", 1166 - "js-sys", 1167 - "naga", 1168 - "nonmax", 1169 - "offset-allocator", 1170 - "send_wrapper", 1171 - "smallvec", 1172 - "thiserror 2.0.17", 1173 - "tracing", 1174 - "variadics_please", 1175 - "wasm-bindgen", 1176 - "web-sys", 1177 - "wgpu", 1178 - ] 1179 - 1180 - [[package]] 1181 - name = "bevy_render_macros" 1182 - version = "0.17.3" 1183 - source = "registry+https://github.com/rust-lang/crates.io-index" 1184 - checksum = "f9557b7b6b06b1b70c147581f4f410c2de73b6f6f0e82915887020f953bacb5a" 1185 - dependencies = [ 1186 - "bevy_macro_utils", 1187 - "proc-macro2", 1188 - "quote", 1189 - "syn", 1190 - ] 1191 - 1192 - [[package]] 1193 - name = "bevy_scene" 1194 - version = "0.17.3" 1195 - source = "registry+https://github.com/rust-lang/crates.io-index" 1196 - checksum = "7fcf6efd31fdd1e05724c95900bb1055716c8e3633b05fa731ee75db4241c17d" 1197 - dependencies = [ 1198 - "bevy_app", 1199 - "bevy_asset", 1200 - "bevy_camera", 1201 - "bevy_derive", 1202 - "bevy_ecs", 1203 - "bevy_platform", 1204 - "bevy_reflect", 1205 - "bevy_transform", 1206 - "bevy_utils", 1207 - "derive_more", 1208 - "serde", 1209 - "thiserror 2.0.17", 1210 - "uuid", 1211 - ] 1212 - 1213 - [[package]] 1214 - name = "bevy_shader" 1215 - version = "0.17.3" 1216 - source = "registry+https://github.com/rust-lang/crates.io-index" 1217 - checksum = "a655de9f64e113a6e37be76401fb0d6cb84ed7cc4f891e70af4e39d26e9080c3" 1218 - dependencies = [ 1219 - "bevy_asset", 1220 - "bevy_platform", 1221 - "bevy_reflect", 1222 - "naga", 1223 - "naga_oil", 1224 - "serde", 1225 - "thiserror 2.0.17", 1226 - "tracing", 1227 - "wgpu-types", 1228 - ] 1229 - 1230 - [[package]] 1231 - name = "bevy_sprite" 1232 - version = "0.17.3" 1233 - source = "registry+https://github.com/rust-lang/crates.io-index" 1234 - checksum = "52b9a80aadf102ef0b012ceba5326253638c891994c303479e9973092e4e1c8b" 1235 - dependencies = [ 1236 - "bevy_app", 1237 - "bevy_asset", 1238 - "bevy_camera", 1239 - "bevy_color", 1240 - "bevy_derive", 1241 - "bevy_ecs", 1242 - "bevy_image", 1243 - "bevy_math", 1244 - "bevy_mesh", 1245 - "bevy_picking", 1246 - "bevy_reflect", 1247 - "bevy_text", 1248 - "bevy_transform", 1249 - "bevy_window", 1250 - "radsort", 1251 - "tracing", 1252 - "wgpu-types", 1253 - ] 1254 - 1255 - [[package]] 1256 - name = "bevy_sprite_render" 1257 - version = "0.17.3" 1258 - source = "registry+https://github.com/rust-lang/crates.io-index" 1259 - checksum = "5eec49a2a9185526f9828559a40b6f66d4c2dbae2df8ea2936d88ba449a5e86a" 1260 - dependencies = [ 1261 - "bevy_app", 1262 - "bevy_asset", 1263 - "bevy_camera", 1264 - "bevy_color", 1265 - "bevy_core_pipeline", 1266 - "bevy_derive", 1267 - "bevy_ecs", 1268 - "bevy_image", 1269 - "bevy_math", 1270 - "bevy_mesh", 1271 - "bevy_platform", 1272 - "bevy_reflect", 1273 - "bevy_render", 1274 - "bevy_shader", 1275 - "bevy_sprite", 1276 - "bevy_text", 1277 - "bevy_transform", 1278 - "bevy_utils", 1279 - "bitflags 2.10.0", 1280 - "bytemuck", 1281 - "derive_more", 1282 - "fixedbitset", 1283 - "nonmax", 1284 - "tracing", 1285 - ] 1286 - 1287 - [[package]] 1288 - name = "bevy_state" 1289 - version = "0.17.3" 1290 - source = "registry+https://github.com/rust-lang/crates.io-index" 1291 - checksum = "05e8556a55d548844fc067fac6657b62f8073c94bd7e13c86aa7573f4c2a67b3" 1292 - dependencies = [ 1293 - "bevy_app", 1294 - "bevy_ecs", 1295 - "bevy_platform", 1296 - "bevy_reflect", 1297 - "bevy_state_macros", 1298 - "bevy_utils", 1299 - "log", 1300 - "variadics_please", 1301 - ] 1302 - 1303 - [[package]] 1304 - name = "bevy_state_macros" 1305 - version = "0.17.3" 1306 - source = "registry+https://github.com/rust-lang/crates.io-index" 1307 - checksum = "bcda45913b1d6470c6b751656e72fb3f25ca6b5b7b2ee055b294aaed1eb7e5ba" 1308 - dependencies = [ 1309 - "bevy_macro_utils", 1310 - "quote", 1311 - "syn", 1312 - ] 1313 - 1314 - [[package]] 1315 - name = "bevy_tasks" 1316 - version = "0.17.3" 1317 - source = "registry+https://github.com/rust-lang/crates.io-index" 1318 - checksum = "bcbbfa5a58a16c4228434d3018c23fde3d78dcd76ec5f5b2b482a21f4b158dd3" 1319 - dependencies = [ 1320 - "async-channel", 1321 - "async-executor", 1322 - "async-task", 1323 - "atomic-waker", 1324 - "bevy_platform", 1325 - "concurrent-queue", 1326 - "crossbeam-queue", 1327 - "derive_more", 1328 - "futures-lite", 1329 - "heapless", 1330 - "pin-project", 1331 - ] 1332 - 1333 - [[package]] 1334 - name = "bevy_text" 1335 - version = "0.17.3" 1336 - source = "registry+https://github.com/rust-lang/crates.io-index" 1337 - checksum = "fc144cc6a30ed44a88e342c22d9e3a66a0993a74f792ae07ba79318efb41a86d" 1338 - dependencies = [ 1339 - "bevy_app", 1340 - "bevy_asset", 1341 - "bevy_color", 1342 - "bevy_derive", 1343 - "bevy_ecs", 1344 - "bevy_image", 1345 - "bevy_log", 1346 - "bevy_math", 1347 - "bevy_platform", 1348 - "bevy_reflect", 1349 - "bevy_utils", 1350 - "cosmic-text", 1351 - "serde", 1352 - "smallvec", 1353 - "sys-locale", 1354 - "thiserror 2.0.17", 1355 - "tracing", 1356 - "wgpu-types", 1357 - ] 1358 - 1359 - [[package]] 1360 - name = "bevy_time" 1361 - version = "0.17.3" 1362 - source = "registry+https://github.com/rust-lang/crates.io-index" 1363 - checksum = "32835c3dbe082fbbe7d4f2f37f655073421f2882d4320ac2d59f922474260de4" 1364 - dependencies = [ 1365 - "bevy_app", 1366 - "bevy_ecs", 1367 - "bevy_platform", 1368 - "bevy_reflect", 1369 - "crossbeam-channel", 1370 - "log", 1371 - "serde", 1372 - ] 1373 - 1374 - [[package]] 1375 - name = "bevy_transform" 1376 - version = "0.17.3" 1377 - source = "registry+https://github.com/rust-lang/crates.io-index" 1378 - checksum = "b41fabfeaa53f51ff5ccf4d87e66836293159d50d21f6d3e16c93efb7c30f969" 1379 - dependencies = [ 1380 - "bevy_app", 1381 - "bevy_ecs", 1382 - "bevy_log", 1383 - "bevy_math", 1384 - "bevy_reflect", 1385 - "bevy_tasks", 1386 - "bevy_utils", 1387 - "derive_more", 1388 - "serde", 1389 - "thiserror 2.0.17", 1390 - ] 1391 - 1392 - [[package]] 1393 - name = "bevy_ui" 1394 - version = "0.17.3" 1395 - source = "registry+https://github.com/rust-lang/crates.io-index" 1396 - checksum = "aa0fe27b8c641c2537480774dfd9198d56779371b04dd76618db39da4e7c7483" 1397 - dependencies = [ 1398 - "accesskit", 1399 - "bevy_a11y", 1400 - "bevy_app", 1401 - "bevy_asset", 1402 - "bevy_camera", 1403 - "bevy_color", 1404 - "bevy_derive", 1405 - "bevy_ecs", 1406 - "bevy_image", 1407 - "bevy_input", 1408 - "bevy_math", 1409 - "bevy_picking", 1410 - "bevy_platform", 1411 - "bevy_reflect", 1412 - "bevy_sprite", 1413 - "bevy_text", 1414 - "bevy_transform", 1415 - "bevy_utils", 1416 - "bevy_window", 1417 - "derive_more", 1418 - "smallvec", 1419 - "taffy", 1420 - "thiserror 2.0.17", 1421 - "tracing", 1422 - "uuid", 1423 - ] 1424 - 1425 - [[package]] 1426 - name = "bevy_ui_render" 1427 - version = "0.17.3" 1428 - source = "registry+https://github.com/rust-lang/crates.io-index" 1429 - checksum = "d1d2e783bb5f0b748e6360a0055421d5c934b43830b205a84996a75e54330cd7" 1430 - dependencies = [ 1431 - "bevy_app", 1432 - "bevy_asset", 1433 - "bevy_camera", 1434 - "bevy_color", 1435 - "bevy_core_pipeline", 1436 - "bevy_derive", 1437 - "bevy_ecs", 1438 - "bevy_image", 1439 - "bevy_math", 1440 - "bevy_mesh", 1441 - "bevy_platform", 1442 - "bevy_reflect", 1443 - "bevy_render", 1444 - "bevy_shader", 1445 - "bevy_sprite", 1446 - "bevy_sprite_render", 1447 - "bevy_text", 1448 - "bevy_transform", 1449 - "bevy_ui", 1450 - "bevy_utils", 1451 - "bytemuck", 1452 - "derive_more", 1453 - "tracing", 1454 - ] 1455 - 1456 - [[package]] 1457 - name = "bevy_utils" 1458 - version = "0.17.3" 1459 - source = "registry+https://github.com/rust-lang/crates.io-index" 1460 - checksum = "789d04f88c764877a4552e07745b402dbc45f5d0545e6d102558f2f1752a1d89" 1461 - dependencies = [ 1462 - "bevy_platform", 1463 - "disqualified", 1464 - "thread_local", 1465 - ] 1466 - 1467 - [[package]] 1468 - name = "bevy_window" 1469 - version = "0.17.3" 1470 - source = "registry+https://github.com/rust-lang/crates.io-index" 1471 - checksum = "8ae54ec7a0fc344278592a688a01b57b32182abc3ca7d47040773c4cbc2e15e0" 1472 - dependencies = [ 1473 - "bevy_app", 1474 - "bevy_asset", 1475 - "bevy_ecs", 1476 - "bevy_image", 1477 - "bevy_input", 1478 - "bevy_math", 1479 - "bevy_platform", 1480 - "bevy_reflect", 1481 - "log", 1482 - "raw-window-handle", 1483 - "serde", 1484 - ] 1485 - 1486 - [[package]] 1487 - name = "bevy_winit" 1488 - version = "0.17.3" 1489 - source = "registry+https://github.com/rust-lang/crates.io-index" 1490 - checksum = "feeaa46d3c4480323e690de8a4ca7f914c074af1f5f70ee3246392992dbf4a0c" 1491 - dependencies = [ 1492 - "accesskit", 1493 - "accesskit_winit", 1494 - "approx", 1495 - "bevy_a11y", 1496 - "bevy_android", 1497 - "bevy_app", 1498 - "bevy_asset", 1499 - "bevy_derive", 1500 - "bevy_ecs", 1501 - "bevy_image", 1502 - "bevy_input", 1503 - "bevy_input_focus", 1504 - "bevy_log", 1505 - "bevy_math", 1506 - "bevy_platform", 1507 - "bevy_reflect", 1508 - "bevy_tasks", 1509 - "bevy_window", 1510 - "bytemuck", 1511 - "cfg-if", 1512 - "js-sys", 1513 - "tracing", 1514 - "wasm-bindgen", 1515 - "web-sys", 1516 - "wgpu-types", 1517 - "winit", 1518 - ] 1519 - 1520 - [[package]] 1521 - name = "bindgen" 1522 - version = "0.72.1" 1523 - source = "registry+https://github.com/rust-lang/crates.io-index" 1524 - checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" 1525 - dependencies = [ 1526 - "bitflags 2.10.0", 1527 - "cexpr", 1528 - "clang-sys", 1529 - "itertools 0.13.0", 1530 - "proc-macro2", 1531 - "quote", 1532 - "regex", 1533 - "rustc-hash 2.1.1", 1534 - "shlex", 1535 - "syn", 1536 - ] 1537 - 1538 - [[package]] 1539 - name = "bit-set" 1540 - version = "0.8.0" 1541 - source = "registry+https://github.com/rust-lang/crates.io-index" 1542 - checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" 1543 - dependencies = [ 1544 - "bit-vec", 1545 - ] 1546 - 1547 - [[package]] 1548 - name = "bit-vec" 1549 - version = "0.8.0" 1550 - source = "registry+https://github.com/rust-lang/crates.io-index" 1551 - checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" 1552 - 1553 - [[package]] 1554 - name = "bitflags" 1555 - version = "1.3.2" 1556 - source = "registry+https://github.com/rust-lang/crates.io-index" 1557 - checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 1558 - 1559 - [[package]] 1560 - name = "bitflags" 1561 - version = "2.10.0" 1562 - source = "registry+https://github.com/rust-lang/crates.io-index" 1563 - checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" 1564 - dependencies = [ 1565 - "bytemuck", 1566 - "serde_core", 1567 - ] 1568 - 1569 - [[package]] 1570 - name = "blake3" 1571 - version = "1.8.2" 1572 - source = "registry+https://github.com/rust-lang/crates.io-index" 1573 - checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" 1574 - dependencies = [ 1575 - "arrayref", 1576 - "arrayvec", 1577 - "cc", 1578 - "cfg-if", 1579 - "constant_time_eq", 1580 - ] 1581 - 1582 - [[package]] 1583 - name = "block" 1584 - version = "0.1.6" 1585 - source = "registry+https://github.com/rust-lang/crates.io-index" 1586 - checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 1587 - 1588 - [[package]] 1589 - name = "block2" 1590 - version = "0.5.1" 1591 - source = "registry+https://github.com/rust-lang/crates.io-index" 1592 - checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" 1593 - dependencies = [ 1594 - "objc2 0.5.2", 1595 - ] 1596 - 1597 - [[package]] 1598 - name = "block2" 1599 - version = "0.6.2" 1600 - source = "registry+https://github.com/rust-lang/crates.io-index" 1601 - checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" 1602 - dependencies = [ 1603 - "objc2 0.6.3", 1604 - ] 1605 - 1606 - [[package]] 1607 - name = "blocking" 1608 - version = "1.6.2" 1609 - source = "registry+https://github.com/rust-lang/crates.io-index" 1610 - checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" 1611 - dependencies = [ 1612 - "async-channel", 1613 - "async-task", 1614 - "futures-io", 1615 - "futures-lite", 1616 - "piper", 1617 - ] 1618 - 1619 - [[package]] 1620 - name = "bumpalo" 1621 - version = "3.19.0" 1622 - source = "registry+https://github.com/rust-lang/crates.io-index" 1623 - checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" 1624 - 1625 - [[package]] 1626 - name = "bytemuck" 1627 - version = "1.24.0" 1628 - source = "registry+https://github.com/rust-lang/crates.io-index" 1629 - checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" 1630 - dependencies = [ 1631 - "bytemuck_derive", 1632 - ] 1633 - 1634 - [[package]] 1635 - name = "bytemuck_derive" 1636 - version = "1.10.2" 1637 - source = "registry+https://github.com/rust-lang/crates.io-index" 1638 - checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" 1639 - dependencies = [ 1640 - "proc-macro2", 1641 - "quote", 1642 - "syn", 1643 - ] 1644 - 1645 - [[package]] 1646 - name = "byteorder" 1647 - version = "1.5.0" 1648 - source = "registry+https://github.com/rust-lang/crates.io-index" 1649 - checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 1650 - 1651 - [[package]] 1652 - name = "byteorder-lite" 1653 - version = "0.1.0" 1654 - source = "registry+https://github.com/rust-lang/crates.io-index" 1655 - checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" 1656 - 1657 - [[package]] 1658 - name = "bytes" 1659 - version = "1.11.0" 1660 - source = "registry+https://github.com/rust-lang/crates.io-index" 1661 - checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" 1662 - 1663 - [[package]] 1664 - name = "calloop" 1665 - version = "0.13.0" 1666 - source = "registry+https://github.com/rust-lang/crates.io-index" 1667 - checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" 1668 - dependencies = [ 1669 - "bitflags 2.10.0", 1670 - "log", 1671 - "polling", 1672 - "rustix 0.38.44", 1673 - "slab", 1674 - "thiserror 1.0.69", 1675 - ] 1676 - 1677 - [[package]] 1678 - name = "calloop-wayland-source" 1679 - version = "0.3.0" 1680 - source = "registry+https://github.com/rust-lang/crates.io-index" 1681 - checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" 1682 - dependencies = [ 1683 - "calloop", 1684 - "rustix 0.38.44", 1685 - "wayland-backend", 1686 - "wayland-client", 1687 - ] 1688 - 1689 - [[package]] 1690 - name = "cc" 1691 - version = "1.2.47" 1692 - source = "registry+https://github.com/rust-lang/crates.io-index" 1693 - checksum = "cd405d82c84ff7f35739f175f67d8b9fb7687a0e84ccdc78bd3568839827cf07" 1694 - dependencies = [ 1695 - "find-msvc-tools", 1696 - "jobserver", 1697 - "libc", 1698 - "shlex", 1699 - ] 1700 - 1701 - [[package]] 1702 - name = "cesu8" 1703 - version = "1.1.0" 1704 - source = "registry+https://github.com/rust-lang/crates.io-index" 1705 - checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 1706 - 1707 - [[package]] 1708 - name = "cexpr" 1709 - version = "0.6.0" 1710 - source = "registry+https://github.com/rust-lang/crates.io-index" 1711 - checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 1712 - dependencies = [ 1713 - "nom", 1714 - ] 1715 - 1716 - [[package]] 1717 12 name = "cfg-if" 1718 13 version = "1.0.4" 1719 14 source = "registry+https://github.com/rust-lang/crates.io-index" 1720 15 checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 1721 16 1722 17 [[package]] 1723 - name = "cfg_aliases" 1724 - version = "0.2.1" 18 + name = "dotenvy" 19 + version = "0.15.7" 1725 20 source = "registry+https://github.com/rust-lang/crates.io-index" 1726 - checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 1727 - 1728 - [[package]] 1729 - name = "clang-sys" 1730 - version = "1.8.1" 1731 - source = "registry+https://github.com/rust-lang/crates.io-index" 1732 - checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 1733 - dependencies = [ 1734 - "glob", 1735 - "libc", 1736 - "libloading", 1737 - ] 1738 - 1739 - [[package]] 1740 - name = "codespan-reporting" 1741 - version = "0.12.0" 1742 - source = "registry+https://github.com/rust-lang/crates.io-index" 1743 - checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" 1744 - dependencies = [ 1745 - "serde", 1746 - "termcolor", 1747 - "unicode-width", 1748 - ] 1749 - 1750 - [[package]] 1751 - name = "combine" 1752 - version = "4.6.7" 1753 - source = "registry+https://github.com/rust-lang/crates.io-index" 1754 - checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 1755 - dependencies = [ 1756 - "bytes", 1757 - "memchr", 1758 - ] 1759 - 1760 - [[package]] 1761 - name = "concurrent-queue" 1762 - version = "2.5.0" 1763 - source = "registry+https://github.com/rust-lang/crates.io-index" 1764 - checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 1765 - dependencies = [ 1766 - "crossbeam-utils", 1767 - "portable-atomic", 1768 - ] 1769 - 1770 - [[package]] 1771 - name = "console_error_panic_hook" 1772 - version = "0.1.7" 1773 - source = "registry+https://github.com/rust-lang/crates.io-index" 1774 - checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 1775 - dependencies = [ 1776 - "cfg-if", 1777 - "wasm-bindgen", 1778 - ] 1779 - 1780 - [[package]] 1781 - name = "const-fnv1a-hash" 1782 - version = "1.1.0" 1783 - source = "registry+https://github.com/rust-lang/crates.io-index" 1784 - checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca" 1785 - 1786 - [[package]] 1787 - name = "const_panic" 1788 - version = "0.2.15" 1789 - source = "registry+https://github.com/rust-lang/crates.io-index" 1790 - checksum = "e262cdaac42494e3ae34c43969f9cdeb7da178bdb4b66fa6a1ea2edb4c8ae652" 1791 - dependencies = [ 1792 - "typewit", 1793 - ] 1794 - 1795 - [[package]] 1796 - name = "const_soft_float" 1797 - version = "0.1.4" 1798 - source = "registry+https://github.com/rust-lang/crates.io-index" 1799 - checksum = "87ca1caa64ef4ed453e68bb3db612e51cf1b2f5b871337f0fcab1c8f87cc3dff" 1800 - 1801 - [[package]] 1802 - name = "constant_time_eq" 1803 - version = "0.3.1" 1804 - source = "registry+https://github.com/rust-lang/crates.io-index" 1805 - checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" 1806 - 1807 - [[package]] 1808 - name = "constgebra" 1809 - version = "0.1.4" 1810 - source = "registry+https://github.com/rust-lang/crates.io-index" 1811 - checksum = "e1aaf9b65849a68662ac6c0810c8893a765c960b907dd7cfab9c4a50bf764fbc" 1812 - dependencies = [ 1813 - "const_soft_float", 1814 - ] 1815 - 1816 - [[package]] 1817 - name = "core-foundation" 1818 - version = "0.9.4" 1819 - source = "registry+https://github.com/rust-lang/crates.io-index" 1820 - checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 1821 - dependencies = [ 1822 - "core-foundation-sys", 1823 - "libc", 1824 - ] 1825 - 1826 - [[package]] 1827 - name = "core-foundation" 1828 - version = "0.10.1" 1829 - source = "registry+https://github.com/rust-lang/crates.io-index" 1830 - checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" 1831 - dependencies = [ 1832 - "core-foundation-sys", 1833 - "libc", 1834 - ] 1835 - 1836 - [[package]] 1837 - name = "core-foundation-sys" 1838 - version = "0.8.7" 1839 - source = "registry+https://github.com/rust-lang/crates.io-index" 1840 - checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 1841 - 1842 - [[package]] 1843 - name = "core-graphics" 1844 - version = "0.23.2" 1845 - source = "registry+https://github.com/rust-lang/crates.io-index" 1846 - checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" 1847 - dependencies = [ 1848 - "bitflags 1.3.2", 1849 - "core-foundation 0.9.4", 1850 - "core-graphics-types 0.1.3", 1851 - "foreign-types", 1852 - "libc", 1853 - ] 1854 - 1855 - [[package]] 1856 - name = "core-graphics-types" 1857 - version = "0.1.3" 1858 - source = "registry+https://github.com/rust-lang/crates.io-index" 1859 - checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 1860 - dependencies = [ 1861 - "bitflags 1.3.2", 1862 - "core-foundation 0.9.4", 1863 - "libc", 1864 - ] 1865 - 1866 - [[package]] 1867 - name = "core-graphics-types" 1868 - version = "0.2.0" 1869 - source = "registry+https://github.com/rust-lang/crates.io-index" 1870 - checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" 1871 - dependencies = [ 1872 - "bitflags 2.10.0", 1873 - "core-foundation 0.10.1", 1874 - "libc", 1875 - ] 1876 - 1877 - [[package]] 1878 - name = "coreaudio-rs" 1879 - version = "0.11.3" 1880 - source = "registry+https://github.com/rust-lang/crates.io-index" 1881 - checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" 1882 - dependencies = [ 1883 - "bitflags 1.3.2", 1884 - "core-foundation-sys", 1885 - "coreaudio-sys", 1886 - ] 1887 - 1888 - [[package]] 1889 - name = "coreaudio-sys" 1890 - version = "0.2.17" 1891 - source = "registry+https://github.com/rust-lang/crates.io-index" 1892 - checksum = "ceec7a6067e62d6f931a2baf6f3a751f4a892595bcec1461a3c94ef9949864b6" 1893 - dependencies = [ 1894 - "bindgen", 1895 - ] 1896 - 1897 - [[package]] 1898 - name = "cosmic-text" 1899 - version = "0.14.2" 1900 - source = "registry+https://github.com/rust-lang/crates.io-index" 1901 - checksum = "da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8" 1902 - dependencies = [ 1903 - "bitflags 2.10.0", 1904 - "fontdb", 1905 - "log", 1906 - "rangemap", 1907 - "rustc-hash 1.1.0", 1908 - "rustybuzz", 1909 - "self_cell", 1910 - "smol_str", 1911 - "swash", 1912 - "sys-locale", 1913 - "ttf-parser 0.21.1", 1914 - "unicode-bidi", 1915 - "unicode-linebreak", 1916 - "unicode-script", 1917 - "unicode-segmentation", 1918 - ] 1919 - 1920 - [[package]] 1921 - name = "cpal" 1922 - version = "0.15.3" 1923 - source = "registry+https://github.com/rust-lang/crates.io-index" 1924 - checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" 1925 - dependencies = [ 1926 - "alsa", 1927 - "core-foundation-sys", 1928 - "coreaudio-rs", 1929 - "dasp_sample", 1930 - "jni", 1931 - "js-sys", 1932 - "libc", 1933 - "mach2", 1934 - "ndk 0.8.0", 1935 - "ndk-context", 1936 - "oboe", 1937 - "wasm-bindgen", 1938 - "wasm-bindgen-futures", 1939 - "web-sys", 1940 - "windows 0.54.0", 1941 - ] 1942 - 1943 - [[package]] 1944 - name = "crc32fast" 1945 - version = "1.5.0" 1946 - source = "registry+https://github.com/rust-lang/crates.io-index" 1947 - checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" 1948 - dependencies = [ 1949 - "cfg-if", 1950 - ] 1951 - 1952 - [[package]] 1953 - name = "critical-section" 1954 - version = "1.2.0" 1955 - source = "registry+https://github.com/rust-lang/crates.io-index" 1956 - checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" 1957 - 1958 - [[package]] 1959 - name = "crossbeam-channel" 1960 - version = "0.5.15" 1961 - source = "registry+https://github.com/rust-lang/crates.io-index" 1962 - checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" 1963 - dependencies = [ 1964 - "crossbeam-utils", 1965 - ] 1966 - 1967 - [[package]] 1968 - name = "crossbeam-queue" 1969 - version = "0.3.12" 1970 - source = "registry+https://github.com/rust-lang/crates.io-index" 1971 - checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" 1972 - dependencies = [ 1973 - "crossbeam-utils", 1974 - ] 1975 - 1976 - [[package]] 1977 - name = "crossbeam-utils" 1978 - version = "0.8.21" 1979 - source = "registry+https://github.com/rust-lang/crates.io-index" 1980 - checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 1981 - 1982 - [[package]] 1983 - name = "crunchy" 1984 - version = "0.2.4" 1985 - source = "registry+https://github.com/rust-lang/crates.io-index" 1986 - checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" 1987 - 1988 - [[package]] 1989 - name = "ctrlc" 1990 - version = "3.5.1" 1991 - source = "registry+https://github.com/rust-lang/crates.io-index" 1992 - checksum = "73736a89c4aff73035ba2ed2e565061954da00d4970fc9ac25dcc85a2a20d790" 1993 - dependencies = [ 1994 - "dispatch2", 1995 - "nix", 1996 - "windows-sys 0.61.2", 1997 - ] 1998 - 1999 - [[package]] 2000 - name = "cursor-icon" 2001 - version = "1.2.0" 2002 - source = "registry+https://github.com/rust-lang/crates.io-index" 2003 - checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" 2004 - 2005 - [[package]] 2006 - name = "dasp_sample" 2007 - version = "0.11.0" 2008 - source = "registry+https://github.com/rust-lang/crates.io-index" 2009 - checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" 2010 - 2011 - [[package]] 2012 - name = "data-encoding" 2013 - version = "2.9.0" 2014 - source = "registry+https://github.com/rust-lang/crates.io-index" 2015 - checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" 2016 - 2017 - [[package]] 2018 - name = "derive_more" 2019 - version = "2.0.1" 2020 - source = "registry+https://github.com/rust-lang/crates.io-index" 2021 - checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" 2022 - dependencies = [ 2023 - "derive_more-impl", 2024 - ] 2025 - 2026 - [[package]] 2027 - name = "derive_more-impl" 2028 - version = "2.0.1" 2029 - source = "registry+https://github.com/rust-lang/crates.io-index" 2030 - checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" 2031 - dependencies = [ 2032 - "proc-macro2", 2033 - "quote", 2034 - "syn", 2035 - "unicode-xid", 2036 - ] 2037 - 2038 - [[package]] 2039 - name = "dispatch" 2040 - version = "0.2.0" 2041 - source = "registry+https://github.com/rust-lang/crates.io-index" 2042 - checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 2043 - 2044 - [[package]] 2045 - name = "dispatch2" 2046 - version = "0.3.0" 2047 - source = "registry+https://github.com/rust-lang/crates.io-index" 2048 - checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" 2049 - dependencies = [ 2050 - "bitflags 2.10.0", 2051 - "block2 0.6.2", 2052 - "libc", 2053 - "objc2 0.6.3", 2054 - ] 2055 - 2056 - [[package]] 2057 - name = "disqualified" 2058 - version = "1.0.0" 2059 - source = "registry+https://github.com/rust-lang/crates.io-index" 2060 - checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" 2061 - 2062 - [[package]] 2063 - name = "dlib" 2064 - version = "0.5.2" 2065 - source = "registry+https://github.com/rust-lang/crates.io-index" 2066 - checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" 2067 - dependencies = [ 2068 - "libloading", 2069 - ] 2070 - 2071 - [[package]] 2072 - name = "document-features" 2073 - version = "0.2.12" 2074 - source = "registry+https://github.com/rust-lang/crates.io-index" 2075 - checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" 2076 - dependencies = [ 2077 - "litrs", 2078 - ] 2079 - 2080 - [[package]] 2081 - name = "downcast-rs" 2082 - version = "1.2.1" 2083 - source = "registry+https://github.com/rust-lang/crates.io-index" 2084 - checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" 2085 - 2086 - [[package]] 2087 - name = "downcast-rs" 2088 - version = "2.0.2" 2089 - source = "registry+https://github.com/rust-lang/crates.io-index" 2090 - checksum = "117240f60069e65410b3ae1bb213295bd828f707b5bec6596a1afc8793ce0cbc" 2091 - 2092 - [[package]] 2093 - name = "dpi" 2094 - version = "0.1.2" 2095 - source = "registry+https://github.com/rust-lang/crates.io-index" 2096 - checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" 2097 - 2098 - [[package]] 2099 - name = "either" 2100 - version = "1.15.0" 2101 - source = "registry+https://github.com/rust-lang/crates.io-index" 2102 - checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 2103 - 2104 - [[package]] 2105 - name = "encase" 2106 - version = "0.11.2" 2107 - source = "registry+https://github.com/rust-lang/crates.io-index" 2108 - checksum = "02ba239319a4f60905966390f5e52799d868103a533bb7e27822792332504ddd" 2109 - dependencies = [ 2110 - "const_panic", 2111 - "encase_derive", 2112 - "glam", 2113 - "thiserror 2.0.17", 2114 - ] 2115 - 2116 - [[package]] 2117 - name = "encase_derive" 2118 - version = "0.11.2" 2119 - source = "registry+https://github.com/rust-lang/crates.io-index" 2120 - checksum = "5223d6c647f09870553224f6e37261fe5567bc5a4f4cf13ed337476e79990f2f" 2121 - dependencies = [ 2122 - "encase_derive_impl", 2123 - ] 2124 - 2125 - [[package]] 2126 - name = "encase_derive_impl" 2127 - version = "0.11.2" 2128 - source = "registry+https://github.com/rust-lang/crates.io-index" 2129 - checksum = "1796db3d892515842ca2dfb11124c4bb4a9e58d9f2c5c1072e5bca1b2334507b" 2130 - dependencies = [ 2131 - "proc-macro2", 2132 - "quote", 2133 - "syn", 2134 - ] 2135 - 2136 - [[package]] 2137 - name = "equivalent" 2138 - version = "1.0.2" 2139 - source = "registry+https://github.com/rust-lang/crates.io-index" 2140 - checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 2141 - 2142 - [[package]] 2143 - name = "erased-serde" 2144 - version = "0.4.9" 2145 - source = "registry+https://github.com/rust-lang/crates.io-index" 2146 - checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" 2147 - dependencies = [ 2148 - "serde", 2149 - "serde_core", 2150 - "typeid", 2151 - ] 2152 - 2153 - [[package]] 2154 - name = "errno" 2155 - version = "0.3.14" 2156 - source = "registry+https://github.com/rust-lang/crates.io-index" 2157 - checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 2158 - dependencies = [ 2159 - "libc", 2160 - "windows-sys 0.61.2", 2161 - ] 2162 - 2163 - [[package]] 2164 - name = "euclid" 2165 - version = "0.22.11" 2166 - source = "registry+https://github.com/rust-lang/crates.io-index" 2167 - checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 2168 - dependencies = [ 2169 - "num-traits", 2170 - ] 2171 - 2172 - [[package]] 2173 - name = "event-listener" 2174 - version = "5.4.1" 2175 - source = "registry+https://github.com/rust-lang/crates.io-index" 2176 - checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" 2177 - dependencies = [ 2178 - "concurrent-queue", 2179 - "parking", 2180 - "pin-project-lite", 2181 - ] 2182 - 2183 - [[package]] 2184 - name = "event-listener-strategy" 2185 - version = "0.5.4" 2186 - source = "registry+https://github.com/rust-lang/crates.io-index" 2187 - checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" 2188 - dependencies = [ 2189 - "event-listener", 2190 - "pin-project-lite", 2191 - ] 2192 - 2193 - [[package]] 2194 - name = "fastrand" 2195 - version = "2.3.0" 2196 - source = "registry+https://github.com/rust-lang/crates.io-index" 2197 - checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 2198 - 2199 - [[package]] 2200 - name = "fdeflate" 2201 - version = "0.3.7" 2202 - source = "registry+https://github.com/rust-lang/crates.io-index" 2203 - checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" 2204 - dependencies = [ 2205 - "simd-adler32", 2206 - ] 21 + checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" 2207 22 2208 23 [[package]] 2209 24 name = "felix" 2210 25 version = "0.1.0" 2211 26 dependencies = [ 2212 27 "anyhow", 2213 - "bevy", 28 + "dotenvy", 2214 29 "nanoid", 2215 30 ] 2216 31 2217 32 [[package]] 2218 - name = "find-msvc-tools" 2219 - version = "0.1.5" 2220 - source = "registry+https://github.com/rust-lang/crates.io-index" 2221 - checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" 2222 - 2223 - [[package]] 2224 - name = "fixedbitset" 2225 - version = "0.5.7" 2226 - source = "registry+https://github.com/rust-lang/crates.io-index" 2227 - checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" 2228 - 2229 - [[package]] 2230 - name = "flate2" 2231 - version = "1.1.5" 2232 - source = "registry+https://github.com/rust-lang/crates.io-index" 2233 - checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" 2234 - dependencies = [ 2235 - "crc32fast", 2236 - "miniz_oxide", 2237 - ] 2238 - 2239 - [[package]] 2240 - name = "fnv" 2241 - version = "1.0.7" 2242 - source = "registry+https://github.com/rust-lang/crates.io-index" 2243 - checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 2244 - 2245 - [[package]] 2246 - name = "foldhash" 2247 - version = "0.1.5" 2248 - source = "registry+https://github.com/rust-lang/crates.io-index" 2249 - checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 2250 - 2251 - [[package]] 2252 - name = "foldhash" 2253 - version = "0.2.0" 2254 - source = "registry+https://github.com/rust-lang/crates.io-index" 2255 - checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" 2256 - 2257 - [[package]] 2258 - name = "font-types" 2259 - version = "0.10.1" 2260 - source = "registry+https://github.com/rust-lang/crates.io-index" 2261 - checksum = "39a654f404bbcbd48ea58c617c2993ee91d1cb63727a37bf2323a4edeed1b8c5" 2262 - dependencies = [ 2263 - "bytemuck", 2264 - ] 2265 - 2266 - [[package]] 2267 - name = "fontconfig-parser" 2268 - version = "0.5.8" 2269 - source = "registry+https://github.com/rust-lang/crates.io-index" 2270 - checksum = "bbc773e24e02d4ddd8395fd30dc147524273a83e54e0f312d986ea30de5f5646" 2271 - dependencies = [ 2272 - "roxmltree", 2273 - ] 2274 - 2275 - [[package]] 2276 - name = "fontdb" 2277 - version = "0.16.2" 2278 - source = "registry+https://github.com/rust-lang/crates.io-index" 2279 - checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" 2280 - dependencies = [ 2281 - "fontconfig-parser", 2282 - "log", 2283 - "memmap2", 2284 - "slotmap", 2285 - "tinyvec", 2286 - "ttf-parser 0.20.0", 2287 - ] 2288 - 2289 - [[package]] 2290 - name = "foreign-types" 2291 - version = "0.5.0" 2292 - source = "registry+https://github.com/rust-lang/crates.io-index" 2293 - checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 2294 - dependencies = [ 2295 - "foreign-types-macros", 2296 - "foreign-types-shared", 2297 - ] 2298 - 2299 - [[package]] 2300 - name = "foreign-types-macros" 2301 - version = "0.2.3" 2302 - source = "registry+https://github.com/rust-lang/crates.io-index" 2303 - checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 2304 - dependencies = [ 2305 - "proc-macro2", 2306 - "quote", 2307 - "syn", 2308 - ] 2309 - 2310 - [[package]] 2311 - name = "foreign-types-shared" 2312 - version = "0.3.1" 2313 - source = "registry+https://github.com/rust-lang/crates.io-index" 2314 - checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 2315 - 2316 - [[package]] 2317 - name = "futures-channel" 2318 - version = "0.3.31" 2319 - source = "registry+https://github.com/rust-lang/crates.io-index" 2320 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 2321 - dependencies = [ 2322 - "futures-core", 2323 - ] 2324 - 2325 - [[package]] 2326 - name = "futures-core" 2327 - version = "0.3.31" 2328 - source = "registry+https://github.com/rust-lang/crates.io-index" 2329 - checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 2330 - 2331 - [[package]] 2332 - name = "futures-io" 2333 - version = "0.3.31" 2334 - source = "registry+https://github.com/rust-lang/crates.io-index" 2335 - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 2336 - 2337 - [[package]] 2338 - name = "futures-lite" 2339 - version = "2.6.1" 2340 - source = "registry+https://github.com/rust-lang/crates.io-index" 2341 - checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" 2342 - dependencies = [ 2343 - "fastrand", 2344 - "futures-core", 2345 - "futures-io", 2346 - "parking", 2347 - "pin-project-lite", 2348 - ] 2349 - 2350 - [[package]] 2351 - name = "gethostname" 2352 - version = "1.1.0" 2353 - source = "registry+https://github.com/rust-lang/crates.io-index" 2354 - checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" 2355 - dependencies = [ 2356 - "rustix 1.1.2", 2357 - "windows-link 0.2.1", 2358 - ] 2359 - 2360 - [[package]] 2361 33 name = "getrandom" 2362 34 version = "0.2.16" 2363 35 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2369 41 ] 2370 42 2371 43 [[package]] 2372 - name = "getrandom" 2373 - version = "0.3.4" 2374 - source = "registry+https://github.com/rust-lang/crates.io-index" 2375 - checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 2376 - dependencies = [ 2377 - "cfg-if", 2378 - "js-sys", 2379 - "libc", 2380 - "r-efi", 2381 - "wasip2", 2382 - "wasm-bindgen", 2383 - ] 2384 - 2385 - [[package]] 2386 - name = "gilrs" 2387 - version = "0.11.0" 2388 - source = "registry+https://github.com/rust-lang/crates.io-index" 2389 - checksum = "bbb2c998745a3c1ac90f64f4f7b3a54219fd3612d7705e7798212935641ed18f" 2390 - dependencies = [ 2391 - "fnv", 2392 - "gilrs-core", 2393 - "log", 2394 - "uuid", 2395 - "vec_map", 2396 - ] 2397 - 2398 - [[package]] 2399 - name = "gilrs-core" 2400 - version = "0.6.6" 2401 - source = "registry+https://github.com/rust-lang/crates.io-index" 2402 - checksum = "be11a71ac3564f6965839e2ed275bf4fcf5ce16d80d396e1dfdb7b2d80bd587e" 2403 - dependencies = [ 2404 - "core-foundation 0.10.1", 2405 - "inotify", 2406 - "io-kit-sys", 2407 - "js-sys", 2408 - "libc", 2409 - "libudev-sys", 2410 - "log", 2411 - "nix", 2412 - "uuid", 2413 - "vec_map", 2414 - "wasm-bindgen", 2415 - "web-sys", 2416 - "windows 0.62.2", 2417 - ] 2418 - 2419 - [[package]] 2420 - name = "gl_generator" 2421 - version = "0.14.0" 2422 - source = "registry+https://github.com/rust-lang/crates.io-index" 2423 - checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" 2424 - dependencies = [ 2425 - "khronos_api", 2426 - "log", 2427 - "xml-rs", 2428 - ] 2429 - 2430 - [[package]] 2431 - name = "glam" 2432 - version = "0.30.9" 2433 - source = "registry+https://github.com/rust-lang/crates.io-index" 2434 - checksum = "bd47b05dddf0005d850e5644cae7f2b14ac3df487979dbfff3b56f20b1a6ae46" 2435 - dependencies = [ 2436 - "bytemuck", 2437 - "libm", 2438 - "rand 0.9.2", 2439 - "serde_core", 2440 - ] 2441 - 2442 - [[package]] 2443 - name = "glob" 2444 - version = "0.3.3" 2445 - source = "registry+https://github.com/rust-lang/crates.io-index" 2446 - checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" 2447 - 2448 - [[package]] 2449 - name = "glow" 2450 - version = "0.16.0" 2451 - source = "registry+https://github.com/rust-lang/crates.io-index" 2452 - checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" 2453 - dependencies = [ 2454 - "js-sys", 2455 - "slotmap", 2456 - "wasm-bindgen", 2457 - "web-sys", 2458 - ] 2459 - 2460 - [[package]] 2461 - name = "gltf" 2462 - version = "1.4.1" 2463 - source = "registry+https://github.com/rust-lang/crates.io-index" 2464 - checksum = "e3ce1918195723ce6ac74e80542c5a96a40c2b26162c1957a5cd70799b8cacf7" 2465 - dependencies = [ 2466 - "byteorder", 2467 - "gltf-json", 2468 - "lazy_static", 2469 - "serde_json", 2470 - ] 2471 - 2472 - [[package]] 2473 - name = "gltf-derive" 2474 - version = "1.4.1" 2475 - source = "registry+https://github.com/rust-lang/crates.io-index" 2476 - checksum = "14070e711538afba5d6c807edb74bcb84e5dbb9211a3bf5dea0dfab5b24f4c51" 2477 - dependencies = [ 2478 - "inflections", 2479 - "proc-macro2", 2480 - "quote", 2481 - "syn", 2482 - ] 2483 - 2484 - [[package]] 2485 - name = "gltf-json" 2486 - version = "1.4.1" 2487 - source = "registry+https://github.com/rust-lang/crates.io-index" 2488 - checksum = "e6176f9d60a7eab0a877e8e96548605dedbde9190a7ae1e80bbcc1c9af03ab14" 2489 - dependencies = [ 2490 - "gltf-derive", 2491 - "serde", 2492 - "serde_derive", 2493 - "serde_json", 2494 - ] 2495 - 2496 - [[package]] 2497 - name = "glutin_wgl_sys" 2498 - version = "0.6.1" 2499 - source = "registry+https://github.com/rust-lang/crates.io-index" 2500 - checksum = "2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e" 2501 - dependencies = [ 2502 - "gl_generator", 2503 - ] 2504 - 2505 - [[package]] 2506 - name = "gpu-alloc" 2507 - version = "0.6.0" 2508 - source = "registry+https://github.com/rust-lang/crates.io-index" 2509 - checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" 2510 - dependencies = [ 2511 - "bitflags 2.10.0", 2512 - "gpu-alloc-types", 2513 - ] 2514 - 2515 - [[package]] 2516 - name = "gpu-alloc-types" 2517 - version = "0.3.0" 2518 - source = "registry+https://github.com/rust-lang/crates.io-index" 2519 - checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" 2520 - dependencies = [ 2521 - "bitflags 2.10.0", 2522 - ] 2523 - 2524 - [[package]] 2525 - name = "gpu-allocator" 2526 - version = "0.27.0" 2527 - source = "registry+https://github.com/rust-lang/crates.io-index" 2528 - checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" 2529 - dependencies = [ 2530 - "log", 2531 - "presser", 2532 - "thiserror 1.0.69", 2533 - "windows 0.58.0", 2534 - ] 2535 - 2536 - [[package]] 2537 - name = "gpu-descriptor" 2538 - version = "0.3.2" 2539 - source = "registry+https://github.com/rust-lang/crates.io-index" 2540 - checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" 2541 - dependencies = [ 2542 - "bitflags 2.10.0", 2543 - "gpu-descriptor-types", 2544 - "hashbrown 0.15.5", 2545 - ] 2546 - 2547 - [[package]] 2548 - name = "gpu-descriptor-types" 2549 - version = "0.2.0" 2550 - source = "registry+https://github.com/rust-lang/crates.io-index" 2551 - checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" 2552 - dependencies = [ 2553 - "bitflags 2.10.0", 2554 - ] 2555 - 2556 - [[package]] 2557 - name = "grid" 2558 - version = "0.15.0" 2559 - source = "registry+https://github.com/rust-lang/crates.io-index" 2560 - checksum = "36119f3a540b086b4e436bb2b588cf98a68863470e0e880f4d0842f112a3183a" 2561 - 2562 - [[package]] 2563 - name = "guillotiere" 2564 - version = "0.6.2" 2565 - source = "registry+https://github.com/rust-lang/crates.io-index" 2566 - checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" 2567 - dependencies = [ 2568 - "euclid", 2569 - "svg_fmt", 2570 - ] 2571 - 2572 - [[package]] 2573 - name = "half" 2574 - version = "2.7.1" 2575 - source = "registry+https://github.com/rust-lang/crates.io-index" 2576 - checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" 2577 - dependencies = [ 2578 - "cfg-if", 2579 - "crunchy", 2580 - "num-traits", 2581 - "zerocopy", 2582 - ] 2583 - 2584 - [[package]] 2585 - name = "hash32" 2586 - version = "0.3.1" 2587 - source = "registry+https://github.com/rust-lang/crates.io-index" 2588 - checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" 2589 - dependencies = [ 2590 - "byteorder", 2591 - ] 2592 - 2593 - [[package]] 2594 - name = "hashbrown" 2595 - version = "0.15.5" 2596 - source = "registry+https://github.com/rust-lang/crates.io-index" 2597 - checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 2598 - dependencies = [ 2599 - "foldhash 0.1.5", 2600 - ] 2601 - 2602 - [[package]] 2603 - name = "hashbrown" 2604 - version = "0.16.1" 2605 - source = "registry+https://github.com/rust-lang/crates.io-index" 2606 - checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 2607 - dependencies = [ 2608 - "equivalent", 2609 - "serde", 2610 - "serde_core", 2611 - ] 2612 - 2613 - [[package]] 2614 - name = "heapless" 2615 - version = "0.8.0" 2616 - source = "registry+https://github.com/rust-lang/crates.io-index" 2617 - checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" 2618 - dependencies = [ 2619 - "hash32", 2620 - "portable-atomic", 2621 - "stable_deref_trait", 2622 - ] 2623 - 2624 - [[package]] 2625 - name = "hermit-abi" 2626 - version = "0.5.2" 2627 - source = "registry+https://github.com/rust-lang/crates.io-index" 2628 - checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" 2629 - 2630 - [[package]] 2631 - name = "hexasphere" 2632 - version = "16.0.0" 2633 - source = "registry+https://github.com/rust-lang/crates.io-index" 2634 - checksum = "29a164ceff4500f2a72b1d21beaa8aa8ad83aec2b641844c659b190cb3ea2e0b" 2635 - dependencies = [ 2636 - "constgebra", 2637 - "glam", 2638 - "tinyvec", 2639 - ] 2640 - 2641 - [[package]] 2642 - name = "hexf-parse" 2643 - version = "0.2.1" 2644 - source = "registry+https://github.com/rust-lang/crates.io-index" 2645 - checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" 2646 - 2647 - [[package]] 2648 - name = "image" 2649 - version = "0.25.9" 2650 - source = "registry+https://github.com/rust-lang/crates.io-index" 2651 - checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" 2652 - dependencies = [ 2653 - "bytemuck", 2654 - "byteorder-lite", 2655 - "moxcms", 2656 - "num-traits", 2657 - "png", 2658 - ] 2659 - 2660 - [[package]] 2661 - name = "indexmap" 2662 - version = "2.12.1" 2663 - source = "registry+https://github.com/rust-lang/crates.io-index" 2664 - checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" 2665 - dependencies = [ 2666 - "equivalent", 2667 - "hashbrown 0.16.1", 2668 - "serde", 2669 - "serde_core", 2670 - ] 2671 - 2672 - [[package]] 2673 - name = "inflections" 2674 - version = "1.1.1" 2675 - source = "registry+https://github.com/rust-lang/crates.io-index" 2676 - checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" 2677 - 2678 - [[package]] 2679 - name = "inotify" 2680 - version = "0.11.0" 2681 - source = "registry+https://github.com/rust-lang/crates.io-index" 2682 - checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" 2683 - dependencies = [ 2684 - "bitflags 2.10.0", 2685 - "inotify-sys", 2686 - "libc", 2687 - ] 2688 - 2689 - [[package]] 2690 - name = "inotify-sys" 2691 - version = "0.1.5" 2692 - source = "registry+https://github.com/rust-lang/crates.io-index" 2693 - checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" 2694 - dependencies = [ 2695 - "libc", 2696 - ] 2697 - 2698 - [[package]] 2699 - name = "inventory" 2700 - version = "0.3.21" 2701 - source = "registry+https://github.com/rust-lang/crates.io-index" 2702 - checksum = "bc61209c082fbeb19919bee74b176221b27223e27b65d781eb91af24eb1fb46e" 2703 - dependencies = [ 2704 - "rustversion", 2705 - ] 2706 - 2707 - [[package]] 2708 - name = "io-kit-sys" 2709 - version = "0.4.1" 2710 - source = "registry+https://github.com/rust-lang/crates.io-index" 2711 - checksum = "617ee6cf8e3f66f3b4ea67a4058564628cde41901316e19f559e14c7c72c5e7b" 2712 - dependencies = [ 2713 - "core-foundation-sys", 2714 - "mach2", 2715 - ] 2716 - 2717 - [[package]] 2718 - name = "itertools" 2719 - version = "0.13.0" 2720 - source = "registry+https://github.com/rust-lang/crates.io-index" 2721 - checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 2722 - dependencies = [ 2723 - "either", 2724 - ] 2725 - 2726 - [[package]] 2727 - name = "itertools" 2728 - version = "0.14.0" 2729 - source = "registry+https://github.com/rust-lang/crates.io-index" 2730 - checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" 2731 - dependencies = [ 2732 - "either", 2733 - ] 2734 - 2735 - [[package]] 2736 - name = "itoa" 2737 - version = "1.0.15" 2738 - source = "registry+https://github.com/rust-lang/crates.io-index" 2739 - checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 2740 - 2741 - [[package]] 2742 - name = "jni" 2743 - version = "0.21.1" 2744 - source = "registry+https://github.com/rust-lang/crates.io-index" 2745 - checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 2746 - dependencies = [ 2747 - "cesu8", 2748 - "cfg-if", 2749 - "combine", 2750 - "jni-sys", 2751 - "log", 2752 - "thiserror 1.0.69", 2753 - "walkdir", 2754 - "windows-sys 0.45.0", 2755 - ] 2756 - 2757 - [[package]] 2758 - name = "jni-sys" 2759 - version = "0.3.0" 2760 - source = "registry+https://github.com/rust-lang/crates.io-index" 2761 - checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 2762 - 2763 - [[package]] 2764 - name = "jobserver" 2765 - version = "0.1.34" 2766 - source = "registry+https://github.com/rust-lang/crates.io-index" 2767 - checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" 2768 - dependencies = [ 2769 - "getrandom 0.3.4", 2770 - "libc", 2771 - ] 2772 - 2773 - [[package]] 2774 - name = "js-sys" 2775 - version = "0.3.82" 2776 - source = "registry+https://github.com/rust-lang/crates.io-index" 2777 - checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" 2778 - dependencies = [ 2779 - "once_cell", 2780 - "wasm-bindgen", 2781 - ] 2782 - 2783 - [[package]] 2784 - name = "khronos-egl" 2785 - version = "6.0.0" 2786 - source = "registry+https://github.com/rust-lang/crates.io-index" 2787 - checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" 2788 - dependencies = [ 2789 - "libc", 2790 - "libloading", 2791 - "pkg-config", 2792 - ] 2793 - 2794 - [[package]] 2795 - name = "khronos_api" 2796 - version = "3.1.0" 2797 - source = "registry+https://github.com/rust-lang/crates.io-index" 2798 - checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" 2799 - 2800 - [[package]] 2801 - name = "ktx2" 2802 - version = "0.4.0" 2803 - source = "registry+https://github.com/rust-lang/crates.io-index" 2804 - checksum = "ff7f53bdf698e7aa7ec916411bbdc8078135da11b66db5182675b2227f6c0d07" 2805 - dependencies = [ 2806 - "bitflags 2.10.0", 2807 - ] 2808 - 2809 - [[package]] 2810 - name = "lazy_static" 2811 - version = "1.5.0" 2812 - source = "registry+https://github.com/rust-lang/crates.io-index" 2813 - checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 2814 - 2815 - [[package]] 2816 - name = "lewton" 2817 - version = "0.10.2" 2818 - source = "registry+https://github.com/rust-lang/crates.io-index" 2819 - checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" 2820 - dependencies = [ 2821 - "byteorder", 2822 - "ogg", 2823 - "tinyvec", 2824 - ] 2825 - 2826 - [[package]] 2827 44 name = "libc" 2828 45 version = "0.2.177" 2829 46 source = "registry+https://github.com/rust-lang/crates.io-index" 2830 47 checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" 2831 48 2832 49 [[package]] 2833 - name = "libloading" 2834 - version = "0.8.9" 2835 - source = "registry+https://github.com/rust-lang/crates.io-index" 2836 - checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" 2837 - dependencies = [ 2838 - "cfg-if", 2839 - "windows-link 0.2.1", 2840 - ] 2841 - 2842 - [[package]] 2843 - name = "libm" 2844 - version = "0.2.15" 2845 - source = "registry+https://github.com/rust-lang/crates.io-index" 2846 - checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" 2847 - 2848 - [[package]] 2849 - name = "libredox" 2850 - version = "0.1.10" 2851 - source = "registry+https://github.com/rust-lang/crates.io-index" 2852 - checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" 2853 - dependencies = [ 2854 - "bitflags 2.10.0", 2855 - "libc", 2856 - "redox_syscall 0.5.18", 2857 - ] 2858 - 2859 - [[package]] 2860 - name = "libudev-sys" 2861 - version = "0.1.4" 2862 - source = "registry+https://github.com/rust-lang/crates.io-index" 2863 - checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" 2864 - dependencies = [ 2865 - "libc", 2866 - "pkg-config", 2867 - ] 2868 - 2869 - [[package]] 2870 - name = "linux-raw-sys" 2871 - version = "0.4.15" 2872 - source = "registry+https://github.com/rust-lang/crates.io-index" 2873 - checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" 2874 - 2875 - [[package]] 2876 - name = "linux-raw-sys" 2877 - version = "0.11.0" 2878 - source = "registry+https://github.com/rust-lang/crates.io-index" 2879 - checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" 2880 - 2881 - [[package]] 2882 - name = "litrs" 2883 - version = "1.0.0" 2884 - source = "registry+https://github.com/rust-lang/crates.io-index" 2885 - checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" 2886 - 2887 - [[package]] 2888 - name = "lock_api" 2889 - version = "0.4.14" 2890 - source = "registry+https://github.com/rust-lang/crates.io-index" 2891 - checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 2892 - dependencies = [ 2893 - "scopeguard", 2894 - ] 2895 - 2896 - [[package]] 2897 - name = "log" 2898 - version = "0.4.28" 2899 - source = "registry+https://github.com/rust-lang/crates.io-index" 2900 - checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 2901 - 2902 - [[package]] 2903 - name = "mach2" 2904 - version = "0.4.3" 2905 - source = "registry+https://github.com/rust-lang/crates.io-index" 2906 - checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" 2907 - dependencies = [ 2908 - "libc", 2909 - ] 2910 - 2911 - [[package]] 2912 - name = "malloc_buf" 2913 - version = "0.0.6" 2914 - source = "registry+https://github.com/rust-lang/crates.io-index" 2915 - checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 2916 - dependencies = [ 2917 - "libc", 2918 - ] 2919 - 2920 - [[package]] 2921 - name = "matchers" 2922 - version = "0.2.0" 2923 - source = "registry+https://github.com/rust-lang/crates.io-index" 2924 - checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" 2925 - dependencies = [ 2926 - "regex-automata", 2927 - ] 2928 - 2929 - [[package]] 2930 - name = "memchr" 2931 - version = "2.7.6" 2932 - source = "registry+https://github.com/rust-lang/crates.io-index" 2933 - checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 2934 - 2935 - [[package]] 2936 - name = "memmap2" 2937 - version = "0.9.9" 2938 - source = "registry+https://github.com/rust-lang/crates.io-index" 2939 - checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" 2940 - dependencies = [ 2941 - "libc", 2942 - ] 2943 - 2944 - [[package]] 2945 - name = "metal" 2946 - version = "0.32.0" 2947 - source = "registry+https://github.com/rust-lang/crates.io-index" 2948 - checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" 2949 - dependencies = [ 2950 - "bitflags 2.10.0", 2951 - "block", 2952 - "core-graphics-types 0.2.0", 2953 - "foreign-types", 2954 - "log", 2955 - "objc", 2956 - "paste", 2957 - ] 2958 - 2959 - [[package]] 2960 - name = "minimal-lexical" 2961 - version = "0.2.1" 2962 - source = "registry+https://github.com/rust-lang/crates.io-index" 2963 - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2964 - 2965 - [[package]] 2966 - name = "miniz_oxide" 2967 - version = "0.8.9" 2968 - source = "registry+https://github.com/rust-lang/crates.io-index" 2969 - checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" 2970 - dependencies = [ 2971 - "adler2", 2972 - "simd-adler32", 2973 - ] 2974 - 2975 - [[package]] 2976 - name = "moxcms" 2977 - version = "0.7.9" 2978 - source = "registry+https://github.com/rust-lang/crates.io-index" 2979 - checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" 2980 - dependencies = [ 2981 - "num-traits", 2982 - "pxfm", 2983 - ] 2984 - 2985 - [[package]] 2986 - name = "naga" 2987 - version = "26.0.0" 2988 - source = "registry+https://github.com/rust-lang/crates.io-index" 2989 - checksum = "916cbc7cb27db60be930a4e2da243cf4bc39569195f22fd8ee419cd31d5b662c" 2990 - dependencies = [ 2991 - "arrayvec", 2992 - "bit-set", 2993 - "bitflags 2.10.0", 2994 - "cfg-if", 2995 - "cfg_aliases", 2996 - "codespan-reporting", 2997 - "half", 2998 - "hashbrown 0.15.5", 2999 - "hexf-parse", 3000 - "indexmap", 3001 - "libm", 3002 - "log", 3003 - "num-traits", 3004 - "once_cell", 3005 - "pp-rs", 3006 - "rustc-hash 1.1.0", 3007 - "spirv", 3008 - "thiserror 2.0.17", 3009 - "unicode-ident", 3010 - ] 3011 - 3012 - [[package]] 3013 - name = "naga_oil" 3014 - version = "0.19.1" 3015 - source = "registry+https://github.com/rust-lang/crates.io-index" 3016 - checksum = "1b586d3cf5c9b7e13fe2af6e114406ff70773fd80881960378933b63e76f37dd" 3017 - dependencies = [ 3018 - "codespan-reporting", 3019 - "data-encoding", 3020 - "indexmap", 3021 - "naga", 3022 - "regex", 3023 - "rustc-hash 1.1.0", 3024 - "thiserror 2.0.17", 3025 - "tracing", 3026 - "unicode-ident", 3027 - ] 3028 - 3029 - [[package]] 3030 50 name = "nanoid" 3031 51 version = "0.4.0" 3032 52 source = "registry+https://github.com/rust-lang/crates.io-index" 3033 53 checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" 3034 54 dependencies = [ 3035 - "rand 0.8.5", 3036 - ] 3037 - 3038 - [[package]] 3039 - name = "ndk" 3040 - version = "0.8.0" 3041 - source = "registry+https://github.com/rust-lang/crates.io-index" 3042 - checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" 3043 - dependencies = [ 3044 - "bitflags 2.10.0", 3045 - "jni-sys", 3046 - "log", 3047 - "ndk-sys 0.5.0+25.2.9519653", 3048 - "num_enum", 3049 - "thiserror 1.0.69", 3050 - ] 3051 - 3052 - [[package]] 3053 - name = "ndk" 3054 - version = "0.9.0" 3055 - source = "registry+https://github.com/rust-lang/crates.io-index" 3056 - checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" 3057 - dependencies = [ 3058 - "bitflags 2.10.0", 3059 - "jni-sys", 3060 - "log", 3061 - "ndk-sys 0.6.0+11769913", 3062 - "num_enum", 3063 - "raw-window-handle", 3064 - "thiserror 1.0.69", 3065 - ] 3066 - 3067 - [[package]] 3068 - name = "ndk-context" 3069 - version = "0.1.1" 3070 - source = "registry+https://github.com/rust-lang/crates.io-index" 3071 - checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 3072 - 3073 - [[package]] 3074 - name = "ndk-sys" 3075 - version = "0.5.0+25.2.9519653" 3076 - source = "registry+https://github.com/rust-lang/crates.io-index" 3077 - checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" 3078 - dependencies = [ 3079 - "jni-sys", 3080 - ] 3081 - 3082 - [[package]] 3083 - name = "ndk-sys" 3084 - version = "0.6.0+11769913" 3085 - source = "registry+https://github.com/rust-lang/crates.io-index" 3086 - checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" 3087 - dependencies = [ 3088 - "jni-sys", 3089 - ] 3090 - 3091 - [[package]] 3092 - name = "nix" 3093 - version = "0.30.1" 3094 - source = "registry+https://github.com/rust-lang/crates.io-index" 3095 - checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" 3096 - dependencies = [ 3097 - "bitflags 2.10.0", 3098 - "cfg-if", 3099 - "cfg_aliases", 3100 - "libc", 3101 - ] 3102 - 3103 - [[package]] 3104 - name = "nom" 3105 - version = "7.1.3" 3106 - source = "registry+https://github.com/rust-lang/crates.io-index" 3107 - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 3108 - dependencies = [ 3109 - "memchr", 3110 - "minimal-lexical", 3111 - ] 3112 - 3113 - [[package]] 3114 - name = "nonmax" 3115 - version = "0.5.5" 3116 - source = "registry+https://github.com/rust-lang/crates.io-index" 3117 - checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" 3118 - 3119 - [[package]] 3120 - name = "ntapi" 3121 - version = "0.4.1" 3122 - source = "registry+https://github.com/rust-lang/crates.io-index" 3123 - checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" 3124 - dependencies = [ 3125 - "winapi", 3126 - ] 3127 - 3128 - [[package]] 3129 - name = "nu-ansi-term" 3130 - version = "0.50.3" 3131 - source = "registry+https://github.com/rust-lang/crates.io-index" 3132 - checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" 3133 - dependencies = [ 3134 - "windows-sys 0.61.2", 3135 - ] 3136 - 3137 - [[package]] 3138 - name = "num-derive" 3139 - version = "0.4.2" 3140 - source = "registry+https://github.com/rust-lang/crates.io-index" 3141 - checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" 3142 - dependencies = [ 3143 - "proc-macro2", 3144 - "quote", 3145 - "syn", 3146 - ] 3147 - 3148 - [[package]] 3149 - name = "num-traits" 3150 - version = "0.2.19" 3151 - source = "registry+https://github.com/rust-lang/crates.io-index" 3152 - checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 3153 - dependencies = [ 3154 - "autocfg", 3155 - "libm", 3156 - ] 3157 - 3158 - [[package]] 3159 - name = "num_enum" 3160 - version = "0.7.5" 3161 - source = "registry+https://github.com/rust-lang/crates.io-index" 3162 - checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" 3163 - dependencies = [ 3164 - "num_enum_derive", 3165 - "rustversion", 3166 - ] 3167 - 3168 - [[package]] 3169 - name = "num_enum_derive" 3170 - version = "0.7.5" 3171 - source = "registry+https://github.com/rust-lang/crates.io-index" 3172 - checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" 3173 - dependencies = [ 3174 - "proc-macro-crate", 3175 - "proc-macro2", 3176 - "quote", 3177 - "syn", 3178 - ] 3179 - 3180 - [[package]] 3181 - name = "objc" 3182 - version = "0.2.7" 3183 - source = "registry+https://github.com/rust-lang/crates.io-index" 3184 - checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 3185 - dependencies = [ 3186 - "malloc_buf", 3187 - ] 3188 - 3189 - [[package]] 3190 - name = "objc-sys" 3191 - version = "0.3.5" 3192 - source = "registry+https://github.com/rust-lang/crates.io-index" 3193 - checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" 3194 - 3195 - [[package]] 3196 - name = "objc2" 3197 - version = "0.5.2" 3198 - source = "registry+https://github.com/rust-lang/crates.io-index" 3199 - checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" 3200 - dependencies = [ 3201 - "objc-sys", 3202 - "objc2-encode", 3203 - ] 3204 - 3205 - [[package]] 3206 - name = "objc2" 3207 - version = "0.6.3" 3208 - source = "registry+https://github.com/rust-lang/crates.io-index" 3209 - checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" 3210 - dependencies = [ 3211 - "objc2-encode", 3212 - ] 3213 - 3214 - [[package]] 3215 - name = "objc2-app-kit" 3216 - version = "0.2.2" 3217 - source = "registry+https://github.com/rust-lang/crates.io-index" 3218 - checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" 3219 - dependencies = [ 3220 - "bitflags 2.10.0", 3221 - "block2 0.5.1", 3222 - "libc", 3223 - "objc2 0.5.2", 3224 - "objc2-core-data", 3225 - "objc2-core-image", 3226 - "objc2-foundation", 3227 - "objc2-quartz-core", 3228 - ] 3229 - 3230 - [[package]] 3231 - name = "objc2-cloud-kit" 3232 - version = "0.2.2" 3233 - source = "registry+https://github.com/rust-lang/crates.io-index" 3234 - checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" 3235 - dependencies = [ 3236 - "bitflags 2.10.0", 3237 - "block2 0.5.1", 3238 - "objc2 0.5.2", 3239 - "objc2-core-location", 3240 - "objc2-foundation", 3241 - ] 3242 - 3243 - [[package]] 3244 - name = "objc2-contacts" 3245 - version = "0.2.2" 3246 - source = "registry+https://github.com/rust-lang/crates.io-index" 3247 - checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" 3248 - dependencies = [ 3249 - "block2 0.5.1", 3250 - "objc2 0.5.2", 3251 - "objc2-foundation", 3252 - ] 3253 - 3254 - [[package]] 3255 - name = "objc2-core-data" 3256 - version = "0.2.2" 3257 - source = "registry+https://github.com/rust-lang/crates.io-index" 3258 - checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" 3259 - dependencies = [ 3260 - "bitflags 2.10.0", 3261 - "block2 0.5.1", 3262 - "objc2 0.5.2", 3263 - "objc2-foundation", 3264 - ] 3265 - 3266 - [[package]] 3267 - name = "objc2-core-foundation" 3268 - version = "0.3.2" 3269 - source = "registry+https://github.com/rust-lang/crates.io-index" 3270 - checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" 3271 - dependencies = [ 3272 - "bitflags 2.10.0", 3273 - ] 3274 - 3275 - [[package]] 3276 - name = "objc2-core-image" 3277 - version = "0.2.2" 3278 - source = "registry+https://github.com/rust-lang/crates.io-index" 3279 - checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" 3280 - dependencies = [ 3281 - "block2 0.5.1", 3282 - "objc2 0.5.2", 3283 - "objc2-foundation", 3284 - "objc2-metal", 3285 - ] 3286 - 3287 - [[package]] 3288 - name = "objc2-core-location" 3289 - version = "0.2.2" 3290 - source = "registry+https://github.com/rust-lang/crates.io-index" 3291 - checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" 3292 - dependencies = [ 3293 - "block2 0.5.1", 3294 - "objc2 0.5.2", 3295 - "objc2-contacts", 3296 - "objc2-foundation", 3297 - ] 3298 - 3299 - [[package]] 3300 - name = "objc2-encode" 3301 - version = "4.1.0" 3302 - source = "registry+https://github.com/rust-lang/crates.io-index" 3303 - checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" 3304 - 3305 - [[package]] 3306 - name = "objc2-foundation" 3307 - version = "0.2.2" 3308 - source = "registry+https://github.com/rust-lang/crates.io-index" 3309 - checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" 3310 - dependencies = [ 3311 - "bitflags 2.10.0", 3312 - "block2 0.5.1", 3313 - "dispatch", 3314 - "libc", 3315 - "objc2 0.5.2", 3316 - ] 3317 - 3318 - [[package]] 3319 - name = "objc2-io-kit" 3320 - version = "0.3.2" 3321 - source = "registry+https://github.com/rust-lang/crates.io-index" 3322 - checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" 3323 - dependencies = [ 3324 - "libc", 3325 - "objc2-core-foundation", 3326 - ] 3327 - 3328 - [[package]] 3329 - name = "objc2-link-presentation" 3330 - version = "0.2.2" 3331 - source = "registry+https://github.com/rust-lang/crates.io-index" 3332 - checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" 3333 - dependencies = [ 3334 - "block2 0.5.1", 3335 - "objc2 0.5.2", 3336 - "objc2-app-kit", 3337 - "objc2-foundation", 3338 - ] 3339 - 3340 - [[package]] 3341 - name = "objc2-metal" 3342 - version = "0.2.2" 3343 - source = "registry+https://github.com/rust-lang/crates.io-index" 3344 - checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" 3345 - dependencies = [ 3346 - "bitflags 2.10.0", 3347 - "block2 0.5.1", 3348 - "objc2 0.5.2", 3349 - "objc2-foundation", 3350 - ] 3351 - 3352 - [[package]] 3353 - name = "objc2-quartz-core" 3354 - version = "0.2.2" 3355 - source = "registry+https://github.com/rust-lang/crates.io-index" 3356 - checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" 3357 - dependencies = [ 3358 - "bitflags 2.10.0", 3359 - "block2 0.5.1", 3360 - "objc2 0.5.2", 3361 - "objc2-foundation", 3362 - "objc2-metal", 3363 - ] 3364 - 3365 - [[package]] 3366 - name = "objc2-symbols" 3367 - version = "0.2.2" 3368 - source = "registry+https://github.com/rust-lang/crates.io-index" 3369 - checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" 3370 - dependencies = [ 3371 - "objc2 0.5.2", 3372 - "objc2-foundation", 3373 - ] 3374 - 3375 - [[package]] 3376 - name = "objc2-ui-kit" 3377 - version = "0.2.2" 3378 - source = "registry+https://github.com/rust-lang/crates.io-index" 3379 - checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" 3380 - dependencies = [ 3381 - "bitflags 2.10.0", 3382 - "block2 0.5.1", 3383 - "objc2 0.5.2", 3384 - "objc2-cloud-kit", 3385 - "objc2-core-data", 3386 - "objc2-core-image", 3387 - "objc2-core-location", 3388 - "objc2-foundation", 3389 - "objc2-link-presentation", 3390 - "objc2-quartz-core", 3391 - "objc2-symbols", 3392 - "objc2-uniform-type-identifiers", 3393 - "objc2-user-notifications", 3394 - ] 3395 - 3396 - [[package]] 3397 - name = "objc2-uniform-type-identifiers" 3398 - version = "0.2.2" 3399 - source = "registry+https://github.com/rust-lang/crates.io-index" 3400 - checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" 3401 - dependencies = [ 3402 - "block2 0.5.1", 3403 - "objc2 0.5.2", 3404 - "objc2-foundation", 3405 - ] 3406 - 3407 - [[package]] 3408 - name = "objc2-user-notifications" 3409 - version = "0.2.2" 3410 - source = "registry+https://github.com/rust-lang/crates.io-index" 3411 - checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" 3412 - dependencies = [ 3413 - "bitflags 2.10.0", 3414 - "block2 0.5.1", 3415 - "objc2 0.5.2", 3416 - "objc2-core-location", 3417 - "objc2-foundation", 3418 - ] 3419 - 3420 - [[package]] 3421 - name = "oboe" 3422 - version = "0.6.1" 3423 - source = "registry+https://github.com/rust-lang/crates.io-index" 3424 - checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" 3425 - dependencies = [ 3426 - "jni", 3427 - "ndk 0.8.0", 3428 - "ndk-context", 3429 - "num-derive", 3430 - "num-traits", 3431 - "oboe-sys", 3432 - ] 3433 - 3434 - [[package]] 3435 - name = "oboe-sys" 3436 - version = "0.6.1" 3437 - source = "registry+https://github.com/rust-lang/crates.io-index" 3438 - checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" 3439 - dependencies = [ 3440 - "cc", 3441 - ] 3442 - 3443 - [[package]] 3444 - name = "offset-allocator" 3445 - version = "0.2.0" 3446 - source = "registry+https://github.com/rust-lang/crates.io-index" 3447 - checksum = "e234d535da3521eb95106f40f0b73483d80bfb3aacf27c40d7e2b72f1a3e00a2" 3448 - dependencies = [ 3449 - "log", 3450 - "nonmax", 3451 - ] 3452 - 3453 - [[package]] 3454 - name = "ogg" 3455 - version = "0.8.0" 3456 - source = "registry+https://github.com/rust-lang/crates.io-index" 3457 - checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" 3458 - dependencies = [ 3459 - "byteorder", 3460 - ] 3461 - 3462 - [[package]] 3463 - name = "once_cell" 3464 - version = "1.21.3" 3465 - source = "registry+https://github.com/rust-lang/crates.io-index" 3466 - checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 3467 - 3468 - [[package]] 3469 - name = "orbclient" 3470 - version = "0.3.49" 3471 - source = "registry+https://github.com/rust-lang/crates.io-index" 3472 - checksum = "247ad146e19b9437f8604c21f8652423595cf710ad108af40e77d3ae6e96b827" 3473 - dependencies = [ 3474 - "libredox", 3475 - ] 3476 - 3477 - [[package]] 3478 - name = "ordered-float" 3479 - version = "5.0.0" 3480 - source = "registry+https://github.com/rust-lang/crates.io-index" 3481 - checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01" 3482 - dependencies = [ 3483 - "num-traits", 3484 - ] 3485 - 3486 - [[package]] 3487 - name = "owned_ttf_parser" 3488 - version = "0.25.1" 3489 - source = "registry+https://github.com/rust-lang/crates.io-index" 3490 - checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" 3491 - dependencies = [ 3492 - "ttf-parser 0.25.1", 3493 - ] 3494 - 3495 - [[package]] 3496 - name = "parking" 3497 - version = "2.2.1" 3498 - source = "registry+https://github.com/rust-lang/crates.io-index" 3499 - checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 3500 - 3501 - [[package]] 3502 - name = "parking_lot" 3503 - version = "0.12.5" 3504 - source = "registry+https://github.com/rust-lang/crates.io-index" 3505 - checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 3506 - dependencies = [ 3507 - "lock_api", 3508 - "parking_lot_core", 3509 - ] 3510 - 3511 - [[package]] 3512 - name = "parking_lot_core" 3513 - version = "0.9.12" 3514 - source = "registry+https://github.com/rust-lang/crates.io-index" 3515 - checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 3516 - dependencies = [ 3517 - "cfg-if", 3518 - "libc", 3519 - "redox_syscall 0.5.18", 3520 - "smallvec", 3521 - "windows-link 0.2.1", 3522 - ] 3523 - 3524 - [[package]] 3525 - name = "paste" 3526 - version = "1.0.15" 3527 - source = "registry+https://github.com/rust-lang/crates.io-index" 3528 - checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 3529 - 3530 - [[package]] 3531 - name = "percent-encoding" 3532 - version = "2.3.2" 3533 - source = "registry+https://github.com/rust-lang/crates.io-index" 3534 - checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 3535 - 3536 - [[package]] 3537 - name = "petgraph" 3538 - version = "0.8.3" 3539 - source = "registry+https://github.com/rust-lang/crates.io-index" 3540 - checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" 3541 - dependencies = [ 3542 - "fixedbitset", 3543 - "hashbrown 0.15.5", 3544 - "indexmap", 3545 - "serde", 3546 - "serde_derive", 3547 - ] 3548 - 3549 - [[package]] 3550 - name = "pin-project" 3551 - version = "1.1.10" 3552 - source = "registry+https://github.com/rust-lang/crates.io-index" 3553 - checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 3554 - dependencies = [ 3555 - "pin-project-internal", 3556 - ] 3557 - 3558 - [[package]] 3559 - name = "pin-project-internal" 3560 - version = "1.1.10" 3561 - source = "registry+https://github.com/rust-lang/crates.io-index" 3562 - checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 3563 - dependencies = [ 3564 - "proc-macro2", 3565 - "quote", 3566 - "syn", 3567 - ] 3568 - 3569 - [[package]] 3570 - name = "pin-project-lite" 3571 - version = "0.2.16" 3572 - source = "registry+https://github.com/rust-lang/crates.io-index" 3573 - checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 3574 - 3575 - [[package]] 3576 - name = "piper" 3577 - version = "0.2.4" 3578 - source = "registry+https://github.com/rust-lang/crates.io-index" 3579 - checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" 3580 - dependencies = [ 3581 - "atomic-waker", 3582 - "fastrand", 3583 - "futures-io", 3584 - ] 3585 - 3586 - [[package]] 3587 - name = "pkg-config" 3588 - version = "0.3.32" 3589 - source = "registry+https://github.com/rust-lang/crates.io-index" 3590 - checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 3591 - 3592 - [[package]] 3593 - name = "png" 3594 - version = "0.18.0" 3595 - source = "registry+https://github.com/rust-lang/crates.io-index" 3596 - checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" 3597 - dependencies = [ 3598 - "bitflags 2.10.0", 3599 - "crc32fast", 3600 - "fdeflate", 3601 - "flate2", 3602 - "miniz_oxide", 3603 - ] 3604 - 3605 - [[package]] 3606 - name = "polling" 3607 - version = "3.11.0" 3608 - source = "registry+https://github.com/rust-lang/crates.io-index" 3609 - checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" 3610 - dependencies = [ 3611 - "cfg-if", 3612 - "concurrent-queue", 3613 - "hermit-abi", 3614 - "pin-project-lite", 3615 - "rustix 1.1.2", 3616 - "windows-sys 0.61.2", 3617 - ] 3618 - 3619 - [[package]] 3620 - name = "portable-atomic" 3621 - version = "1.11.1" 3622 - source = "registry+https://github.com/rust-lang/crates.io-index" 3623 - checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" 3624 - 3625 - [[package]] 3626 - name = "portable-atomic-util" 3627 - version = "0.2.4" 3628 - source = "registry+https://github.com/rust-lang/crates.io-index" 3629 - checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" 3630 - dependencies = [ 3631 - "portable-atomic", 3632 - ] 3633 - 3634 - [[package]] 3635 - name = "pp-rs" 3636 - version = "0.2.1" 3637 - source = "registry+https://github.com/rust-lang/crates.io-index" 3638 - checksum = "bb458bb7f6e250e6eb79d5026badc10a3ebb8f9a15d1fff0f13d17c71f4d6dee" 3639 - dependencies = [ 3640 - "unicode-xid", 55 + "rand", 3641 56 ] 3642 57 3643 58 [[package]] ··· 3650 65 ] 3651 66 3652 67 [[package]] 3653 - name = "presser" 3654 - version = "0.3.1" 3655 - source = "registry+https://github.com/rust-lang/crates.io-index" 3656 - checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" 3657 - 3658 - [[package]] 3659 - name = "proc-macro-crate" 3660 - version = "3.4.0" 3661 - source = "registry+https://github.com/rust-lang/crates.io-index" 3662 - checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" 3663 - dependencies = [ 3664 - "toml_edit", 3665 - ] 3666 - 3667 - [[package]] 3668 68 name = "proc-macro2" 3669 69 version = "1.0.103" 3670 70 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3674 74 ] 3675 75 3676 76 [[package]] 3677 - name = "profiling" 3678 - version = "1.0.17" 3679 - source = "registry+https://github.com/rust-lang/crates.io-index" 3680 - checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" 3681 - 3682 - [[package]] 3683 - name = "pxfm" 3684 - version = "0.1.25" 3685 - source = "registry+https://github.com/rust-lang/crates.io-index" 3686 - checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" 3687 - dependencies = [ 3688 - "num-traits", 3689 - ] 3690 - 3691 - [[package]] 3692 - name = "quick-xml" 3693 - version = "0.37.5" 3694 - source = "registry+https://github.com/rust-lang/crates.io-index" 3695 - checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" 3696 - dependencies = [ 3697 - "memchr", 3698 - ] 3699 - 3700 - [[package]] 3701 77 name = "quote" 3702 78 version = "1.0.42" 3703 79 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3707 83 ] 3708 84 3709 85 [[package]] 3710 - name = "r-efi" 3711 - version = "5.3.0" 3712 - source = "registry+https://github.com/rust-lang/crates.io-index" 3713 - checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 3714 - 3715 - [[package]] 3716 - name = "radsort" 3717 - version = "0.1.1" 3718 - source = "registry+https://github.com/rust-lang/crates.io-index" 3719 - checksum = "019b4b213425016d7d84a153c4c73afb0946fbb4840e4eece7ba8848b9d6da22" 3720 - 3721 - [[package]] 3722 86 name = "rand" 3723 87 version = "0.8.5" 3724 88 source = "registry+https://github.com/rust-lang/crates.io-index" 3725 89 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 3726 90 dependencies = [ 3727 91 "libc", 3728 - "rand_chacha 0.3.1", 3729 - "rand_core 0.6.4", 3730 - ] 3731 - 3732 - [[package]] 3733 - name = "rand" 3734 - version = "0.9.2" 3735 - source = "registry+https://github.com/rust-lang/crates.io-index" 3736 - checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" 3737 - dependencies = [ 3738 - "rand_chacha 0.9.0", 3739 - "rand_core 0.9.3", 92 + "rand_chacha", 93 + "rand_core", 3740 94 ] 3741 95 3742 96 [[package]] ··· 3746 100 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 3747 101 dependencies = [ 3748 102 "ppv-lite86", 3749 - "rand_core 0.6.4", 3750 - ] 3751 - 3752 - [[package]] 3753 - name = "rand_chacha" 3754 - version = "0.9.0" 3755 - source = "registry+https://github.com/rust-lang/crates.io-index" 3756 - checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 3757 - dependencies = [ 3758 - "ppv-lite86", 3759 - "rand_core 0.9.3", 103 + "rand_core", 3760 104 ] 3761 105 3762 106 [[package]] ··· 3765 109 source = "registry+https://github.com/rust-lang/crates.io-index" 3766 110 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 3767 111 dependencies = [ 3768 - "getrandom 0.2.16", 3769 - ] 3770 - 3771 - [[package]] 3772 - name = "rand_core" 3773 - version = "0.9.3" 3774 - source = "registry+https://github.com/rust-lang/crates.io-index" 3775 - checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 3776 - dependencies = [ 3777 - "getrandom 0.3.4", 3778 - ] 3779 - 3780 - [[package]] 3781 - name = "rand_distr" 3782 - version = "0.5.1" 3783 - source = "registry+https://github.com/rust-lang/crates.io-index" 3784 - checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" 3785 - dependencies = [ 3786 - "num-traits", 3787 - "rand 0.9.2", 3788 - ] 3789 - 3790 - [[package]] 3791 - name = "range-alloc" 3792 - version = "0.1.4" 3793 - source = "registry+https://github.com/rust-lang/crates.io-index" 3794 - checksum = "c3d6831663a5098ea164f89cff59c6284e95f4e3c76ce9848d4529f5ccca9bde" 3795 - 3796 - [[package]] 3797 - name = "rangemap" 3798 - version = "1.7.0" 3799 - source = "registry+https://github.com/rust-lang/crates.io-index" 3800 - checksum = "acbbbbea733ec66275512d0b9694f34102e7d5406fdbe2ad8d21b28dce92887c" 3801 - 3802 - [[package]] 3803 - name = "raw-window-handle" 3804 - version = "0.6.2" 3805 - source = "registry+https://github.com/rust-lang/crates.io-index" 3806 - checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" 3807 - 3808 - [[package]] 3809 - name = "read-fonts" 3810 - version = "0.35.0" 3811 - source = "registry+https://github.com/rust-lang/crates.io-index" 3812 - checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" 3813 - dependencies = [ 3814 - "bytemuck", 3815 - "font-types", 3816 - ] 3817 - 3818 - [[package]] 3819 - name = "rectangle-pack" 3820 - version = "0.4.2" 3821 - source = "registry+https://github.com/rust-lang/crates.io-index" 3822 - checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" 3823 - 3824 - [[package]] 3825 - name = "redox_syscall" 3826 - version = "0.4.1" 3827 - source = "registry+https://github.com/rust-lang/crates.io-index" 3828 - checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 3829 - dependencies = [ 3830 - "bitflags 1.3.2", 3831 - ] 3832 - 3833 - [[package]] 3834 - name = "redox_syscall" 3835 - version = "0.5.18" 3836 - source = "registry+https://github.com/rust-lang/crates.io-index" 3837 - checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 3838 - dependencies = [ 3839 - "bitflags 2.10.0", 3840 - ] 3841 - 3842 - [[package]] 3843 - name = "regex" 3844 - version = "1.12.2" 3845 - source = "registry+https://github.com/rust-lang/crates.io-index" 3846 - checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" 3847 - dependencies = [ 3848 - "aho-corasick", 3849 - "memchr", 3850 - "regex-automata", 3851 - "regex-syntax", 3852 - ] 3853 - 3854 - [[package]] 3855 - name = "regex-automata" 3856 - version = "0.4.13" 3857 - source = "registry+https://github.com/rust-lang/crates.io-index" 3858 - checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" 3859 - dependencies = [ 3860 - "aho-corasick", 3861 - "memchr", 3862 - "regex-syntax", 3863 - ] 3864 - 3865 - [[package]] 3866 - name = "regex-syntax" 3867 - version = "0.8.8" 3868 - source = "registry+https://github.com/rust-lang/crates.io-index" 3869 - checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" 3870 - 3871 - [[package]] 3872 - name = "renderdoc-sys" 3873 - version = "1.1.0" 3874 - source = "registry+https://github.com/rust-lang/crates.io-index" 3875 - checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" 3876 - 3877 - [[package]] 3878 - name = "rodio" 3879 - version = "0.20.1" 3880 - source = "registry+https://github.com/rust-lang/crates.io-index" 3881 - checksum = "e7ceb6607dd738c99bc8cb28eff249b7cd5c8ec88b9db96c0608c1480d140fb1" 3882 - dependencies = [ 3883 - "cpal", 3884 - "lewton", 3885 - ] 3886 - 3887 - [[package]] 3888 - name = "ron" 3889 - version = "0.10.1" 3890 - source = "registry+https://github.com/rust-lang/crates.io-index" 3891 - checksum = "beceb6f7bf81c73e73aeef6dd1356d9a1b2b4909e1f0fc3e59b034f9572d7b7f" 3892 - dependencies = [ 3893 - "base64", 3894 - "bitflags 2.10.0", 3895 - "serde", 3896 - "serde_derive", 3897 - "unicode-ident", 3898 - ] 3899 - 3900 - [[package]] 3901 - name = "roxmltree" 3902 - version = "0.20.0" 3903 - source = "registry+https://github.com/rust-lang/crates.io-index" 3904 - checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" 3905 - 3906 - [[package]] 3907 - name = "rustc-hash" 3908 - version = "1.1.0" 3909 - source = "registry+https://github.com/rust-lang/crates.io-index" 3910 - checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 3911 - 3912 - [[package]] 3913 - name = "rustc-hash" 3914 - version = "2.1.1" 3915 - source = "registry+https://github.com/rust-lang/crates.io-index" 3916 - checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 3917 - 3918 - [[package]] 3919 - name = "rustix" 3920 - version = "0.38.44" 3921 - source = "registry+https://github.com/rust-lang/crates.io-index" 3922 - checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" 3923 - dependencies = [ 3924 - "bitflags 2.10.0", 3925 - "errno", 3926 - "libc", 3927 - "linux-raw-sys 0.4.15", 3928 - "windows-sys 0.59.0", 3929 - ] 3930 - 3931 - [[package]] 3932 - name = "rustix" 3933 - version = "1.1.2" 3934 - source = "registry+https://github.com/rust-lang/crates.io-index" 3935 - checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" 3936 - dependencies = [ 3937 - "bitflags 2.10.0", 3938 - "errno", 3939 - "libc", 3940 - "linux-raw-sys 0.11.0", 3941 - "windows-sys 0.61.2", 3942 - ] 3943 - 3944 - [[package]] 3945 - name = "rustversion" 3946 - version = "1.0.22" 3947 - source = "registry+https://github.com/rust-lang/crates.io-index" 3948 - checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 3949 - 3950 - [[package]] 3951 - name = "rustybuzz" 3952 - version = "0.14.1" 3953 - source = "registry+https://github.com/rust-lang/crates.io-index" 3954 - checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" 3955 - dependencies = [ 3956 - "bitflags 2.10.0", 3957 - "bytemuck", 3958 - "libm", 3959 - "smallvec", 3960 - "ttf-parser 0.21.1", 3961 - "unicode-bidi-mirroring", 3962 - "unicode-ccc", 3963 - "unicode-properties", 3964 - "unicode-script", 3965 - ] 3966 - 3967 - [[package]] 3968 - name = "ruzstd" 3969 - version = "0.8.2" 3970 - source = "registry+https://github.com/rust-lang/crates.io-index" 3971 - checksum = "e5ff0cc5e135c8870a775d3320910cd9b564ec036b4dc0b8741629020be63f01" 3972 - dependencies = [ 3973 - "twox-hash", 3974 - ] 3975 - 3976 - [[package]] 3977 - name = "ryu" 3978 - version = "1.0.20" 3979 - source = "registry+https://github.com/rust-lang/crates.io-index" 3980 - checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 3981 - 3982 - [[package]] 3983 - name = "same-file" 3984 - version = "1.0.6" 3985 - source = "registry+https://github.com/rust-lang/crates.io-index" 3986 - checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 3987 - dependencies = [ 3988 - "winapi-util", 3989 - ] 3990 - 3991 - [[package]] 3992 - name = "scoped-tls" 3993 - version = "1.0.1" 3994 - source = "registry+https://github.com/rust-lang/crates.io-index" 3995 - checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 3996 - 3997 - [[package]] 3998 - name = "scopeguard" 3999 - version = "1.2.0" 4000 - source = "registry+https://github.com/rust-lang/crates.io-index" 4001 - checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 4002 - 4003 - [[package]] 4004 - name = "sctk-adwaita" 4005 - version = "0.10.1" 4006 - source = "registry+https://github.com/rust-lang/crates.io-index" 4007 - checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" 4008 - dependencies = [ 4009 - "ab_glyph", 4010 - "log", 4011 - "memmap2", 4012 - "smithay-client-toolkit", 4013 - "tiny-skia", 4014 - ] 4015 - 4016 - [[package]] 4017 - name = "self_cell" 4018 - version = "1.2.1" 4019 - source = "registry+https://github.com/rust-lang/crates.io-index" 4020 - checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" 4021 - 4022 - [[package]] 4023 - name = "send_wrapper" 4024 - version = "0.6.0" 4025 - source = "registry+https://github.com/rust-lang/crates.io-index" 4026 - checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 4027 - 4028 - [[package]] 4029 - name = "serde" 4030 - version = "1.0.228" 4031 - source = "registry+https://github.com/rust-lang/crates.io-index" 4032 - checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 4033 - dependencies = [ 4034 - "serde_core", 4035 - "serde_derive", 4036 - ] 4037 - 4038 - [[package]] 4039 - name = "serde_core" 4040 - version = "1.0.228" 4041 - source = "registry+https://github.com/rust-lang/crates.io-index" 4042 - checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 4043 - dependencies = [ 4044 - "serde_derive", 4045 - ] 4046 - 4047 - [[package]] 4048 - name = "serde_derive" 4049 - version = "1.0.228" 4050 - source = "registry+https://github.com/rust-lang/crates.io-index" 4051 - checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 4052 - dependencies = [ 4053 - "proc-macro2", 4054 - "quote", 4055 - "syn", 4056 - ] 4057 - 4058 - [[package]] 4059 - name = "serde_json" 4060 - version = "1.0.145" 4061 - source = "registry+https://github.com/rust-lang/crates.io-index" 4062 - checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 4063 - dependencies = [ 4064 - "itoa", 4065 - "memchr", 4066 - "ryu", 4067 - "serde", 4068 - "serde_core", 4069 - ] 4070 - 4071 - [[package]] 4072 - name = "sharded-slab" 4073 - version = "0.1.7" 4074 - source = "registry+https://github.com/rust-lang/crates.io-index" 4075 - checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 4076 - dependencies = [ 4077 - "lazy_static", 4078 - ] 4079 - 4080 - [[package]] 4081 - name = "shlex" 4082 - version = "1.3.0" 4083 - source = "registry+https://github.com/rust-lang/crates.io-index" 4084 - checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 4085 - 4086 - [[package]] 4087 - name = "simd-adler32" 4088 - version = "0.3.7" 4089 - source = "registry+https://github.com/rust-lang/crates.io-index" 4090 - checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 4091 - 4092 - [[package]] 4093 - name = "skrifa" 4094 - version = "0.37.0" 4095 - source = "registry+https://github.com/rust-lang/crates.io-index" 4096 - checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" 4097 - dependencies = [ 4098 - "bytemuck", 4099 - "read-fonts", 4100 - ] 4101 - 4102 - [[package]] 4103 - name = "slab" 4104 - version = "0.4.11" 4105 - source = "registry+https://github.com/rust-lang/crates.io-index" 4106 - checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" 4107 - 4108 - [[package]] 4109 - name = "slotmap" 4110 - version = "1.0.7" 4111 - source = "registry+https://github.com/rust-lang/crates.io-index" 4112 - checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" 4113 - dependencies = [ 4114 - "version_check", 4115 - ] 4116 - 4117 - [[package]] 4118 - name = "smallvec" 4119 - version = "1.15.1" 4120 - source = "registry+https://github.com/rust-lang/crates.io-index" 4121 - checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 4122 - 4123 - [[package]] 4124 - name = "smithay-client-toolkit" 4125 - version = "0.19.2" 4126 - source = "registry+https://github.com/rust-lang/crates.io-index" 4127 - checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" 4128 - dependencies = [ 4129 - "bitflags 2.10.0", 4130 - "calloop", 4131 - "calloop-wayland-source", 4132 - "cursor-icon", 4133 - "libc", 4134 - "log", 4135 - "memmap2", 4136 - "rustix 0.38.44", 4137 - "thiserror 1.0.69", 4138 - "wayland-backend", 4139 - "wayland-client", 4140 - "wayland-csd-frame", 4141 - "wayland-cursor", 4142 - "wayland-protocols", 4143 - "wayland-protocols-wlr", 4144 - "wayland-scanner", 4145 - "xkeysym", 4146 - ] 4147 - 4148 - [[package]] 4149 - name = "smol_str" 4150 - version = "0.2.2" 4151 - source = "registry+https://github.com/rust-lang/crates.io-index" 4152 - checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" 4153 - dependencies = [ 4154 - "serde", 4155 - ] 4156 - 4157 - [[package]] 4158 - name = "spin" 4159 - version = "0.10.0" 4160 - source = "registry+https://github.com/rust-lang/crates.io-index" 4161 - checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" 4162 - dependencies = [ 4163 - "portable-atomic", 4164 - ] 4165 - 4166 - [[package]] 4167 - name = "spirv" 4168 - version = "0.3.0+sdk-1.3.268.0" 4169 - source = "registry+https://github.com/rust-lang/crates.io-index" 4170 - checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" 4171 - dependencies = [ 4172 - "bitflags 2.10.0", 4173 - ] 4174 - 4175 - [[package]] 4176 - name = "stable_deref_trait" 4177 - version = "1.2.1" 4178 - source = "registry+https://github.com/rust-lang/crates.io-index" 4179 - checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 4180 - 4181 - [[package]] 4182 - name = "stackfuture" 4183 - version = "0.3.1" 4184 - source = "registry+https://github.com/rust-lang/crates.io-index" 4185 - checksum = "115beb9c69db2393ff10b75a1b8587a51716e5551d015001e55320ed279d32f9" 4186 - dependencies = [ 4187 - "const_panic", 4188 - ] 4189 - 4190 - [[package]] 4191 - name = "static_assertions" 4192 - version = "1.1.0" 4193 - source = "registry+https://github.com/rust-lang/crates.io-index" 4194 - checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 4195 - 4196 - [[package]] 4197 - name = "strict-num" 4198 - version = "0.1.1" 4199 - source = "registry+https://github.com/rust-lang/crates.io-index" 4200 - checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" 4201 - 4202 - [[package]] 4203 - name = "svg_fmt" 4204 - version = "0.4.5" 4205 - source = "registry+https://github.com/rust-lang/crates.io-index" 4206 - checksum = "0193cc4331cfd2f3d2011ef287590868599a2f33c3e69bc22c1a3d3acf9e02fb" 4207 - 4208 - [[package]] 4209 - name = "swash" 4210 - version = "0.2.6" 4211 - source = "registry+https://github.com/rust-lang/crates.io-index" 4212 - checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" 4213 - dependencies = [ 4214 - "skrifa", 4215 - "yazi", 4216 - "zeno", 112 + "getrandom", 4217 113 ] 4218 114 4219 115 [[package]] ··· 4228 124 ] 4229 125 4230 126 [[package]] 4231 - name = "sys-locale" 4232 - version = "0.3.2" 4233 - source = "registry+https://github.com/rust-lang/crates.io-index" 4234 - checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" 4235 - dependencies = [ 4236 - "libc", 4237 - ] 4238 - 4239 - [[package]] 4240 - name = "sysinfo" 4241 - version = "0.37.2" 4242 - source = "registry+https://github.com/rust-lang/crates.io-index" 4243 - checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" 4244 - dependencies = [ 4245 - "libc", 4246 - "memchr", 4247 - "ntapi", 4248 - "objc2-core-foundation", 4249 - "objc2-io-kit", 4250 - "windows 0.61.3", 4251 - ] 4252 - 4253 - [[package]] 4254 - name = "taffy" 4255 - version = "0.7.7" 4256 - source = "registry+https://github.com/rust-lang/crates.io-index" 4257 - checksum = "ab4f4d046dd956a47a7e1a2947083d7ac3e6aa3cfaaead36173ceaa5ab11878c" 4258 - dependencies = [ 4259 - "arrayvec", 4260 - "grid", 4261 - "serde", 4262 - "slotmap", 4263 - ] 4264 - 4265 - [[package]] 4266 - name = "termcolor" 4267 - version = "1.4.1" 4268 - source = "registry+https://github.com/rust-lang/crates.io-index" 4269 - checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 4270 - dependencies = [ 4271 - "winapi-util", 4272 - ] 4273 - 4274 - [[package]] 4275 - name = "thiserror" 4276 - version = "1.0.69" 4277 - source = "registry+https://github.com/rust-lang/crates.io-index" 4278 - checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 4279 - dependencies = [ 4280 - "thiserror-impl 1.0.69", 4281 - ] 4282 - 4283 - [[package]] 4284 - name = "thiserror" 4285 - version = "2.0.17" 4286 - source = "registry+https://github.com/rust-lang/crates.io-index" 4287 - checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" 4288 - dependencies = [ 4289 - "thiserror-impl 2.0.17", 4290 - ] 4291 - 4292 - [[package]] 4293 - name = "thiserror-impl" 4294 - version = "1.0.69" 4295 - source = "registry+https://github.com/rust-lang/crates.io-index" 4296 - checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 4297 - dependencies = [ 4298 - "proc-macro2", 4299 - "quote", 4300 - "syn", 4301 - ] 4302 - 4303 - [[package]] 4304 - name = "thiserror-impl" 4305 - version = "2.0.17" 4306 - source = "registry+https://github.com/rust-lang/crates.io-index" 4307 - checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" 4308 - dependencies = [ 4309 - "proc-macro2", 4310 - "quote", 4311 - "syn", 4312 - ] 4313 - 4314 - [[package]] 4315 - name = "thread_local" 4316 - version = "1.1.9" 4317 - source = "registry+https://github.com/rust-lang/crates.io-index" 4318 - checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" 4319 - dependencies = [ 4320 - "cfg-if", 4321 - ] 4322 - 4323 - [[package]] 4324 - name = "tiny-skia" 4325 - version = "0.11.4" 4326 - source = "registry+https://github.com/rust-lang/crates.io-index" 4327 - checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" 4328 - dependencies = [ 4329 - "arrayref", 4330 - "arrayvec", 4331 - "bytemuck", 4332 - "cfg-if", 4333 - "log", 4334 - "tiny-skia-path", 4335 - ] 4336 - 4337 - [[package]] 4338 - name = "tiny-skia-path" 4339 - version = "0.11.4" 4340 - source = "registry+https://github.com/rust-lang/crates.io-index" 4341 - checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" 4342 - dependencies = [ 4343 - "arrayref", 4344 - "bytemuck", 4345 - "strict-num", 4346 - ] 4347 - 4348 - [[package]] 4349 - name = "tinyvec" 4350 - version = "1.10.0" 4351 - source = "registry+https://github.com/rust-lang/crates.io-index" 4352 - checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 4353 - dependencies = [ 4354 - "tinyvec_macros", 4355 - ] 4356 - 4357 - [[package]] 4358 - name = "tinyvec_macros" 4359 - version = "0.1.1" 4360 - source = "registry+https://github.com/rust-lang/crates.io-index" 4361 - checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 4362 - 4363 - [[package]] 4364 - name = "toml_datetime" 4365 - version = "0.7.3" 4366 - source = "registry+https://github.com/rust-lang/crates.io-index" 4367 - checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" 4368 - dependencies = [ 4369 - "serde_core", 4370 - ] 4371 - 4372 - [[package]] 4373 - name = "toml_edit" 4374 - version = "0.23.7" 4375 - source = "registry+https://github.com/rust-lang/crates.io-index" 4376 - checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" 4377 - dependencies = [ 4378 - "indexmap", 4379 - "toml_datetime", 4380 - "toml_parser", 4381 - "winnow", 4382 - ] 4383 - 4384 - [[package]] 4385 - name = "toml_parser" 4386 - version = "1.0.4" 4387 - source = "registry+https://github.com/rust-lang/crates.io-index" 4388 - checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" 4389 - dependencies = [ 4390 - "winnow", 4391 - ] 4392 - 4393 - [[package]] 4394 - name = "tracing" 4395 - version = "0.1.41" 4396 - source = "registry+https://github.com/rust-lang/crates.io-index" 4397 - checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 4398 - dependencies = [ 4399 - "pin-project-lite", 4400 - "tracing-attributes", 4401 - "tracing-core", 4402 - ] 4403 - 4404 - [[package]] 4405 - name = "tracing-attributes" 4406 - version = "0.1.30" 4407 - source = "registry+https://github.com/rust-lang/crates.io-index" 4408 - checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" 4409 - dependencies = [ 4410 - "proc-macro2", 4411 - "quote", 4412 - "syn", 4413 - ] 4414 - 4415 - [[package]] 4416 - name = "tracing-core" 4417 - version = "0.1.34" 4418 - source = "registry+https://github.com/rust-lang/crates.io-index" 4419 - checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 4420 - dependencies = [ 4421 - "once_cell", 4422 - "valuable", 4423 - ] 4424 - 4425 - [[package]] 4426 - name = "tracing-log" 4427 - version = "0.2.0" 4428 - source = "registry+https://github.com/rust-lang/crates.io-index" 4429 - checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 4430 - dependencies = [ 4431 - "log", 4432 - "once_cell", 4433 - "tracing-core", 4434 - ] 4435 - 4436 - [[package]] 4437 - name = "tracing-oslog" 4438 - version = "0.3.0" 4439 - source = "registry+https://github.com/rust-lang/crates.io-index" 4440 - checksum = "d76902d2a8d5f9f55a81155c08971734071968c90f2d9bfe645fe700579b2950" 4441 - dependencies = [ 4442 - "cc", 4443 - "cfg-if", 4444 - "tracing-core", 4445 - "tracing-subscriber", 4446 - ] 4447 - 4448 - [[package]] 4449 - name = "tracing-subscriber" 4450 - version = "0.3.20" 4451 - source = "registry+https://github.com/rust-lang/crates.io-index" 4452 - checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5" 4453 - dependencies = [ 4454 - "matchers", 4455 - "nu-ansi-term", 4456 - "once_cell", 4457 - "regex-automata", 4458 - "sharded-slab", 4459 - "smallvec", 4460 - "thread_local", 4461 - "tracing", 4462 - "tracing-core", 4463 - "tracing-log", 4464 - ] 4465 - 4466 - [[package]] 4467 - name = "tracing-wasm" 4468 - version = "0.2.1" 4469 - source = "registry+https://github.com/rust-lang/crates.io-index" 4470 - checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" 4471 - dependencies = [ 4472 - "tracing", 4473 - "tracing-subscriber", 4474 - "wasm-bindgen", 4475 - ] 4476 - 4477 - [[package]] 4478 - name = "ttf-parser" 4479 - version = "0.20.0" 4480 - source = "registry+https://github.com/rust-lang/crates.io-index" 4481 - checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" 4482 - 4483 - [[package]] 4484 - name = "ttf-parser" 4485 - version = "0.21.1" 4486 - source = "registry+https://github.com/rust-lang/crates.io-index" 4487 - checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" 4488 - 4489 - [[package]] 4490 - name = "ttf-parser" 4491 - version = "0.25.1" 4492 - source = "registry+https://github.com/rust-lang/crates.io-index" 4493 - checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" 4494 - 4495 - [[package]] 4496 - name = "twox-hash" 4497 - version = "2.1.2" 4498 - source = "registry+https://github.com/rust-lang/crates.io-index" 4499 - checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" 4500 - 4501 - [[package]] 4502 - name = "typeid" 4503 - version = "1.0.3" 4504 - source = "registry+https://github.com/rust-lang/crates.io-index" 4505 - checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" 4506 - 4507 - [[package]] 4508 - name = "typewit" 4509 - version = "1.14.2" 4510 - source = "registry+https://github.com/rust-lang/crates.io-index" 4511 - checksum = "f8c1ae7cc0fdb8b842d65d127cb981574b0d2b249b74d1c7a2986863dc134f71" 4512 - 4513 - [[package]] 4514 - name = "unicode-bidi" 4515 - version = "0.3.18" 4516 - source = "registry+https://github.com/rust-lang/crates.io-index" 4517 - checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" 4518 - 4519 - [[package]] 4520 - name = "unicode-bidi-mirroring" 4521 - version = "0.2.0" 4522 - source = "registry+https://github.com/rust-lang/crates.io-index" 4523 - checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" 4524 - 4525 - [[package]] 4526 - name = "unicode-ccc" 4527 - version = "0.2.0" 4528 - source = "registry+https://github.com/rust-lang/crates.io-index" 4529 - checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" 4530 - 4531 - [[package]] 4532 127 name = "unicode-ident" 4533 128 version = "1.0.22" 4534 129 source = "registry+https://github.com/rust-lang/crates.io-index" 4535 130 checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 4536 131 4537 132 [[package]] 4538 - name = "unicode-linebreak" 4539 - version = "0.1.5" 4540 - source = "registry+https://github.com/rust-lang/crates.io-index" 4541 - checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" 4542 - 4543 - [[package]] 4544 - name = "unicode-properties" 4545 - version = "0.1.4" 4546 - source = "registry+https://github.com/rust-lang/crates.io-index" 4547 - checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" 4548 - 4549 - [[package]] 4550 - name = "unicode-script" 4551 - version = "0.5.7" 4552 - source = "registry+https://github.com/rust-lang/crates.io-index" 4553 - checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" 4554 - 4555 - [[package]] 4556 - name = "unicode-segmentation" 4557 - version = "1.12.0" 4558 - source = "registry+https://github.com/rust-lang/crates.io-index" 4559 - checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 4560 - 4561 - [[package]] 4562 - name = "unicode-width" 4563 - version = "0.2.2" 4564 - source = "registry+https://github.com/rust-lang/crates.io-index" 4565 - checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" 4566 - 4567 - [[package]] 4568 - name = "unicode-xid" 4569 - version = "0.2.6" 4570 - source = "registry+https://github.com/rust-lang/crates.io-index" 4571 - checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 4572 - 4573 - [[package]] 4574 - name = "uuid" 4575 - version = "1.18.1" 4576 - source = "registry+https://github.com/rust-lang/crates.io-index" 4577 - checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" 4578 - dependencies = [ 4579 - "getrandom 0.3.4", 4580 - "js-sys", 4581 - "serde", 4582 - "wasm-bindgen", 4583 - ] 4584 - 4585 - [[package]] 4586 - name = "valuable" 4587 - version = "0.1.1" 4588 - source = "registry+https://github.com/rust-lang/crates.io-index" 4589 - checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 4590 - 4591 - [[package]] 4592 - name = "variadics_please" 4593 - version = "1.1.0" 4594 - source = "registry+https://github.com/rust-lang/crates.io-index" 4595 - checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" 4596 - dependencies = [ 4597 - "proc-macro2", 4598 - "quote", 4599 - "syn", 4600 - ] 4601 - 4602 - [[package]] 4603 - name = "vec_map" 4604 - version = "0.8.2" 4605 - source = "registry+https://github.com/rust-lang/crates.io-index" 4606 - checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" 4607 - 4608 - [[package]] 4609 - name = "version_check" 4610 - version = "0.9.5" 4611 - source = "registry+https://github.com/rust-lang/crates.io-index" 4612 - checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 4613 - 4614 - [[package]] 4615 - name = "walkdir" 4616 - version = "2.5.0" 4617 - source = "registry+https://github.com/rust-lang/crates.io-index" 4618 - checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 4619 - dependencies = [ 4620 - "same-file", 4621 - "winapi-util", 4622 - ] 4623 - 4624 - [[package]] 4625 133 name = "wasi" 4626 134 version = "0.11.1+wasi-snapshot-preview1" 4627 135 source = "registry+https://github.com/rust-lang/crates.io-index" 4628 136 checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 4629 - 4630 - [[package]] 4631 - name = "wasip2" 4632 - version = "1.0.1+wasi-0.2.4" 4633 - source = "registry+https://github.com/rust-lang/crates.io-index" 4634 - checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" 4635 - dependencies = [ 4636 - "wit-bindgen", 4637 - ] 4638 - 4639 - [[package]] 4640 - name = "wasm-bindgen" 4641 - version = "0.2.105" 4642 - source = "registry+https://github.com/rust-lang/crates.io-index" 4643 - checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" 4644 - dependencies = [ 4645 - "cfg-if", 4646 - "once_cell", 4647 - "rustversion", 4648 - "wasm-bindgen-macro", 4649 - "wasm-bindgen-shared", 4650 - ] 4651 - 4652 - [[package]] 4653 - name = "wasm-bindgen-futures" 4654 - version = "0.4.55" 4655 - source = "registry+https://github.com/rust-lang/crates.io-index" 4656 - checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" 4657 - dependencies = [ 4658 - "cfg-if", 4659 - "js-sys", 4660 - "once_cell", 4661 - "wasm-bindgen", 4662 - "web-sys", 4663 - ] 4664 - 4665 - [[package]] 4666 - name = "wasm-bindgen-macro" 4667 - version = "0.2.105" 4668 - source = "registry+https://github.com/rust-lang/crates.io-index" 4669 - checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" 4670 - dependencies = [ 4671 - "quote", 4672 - "wasm-bindgen-macro-support", 4673 - ] 4674 - 4675 - [[package]] 4676 - name = "wasm-bindgen-macro-support" 4677 - version = "0.2.105" 4678 - source = "registry+https://github.com/rust-lang/crates.io-index" 4679 - checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" 4680 - dependencies = [ 4681 - "bumpalo", 4682 - "proc-macro2", 4683 - "quote", 4684 - "syn", 4685 - "wasm-bindgen-shared", 4686 - ] 4687 - 4688 - [[package]] 4689 - name = "wasm-bindgen-shared" 4690 - version = "0.2.105" 4691 - source = "registry+https://github.com/rust-lang/crates.io-index" 4692 - checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" 4693 - dependencies = [ 4694 - "unicode-ident", 4695 - ] 4696 - 4697 - [[package]] 4698 - name = "wayland-backend" 4699 - version = "0.3.11" 4700 - source = "registry+https://github.com/rust-lang/crates.io-index" 4701 - checksum = "673a33c33048a5ade91a6b139580fa174e19fb0d23f396dca9fa15f2e1e49b35" 4702 - dependencies = [ 4703 - "cc", 4704 - "downcast-rs 1.2.1", 4705 - "rustix 1.1.2", 4706 - "scoped-tls", 4707 - "smallvec", 4708 - "wayland-sys", 4709 - ] 4710 - 4711 - [[package]] 4712 - name = "wayland-client" 4713 - version = "0.31.11" 4714 - source = "registry+https://github.com/rust-lang/crates.io-index" 4715 - checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" 4716 - dependencies = [ 4717 - "bitflags 2.10.0", 4718 - "rustix 1.1.2", 4719 - "wayland-backend", 4720 - "wayland-scanner", 4721 - ] 4722 - 4723 - [[package]] 4724 - name = "wayland-csd-frame" 4725 - version = "0.3.0" 4726 - source = "registry+https://github.com/rust-lang/crates.io-index" 4727 - checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" 4728 - dependencies = [ 4729 - "bitflags 2.10.0", 4730 - "cursor-icon", 4731 - "wayland-backend", 4732 - ] 4733 - 4734 - [[package]] 4735 - name = "wayland-cursor" 4736 - version = "0.31.11" 4737 - source = "registry+https://github.com/rust-lang/crates.io-index" 4738 - checksum = "447ccc440a881271b19e9989f75726d60faa09b95b0200a9b7eb5cc47c3eeb29" 4739 - dependencies = [ 4740 - "rustix 1.1.2", 4741 - "wayland-client", 4742 - "xcursor", 4743 - ] 4744 - 4745 - [[package]] 4746 - name = "wayland-protocols" 4747 - version = "0.32.9" 4748 - source = "registry+https://github.com/rust-lang/crates.io-index" 4749 - checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" 4750 - dependencies = [ 4751 - "bitflags 2.10.0", 4752 - "wayland-backend", 4753 - "wayland-client", 4754 - "wayland-scanner", 4755 - ] 4756 - 4757 - [[package]] 4758 - name = "wayland-protocols-plasma" 4759 - version = "0.3.9" 4760 - source = "registry+https://github.com/rust-lang/crates.io-index" 4761 - checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" 4762 - dependencies = [ 4763 - "bitflags 2.10.0", 4764 - "wayland-backend", 4765 - "wayland-client", 4766 - "wayland-protocols", 4767 - "wayland-scanner", 4768 - ] 4769 - 4770 - [[package]] 4771 - name = "wayland-protocols-wlr" 4772 - version = "0.3.9" 4773 - source = "registry+https://github.com/rust-lang/crates.io-index" 4774 - checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" 4775 - dependencies = [ 4776 - "bitflags 2.10.0", 4777 - "wayland-backend", 4778 - "wayland-client", 4779 - "wayland-protocols", 4780 - "wayland-scanner", 4781 - ] 4782 - 4783 - [[package]] 4784 - name = "wayland-scanner" 4785 - version = "0.31.7" 4786 - source = "registry+https://github.com/rust-lang/crates.io-index" 4787 - checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" 4788 - dependencies = [ 4789 - "proc-macro2", 4790 - "quick-xml", 4791 - "quote", 4792 - ] 4793 - 4794 - [[package]] 4795 - name = "wayland-sys" 4796 - version = "0.31.7" 4797 - source = "registry+https://github.com/rust-lang/crates.io-index" 4798 - checksum = "34949b42822155826b41db8e5d0c1be3a2bd296c747577a43a3e6daefc296142" 4799 - dependencies = [ 4800 - "dlib", 4801 - "log", 4802 - "pkg-config", 4803 - ] 4804 - 4805 - [[package]] 4806 - name = "web-sys" 4807 - version = "0.3.82" 4808 - source = "registry+https://github.com/rust-lang/crates.io-index" 4809 - checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" 4810 - dependencies = [ 4811 - "js-sys", 4812 - "wasm-bindgen", 4813 - ] 4814 - 4815 - [[package]] 4816 - name = "web-time" 4817 - version = "1.1.0" 4818 - source = "registry+https://github.com/rust-lang/crates.io-index" 4819 - checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 4820 - dependencies = [ 4821 - "js-sys", 4822 - "wasm-bindgen", 4823 - ] 4824 - 4825 - [[package]] 4826 - name = "wgpu" 4827 - version = "26.0.1" 4828 - source = "registry+https://github.com/rust-lang/crates.io-index" 4829 - checksum = "70b6ff82bbf6e9206828e1a3178e851f8c20f1c9028e74dd3a8090741ccd5798" 4830 - dependencies = [ 4831 - "arrayvec", 4832 - "bitflags 2.10.0", 4833 - "cfg-if", 4834 - "cfg_aliases", 4835 - "document-features", 4836 - "hashbrown 0.15.5", 4837 - "js-sys", 4838 - "log", 4839 - "naga", 4840 - "portable-atomic", 4841 - "profiling", 4842 - "raw-window-handle", 4843 - "smallvec", 4844 - "static_assertions", 4845 - "wasm-bindgen", 4846 - "web-sys", 4847 - "wgpu-core", 4848 - "wgpu-hal", 4849 - "wgpu-types", 4850 - ] 4851 - 4852 - [[package]] 4853 - name = "wgpu-core" 4854 - version = "26.0.1" 4855 - source = "registry+https://github.com/rust-lang/crates.io-index" 4856 - checksum = "d5f62f1053bd28c2268f42916f31588f81f64796e2ff91b81293515017ca8bd9" 4857 - dependencies = [ 4858 - "arrayvec", 4859 - "bit-set", 4860 - "bit-vec", 4861 - "bitflags 2.10.0", 4862 - "cfg_aliases", 4863 - "document-features", 4864 - "hashbrown 0.15.5", 4865 - "indexmap", 4866 - "log", 4867 - "naga", 4868 - "once_cell", 4869 - "parking_lot", 4870 - "portable-atomic", 4871 - "profiling", 4872 - "raw-window-handle", 4873 - "rustc-hash 1.1.0", 4874 - "smallvec", 4875 - "thiserror 2.0.17", 4876 - "wgpu-core-deps-apple", 4877 - "wgpu-core-deps-wasm", 4878 - "wgpu-core-deps-windows-linux-android", 4879 - "wgpu-hal", 4880 - "wgpu-types", 4881 - ] 4882 - 4883 - [[package]] 4884 - name = "wgpu-core-deps-apple" 4885 - version = "26.0.0" 4886 - source = "registry+https://github.com/rust-lang/crates.io-index" 4887 - checksum = "18ae5fbde6a4cbebae38358aa73fcd6e0f15c6144b67ef5dc91ded0db125dbdf" 4888 - dependencies = [ 4889 - "wgpu-hal", 4890 - ] 4891 - 4892 - [[package]] 4893 - name = "wgpu-core-deps-wasm" 4894 - version = "26.0.0" 4895 - source = "registry+https://github.com/rust-lang/crates.io-index" 4896 - checksum = "c03b9f9e1a50686d315fc6debe4980cc45cd37b0e919351917df494e8fdc8885" 4897 - dependencies = [ 4898 - "wgpu-hal", 4899 - ] 4900 - 4901 - [[package]] 4902 - name = "wgpu-core-deps-windows-linux-android" 4903 - version = "26.0.0" 4904 - source = "registry+https://github.com/rust-lang/crates.io-index" 4905 - checksum = "720a5cb9d12b3d337c15ff0e24d3e97ed11490ff3f7506e7f3d98c68fa5d6f14" 4906 - dependencies = [ 4907 - "wgpu-hal", 4908 - ] 4909 - 4910 - [[package]] 4911 - name = "wgpu-hal" 4912 - version = "26.0.6" 4913 - source = "registry+https://github.com/rust-lang/crates.io-index" 4914 - checksum = "a8d0e67224cc7305b3b4eb2cc57ca4c4c3afc665c1d1bee162ea806e19c47bdd" 4915 - dependencies = [ 4916 - "android_system_properties", 4917 - "arrayvec", 4918 - "ash", 4919 - "bit-set", 4920 - "bitflags 2.10.0", 4921 - "block", 4922 - "bytemuck", 4923 - "cfg-if", 4924 - "cfg_aliases", 4925 - "core-graphics-types 0.2.0", 4926 - "glow", 4927 - "glutin_wgl_sys", 4928 - "gpu-alloc", 4929 - "gpu-allocator", 4930 - "gpu-descriptor", 4931 - "hashbrown 0.15.5", 4932 - "js-sys", 4933 - "khronos-egl", 4934 - "libc", 4935 - "libloading", 4936 - "log", 4937 - "metal", 4938 - "naga", 4939 - "ndk-sys 0.6.0+11769913", 4940 - "objc", 4941 - "ordered-float", 4942 - "parking_lot", 4943 - "portable-atomic", 4944 - "portable-atomic-util", 4945 - "profiling", 4946 - "range-alloc", 4947 - "raw-window-handle", 4948 - "renderdoc-sys", 4949 - "smallvec", 4950 - "thiserror 2.0.17", 4951 - "wasm-bindgen", 4952 - "web-sys", 4953 - "wgpu-types", 4954 - "windows 0.58.0", 4955 - "windows-core 0.58.0", 4956 - ] 4957 - 4958 - [[package]] 4959 - name = "wgpu-types" 4960 - version = "26.0.0" 4961 - source = "registry+https://github.com/rust-lang/crates.io-index" 4962 - checksum = "eca7a8d8af57c18f57d393601a1fb159ace8b2328f1b6b5f80893f7d672c9ae2" 4963 - dependencies = [ 4964 - "bitflags 2.10.0", 4965 - "bytemuck", 4966 - "js-sys", 4967 - "log", 4968 - "serde", 4969 - "thiserror 2.0.17", 4970 - "web-sys", 4971 - ] 4972 - 4973 - [[package]] 4974 - name = "winapi" 4975 - version = "0.3.9" 4976 - source = "registry+https://github.com/rust-lang/crates.io-index" 4977 - checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 4978 - dependencies = [ 4979 - "winapi-i686-pc-windows-gnu", 4980 - "winapi-x86_64-pc-windows-gnu", 4981 - ] 4982 - 4983 - [[package]] 4984 - name = "winapi-i686-pc-windows-gnu" 4985 - version = "0.4.0" 4986 - source = "registry+https://github.com/rust-lang/crates.io-index" 4987 - checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 4988 - 4989 - [[package]] 4990 - name = "winapi-util" 4991 - version = "0.1.11" 4992 - source = "registry+https://github.com/rust-lang/crates.io-index" 4993 - checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 4994 - dependencies = [ 4995 - "windows-sys 0.61.2", 4996 - ] 4997 - 4998 - [[package]] 4999 - name = "winapi-x86_64-pc-windows-gnu" 5000 - version = "0.4.0" 5001 - source = "registry+https://github.com/rust-lang/crates.io-index" 5002 - checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 5003 - 5004 - [[package]] 5005 - name = "windows" 5006 - version = "0.54.0" 5007 - source = "registry+https://github.com/rust-lang/crates.io-index" 5008 - checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" 5009 - dependencies = [ 5010 - "windows-core 0.54.0", 5011 - "windows-targets 0.52.6", 5012 - ] 5013 - 5014 - [[package]] 5015 - name = "windows" 5016 - version = "0.58.0" 5017 - source = "registry+https://github.com/rust-lang/crates.io-index" 5018 - checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" 5019 - dependencies = [ 5020 - "windows-core 0.58.0", 5021 - "windows-targets 0.52.6", 5022 - ] 5023 - 5024 - [[package]] 5025 - name = "windows" 5026 - version = "0.61.3" 5027 - source = "registry+https://github.com/rust-lang/crates.io-index" 5028 - checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 5029 - dependencies = [ 5030 - "windows-collections 0.2.0", 5031 - "windows-core 0.61.2", 5032 - "windows-future 0.2.1", 5033 - "windows-link 0.1.3", 5034 - "windows-numerics 0.2.0", 5035 - ] 5036 - 5037 - [[package]] 5038 - name = "windows" 5039 - version = "0.62.2" 5040 - source = "registry+https://github.com/rust-lang/crates.io-index" 5041 - checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" 5042 - dependencies = [ 5043 - "windows-collections 0.3.2", 5044 - "windows-core 0.62.2", 5045 - "windows-future 0.3.2", 5046 - "windows-numerics 0.3.1", 5047 - ] 5048 - 5049 - [[package]] 5050 - name = "windows-collections" 5051 - version = "0.2.0" 5052 - source = "registry+https://github.com/rust-lang/crates.io-index" 5053 - checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 5054 - dependencies = [ 5055 - "windows-core 0.61.2", 5056 - ] 5057 - 5058 - [[package]] 5059 - name = "windows-collections" 5060 - version = "0.3.2" 5061 - source = "registry+https://github.com/rust-lang/crates.io-index" 5062 - checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" 5063 - dependencies = [ 5064 - "windows-core 0.62.2", 5065 - ] 5066 - 5067 - [[package]] 5068 - name = "windows-core" 5069 - version = "0.54.0" 5070 - source = "registry+https://github.com/rust-lang/crates.io-index" 5071 - checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" 5072 - dependencies = [ 5073 - "windows-result 0.1.2", 5074 - "windows-targets 0.52.6", 5075 - ] 5076 - 5077 - [[package]] 5078 - name = "windows-core" 5079 - version = "0.58.0" 5080 - source = "registry+https://github.com/rust-lang/crates.io-index" 5081 - checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" 5082 - dependencies = [ 5083 - "windows-implement 0.58.0", 5084 - "windows-interface 0.58.0", 5085 - "windows-result 0.2.0", 5086 - "windows-strings 0.1.0", 5087 - "windows-targets 0.52.6", 5088 - ] 5089 - 5090 - [[package]] 5091 - name = "windows-core" 5092 - version = "0.61.2" 5093 - source = "registry+https://github.com/rust-lang/crates.io-index" 5094 - checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" 5095 - dependencies = [ 5096 - "windows-implement 0.60.2", 5097 - "windows-interface 0.59.3", 5098 - "windows-link 0.1.3", 5099 - "windows-result 0.3.4", 5100 - "windows-strings 0.4.2", 5101 - ] 5102 - 5103 - [[package]] 5104 - name = "windows-core" 5105 - version = "0.62.2" 5106 - source = "registry+https://github.com/rust-lang/crates.io-index" 5107 - checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 5108 - dependencies = [ 5109 - "windows-implement 0.60.2", 5110 - "windows-interface 0.59.3", 5111 - "windows-link 0.2.1", 5112 - "windows-result 0.4.1", 5113 - "windows-strings 0.5.1", 5114 - ] 5115 - 5116 - [[package]] 5117 - name = "windows-future" 5118 - version = "0.2.1" 5119 - source = "registry+https://github.com/rust-lang/crates.io-index" 5120 - checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 5121 - dependencies = [ 5122 - "windows-core 0.61.2", 5123 - "windows-link 0.1.3", 5124 - "windows-threading 0.1.0", 5125 - ] 5126 - 5127 - [[package]] 5128 - name = "windows-future" 5129 - version = "0.3.2" 5130 - source = "registry+https://github.com/rust-lang/crates.io-index" 5131 - checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" 5132 - dependencies = [ 5133 - "windows-core 0.62.2", 5134 - "windows-link 0.2.1", 5135 - "windows-threading 0.2.1", 5136 - ] 5137 - 5138 - [[package]] 5139 - name = "windows-implement" 5140 - version = "0.58.0" 5141 - source = "registry+https://github.com/rust-lang/crates.io-index" 5142 - checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" 5143 - dependencies = [ 5144 - "proc-macro2", 5145 - "quote", 5146 - "syn", 5147 - ] 5148 - 5149 - [[package]] 5150 - name = "windows-implement" 5151 - version = "0.60.2" 5152 - source = "registry+https://github.com/rust-lang/crates.io-index" 5153 - checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 5154 - dependencies = [ 5155 - "proc-macro2", 5156 - "quote", 5157 - "syn", 5158 - ] 5159 - 5160 - [[package]] 5161 - name = "windows-interface" 5162 - version = "0.58.0" 5163 - source = "registry+https://github.com/rust-lang/crates.io-index" 5164 - checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" 5165 - dependencies = [ 5166 - "proc-macro2", 5167 - "quote", 5168 - "syn", 5169 - ] 5170 - 5171 - [[package]] 5172 - name = "windows-interface" 5173 - version = "0.59.3" 5174 - source = "registry+https://github.com/rust-lang/crates.io-index" 5175 - checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 5176 - dependencies = [ 5177 - "proc-macro2", 5178 - "quote", 5179 - "syn", 5180 - ] 5181 - 5182 - [[package]] 5183 - name = "windows-link" 5184 - version = "0.1.3" 5185 - source = "registry+https://github.com/rust-lang/crates.io-index" 5186 - checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 5187 - 5188 - [[package]] 5189 - name = "windows-link" 5190 - version = "0.2.1" 5191 - source = "registry+https://github.com/rust-lang/crates.io-index" 5192 - checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 5193 - 5194 - [[package]] 5195 - name = "windows-numerics" 5196 - version = "0.2.0" 5197 - source = "registry+https://github.com/rust-lang/crates.io-index" 5198 - checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 5199 - dependencies = [ 5200 - "windows-core 0.61.2", 5201 - "windows-link 0.1.3", 5202 - ] 5203 - 5204 - [[package]] 5205 - name = "windows-numerics" 5206 - version = "0.3.1" 5207 - source = "registry+https://github.com/rust-lang/crates.io-index" 5208 - checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" 5209 - dependencies = [ 5210 - "windows-core 0.62.2", 5211 - "windows-link 0.2.1", 5212 - ] 5213 - 5214 - [[package]] 5215 - name = "windows-result" 5216 - version = "0.1.2" 5217 - source = "registry+https://github.com/rust-lang/crates.io-index" 5218 - checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" 5219 - dependencies = [ 5220 - "windows-targets 0.52.6", 5221 - ] 5222 - 5223 - [[package]] 5224 - name = "windows-result" 5225 - version = "0.2.0" 5226 - source = "registry+https://github.com/rust-lang/crates.io-index" 5227 - checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" 5228 - dependencies = [ 5229 - "windows-targets 0.52.6", 5230 - ] 5231 - 5232 - [[package]] 5233 - name = "windows-result" 5234 - version = "0.3.4" 5235 - source = "registry+https://github.com/rust-lang/crates.io-index" 5236 - checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 5237 - dependencies = [ 5238 - "windows-link 0.1.3", 5239 - ] 5240 - 5241 - [[package]] 5242 - name = "windows-result" 5243 - version = "0.4.1" 5244 - source = "registry+https://github.com/rust-lang/crates.io-index" 5245 - checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 5246 - dependencies = [ 5247 - "windows-link 0.2.1", 5248 - ] 5249 - 5250 - [[package]] 5251 - name = "windows-strings" 5252 - version = "0.1.0" 5253 - source = "registry+https://github.com/rust-lang/crates.io-index" 5254 - checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" 5255 - dependencies = [ 5256 - "windows-result 0.2.0", 5257 - "windows-targets 0.52.6", 5258 - ] 5259 - 5260 - [[package]] 5261 - name = "windows-strings" 5262 - version = "0.4.2" 5263 - source = "registry+https://github.com/rust-lang/crates.io-index" 5264 - checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 5265 - dependencies = [ 5266 - "windows-link 0.1.3", 5267 - ] 5268 - 5269 - [[package]] 5270 - name = "windows-strings" 5271 - version = "0.5.1" 5272 - source = "registry+https://github.com/rust-lang/crates.io-index" 5273 - checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 5274 - dependencies = [ 5275 - "windows-link 0.2.1", 5276 - ] 5277 - 5278 - [[package]] 5279 - name = "windows-sys" 5280 - version = "0.45.0" 5281 - source = "registry+https://github.com/rust-lang/crates.io-index" 5282 - checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 5283 - dependencies = [ 5284 - "windows-targets 0.42.2", 5285 - ] 5286 - 5287 - [[package]] 5288 - name = "windows-sys" 5289 - version = "0.52.0" 5290 - source = "registry+https://github.com/rust-lang/crates.io-index" 5291 - checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 5292 - dependencies = [ 5293 - "windows-targets 0.52.6", 5294 - ] 5295 - 5296 - [[package]] 5297 - name = "windows-sys" 5298 - version = "0.59.0" 5299 - source = "registry+https://github.com/rust-lang/crates.io-index" 5300 - checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 5301 - dependencies = [ 5302 - "windows-targets 0.52.6", 5303 - ] 5304 - 5305 - [[package]] 5306 - name = "windows-sys" 5307 - version = "0.61.2" 5308 - source = "registry+https://github.com/rust-lang/crates.io-index" 5309 - checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 5310 - dependencies = [ 5311 - "windows-link 0.2.1", 5312 - ] 5313 - 5314 - [[package]] 5315 - name = "windows-targets" 5316 - version = "0.42.2" 5317 - source = "registry+https://github.com/rust-lang/crates.io-index" 5318 - checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 5319 - dependencies = [ 5320 - "windows_aarch64_gnullvm 0.42.2", 5321 - "windows_aarch64_msvc 0.42.2", 5322 - "windows_i686_gnu 0.42.2", 5323 - "windows_i686_msvc 0.42.2", 5324 - "windows_x86_64_gnu 0.42.2", 5325 - "windows_x86_64_gnullvm 0.42.2", 5326 - "windows_x86_64_msvc 0.42.2", 5327 - ] 5328 - 5329 - [[package]] 5330 - name = "windows-targets" 5331 - version = "0.52.6" 5332 - source = "registry+https://github.com/rust-lang/crates.io-index" 5333 - checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 5334 - dependencies = [ 5335 - "windows_aarch64_gnullvm 0.52.6", 5336 - "windows_aarch64_msvc 0.52.6", 5337 - "windows_i686_gnu 0.52.6", 5338 - "windows_i686_gnullvm", 5339 - "windows_i686_msvc 0.52.6", 5340 - "windows_x86_64_gnu 0.52.6", 5341 - "windows_x86_64_gnullvm 0.52.6", 5342 - "windows_x86_64_msvc 0.52.6", 5343 - ] 5344 - 5345 - [[package]] 5346 - name = "windows-threading" 5347 - version = "0.1.0" 5348 - source = "registry+https://github.com/rust-lang/crates.io-index" 5349 - checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" 5350 - dependencies = [ 5351 - "windows-link 0.1.3", 5352 - ] 5353 - 5354 - [[package]] 5355 - name = "windows-threading" 5356 - version = "0.2.1" 5357 - source = "registry+https://github.com/rust-lang/crates.io-index" 5358 - checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" 5359 - dependencies = [ 5360 - "windows-link 0.2.1", 5361 - ] 5362 - 5363 - [[package]] 5364 - name = "windows_aarch64_gnullvm" 5365 - version = "0.42.2" 5366 - source = "registry+https://github.com/rust-lang/crates.io-index" 5367 - checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 5368 - 5369 - [[package]] 5370 - name = "windows_aarch64_gnullvm" 5371 - version = "0.52.6" 5372 - source = "registry+https://github.com/rust-lang/crates.io-index" 5373 - checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 5374 - 5375 - [[package]] 5376 - name = "windows_aarch64_msvc" 5377 - version = "0.42.2" 5378 - source = "registry+https://github.com/rust-lang/crates.io-index" 5379 - checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 5380 - 5381 - [[package]] 5382 - name = "windows_aarch64_msvc" 5383 - version = "0.52.6" 5384 - source = "registry+https://github.com/rust-lang/crates.io-index" 5385 - checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 5386 - 5387 - [[package]] 5388 - name = "windows_i686_gnu" 5389 - version = "0.42.2" 5390 - source = "registry+https://github.com/rust-lang/crates.io-index" 5391 - checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 5392 - 5393 - [[package]] 5394 - name = "windows_i686_gnu" 5395 - version = "0.52.6" 5396 - source = "registry+https://github.com/rust-lang/crates.io-index" 5397 - checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 5398 - 5399 - [[package]] 5400 - name = "windows_i686_gnullvm" 5401 - version = "0.52.6" 5402 - source = "registry+https://github.com/rust-lang/crates.io-index" 5403 - checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 5404 - 5405 - [[package]] 5406 - name = "windows_i686_msvc" 5407 - version = "0.42.2" 5408 - source = "registry+https://github.com/rust-lang/crates.io-index" 5409 - checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 5410 - 5411 - [[package]] 5412 - name = "windows_i686_msvc" 5413 - version = "0.52.6" 5414 - source = "registry+https://github.com/rust-lang/crates.io-index" 5415 - checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 5416 - 5417 - [[package]] 5418 - name = "windows_x86_64_gnu" 5419 - version = "0.42.2" 5420 - source = "registry+https://github.com/rust-lang/crates.io-index" 5421 - checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 5422 - 5423 - [[package]] 5424 - name = "windows_x86_64_gnu" 5425 - version = "0.52.6" 5426 - source = "registry+https://github.com/rust-lang/crates.io-index" 5427 - checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 5428 - 5429 - [[package]] 5430 - name = "windows_x86_64_gnullvm" 5431 - version = "0.42.2" 5432 - source = "registry+https://github.com/rust-lang/crates.io-index" 5433 - checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 5434 - 5435 - [[package]] 5436 - name = "windows_x86_64_gnullvm" 5437 - version = "0.52.6" 5438 - source = "registry+https://github.com/rust-lang/crates.io-index" 5439 - checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 5440 - 5441 - [[package]] 5442 - name = "windows_x86_64_msvc" 5443 - version = "0.42.2" 5444 - source = "registry+https://github.com/rust-lang/crates.io-index" 5445 - checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 5446 - 5447 - [[package]] 5448 - name = "windows_x86_64_msvc" 5449 - version = "0.52.6" 5450 - source = "registry+https://github.com/rust-lang/crates.io-index" 5451 - checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 5452 - 5453 - [[package]] 5454 - name = "winit" 5455 - version = "0.30.12" 5456 - source = "registry+https://github.com/rust-lang/crates.io-index" 5457 - checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" 5458 - dependencies = [ 5459 - "ahash", 5460 - "android-activity", 5461 - "atomic-waker", 5462 - "bitflags 2.10.0", 5463 - "block2 0.5.1", 5464 - "bytemuck", 5465 - "calloop", 5466 - "cfg_aliases", 5467 - "concurrent-queue", 5468 - "core-foundation 0.9.4", 5469 - "core-graphics", 5470 - "cursor-icon", 5471 - "dpi", 5472 - "js-sys", 5473 - "libc", 5474 - "memmap2", 5475 - "ndk 0.9.0", 5476 - "objc2 0.5.2", 5477 - "objc2-app-kit", 5478 - "objc2-foundation", 5479 - "objc2-ui-kit", 5480 - "orbclient", 5481 - "percent-encoding", 5482 - "pin-project", 5483 - "raw-window-handle", 5484 - "redox_syscall 0.4.1", 5485 - "rustix 0.38.44", 5486 - "sctk-adwaita", 5487 - "smithay-client-toolkit", 5488 - "smol_str", 5489 - "tracing", 5490 - "unicode-segmentation", 5491 - "wasm-bindgen", 5492 - "wasm-bindgen-futures", 5493 - "wayland-backend", 5494 - "wayland-client", 5495 - "wayland-protocols", 5496 - "wayland-protocols-plasma", 5497 - "web-sys", 5498 - "web-time", 5499 - "windows-sys 0.52.0", 5500 - "x11-dl", 5501 - "x11rb", 5502 - "xkbcommon-dl", 5503 - ] 5504 - 5505 - [[package]] 5506 - name = "winnow" 5507 - version = "0.7.13" 5508 - source = "registry+https://github.com/rust-lang/crates.io-index" 5509 - checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" 5510 - dependencies = [ 5511 - "memchr", 5512 - ] 5513 - 5514 - [[package]] 5515 - name = "wit-bindgen" 5516 - version = "0.46.0" 5517 - source = "registry+https://github.com/rust-lang/crates.io-index" 5518 - checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" 5519 - 5520 - [[package]] 5521 - name = "x11-dl" 5522 - version = "2.21.0" 5523 - source = "registry+https://github.com/rust-lang/crates.io-index" 5524 - checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 5525 - dependencies = [ 5526 - "libc", 5527 - "once_cell", 5528 - "pkg-config", 5529 - ] 5530 - 5531 - [[package]] 5532 - name = "x11rb" 5533 - version = "0.13.2" 5534 - source = "registry+https://github.com/rust-lang/crates.io-index" 5535 - checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" 5536 - dependencies = [ 5537 - "as-raw-xcb-connection", 5538 - "gethostname", 5539 - "libc", 5540 - "libloading", 5541 - "once_cell", 5542 - "rustix 1.1.2", 5543 - "x11rb-protocol", 5544 - ] 5545 - 5546 - [[package]] 5547 - name = "x11rb-protocol" 5548 - version = "0.13.2" 5549 - source = "registry+https://github.com/rust-lang/crates.io-index" 5550 - checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" 5551 - 5552 - [[package]] 5553 - name = "xcursor" 5554 - version = "0.3.10" 5555 - source = "registry+https://github.com/rust-lang/crates.io-index" 5556 - checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" 5557 - 5558 - [[package]] 5559 - name = "xkbcommon-dl" 5560 - version = "0.4.2" 5561 - source = "registry+https://github.com/rust-lang/crates.io-index" 5562 - checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" 5563 - dependencies = [ 5564 - "bitflags 2.10.0", 5565 - "dlib", 5566 - "log", 5567 - "once_cell", 5568 - "xkeysym", 5569 - ] 5570 - 5571 - [[package]] 5572 - name = "xkeysym" 5573 - version = "0.2.1" 5574 - source = "registry+https://github.com/rust-lang/crates.io-index" 5575 - checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" 5576 - 5577 - [[package]] 5578 - name = "xml-rs" 5579 - version = "0.8.28" 5580 - source = "registry+https://github.com/rust-lang/crates.io-index" 5581 - checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" 5582 - 5583 - [[package]] 5584 - name = "yazi" 5585 - version = "0.2.1" 5586 - source = "registry+https://github.com/rust-lang/crates.io-index" 5587 - checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" 5588 - 5589 - [[package]] 5590 - name = "zeno" 5591 - version = "0.3.3" 5592 - source = "registry+https://github.com/rust-lang/crates.io-index" 5593 - checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524" 5594 137 5595 138 [[package]] 5596 139 name = "zerocopy"
+4 -3
Cargo.toml
··· 5 5 6 6 [dependencies] 7 7 anyhow = "1.0.100" 8 - bevy = "0.17.3" 8 + dotenvy = "0.15.7" 9 9 nanoid = "0.4.0" 10 10 11 - [features] 12 - client = [] 11 + # Enable max optimizations for dependencies, but not for our code: 12 + [profile.dev.package."*"] 13 + opt-level = 3
-78
src/client/debug_camera.rs
··· 1 - use std::f32::consts::PI; 2 - 3 - use bevy::{ input::mouse::MouseMotion, prelude::* }; 4 - 5 - use crate::net::client::component::ClientNetworkingManager; 6 - 7 - #[derive(Component)] 8 - pub struct DebugCamera{ 9 - pitch: f32, 10 - yaw: f32 11 - } 12 - 13 - impl Default for DebugCamera{ 14 - fn default() -> Self { 15 - Self { 16 - pitch: 0.0, 17 - yaw: -PI / 2.0 18 - } 19 - } 20 - } 21 - 22 - pub fn fixed_update( 23 - mut query: Query<(&mut DebugCamera, &mut Transform)>, 24 - mut networking: Query<&mut ClientNetworkingManager> 25 - ){ 26 - let ( _, transform ) = query.single_mut().unwrap(); 27 - let net_manager = networking.single_mut().unwrap(); 28 - 29 - net_manager.update_server_position(transform.translation.clone(), transform.rotation.clone()); 30 - } 31 - 32 - pub fn update( 33 - mut query: Query<(&mut DebugCamera, &mut Transform)>, 34 - 35 - time: Res<Time>, 36 - 37 - keys: Res<ButtonInput<KeyCode>>, 38 - mouse_buttons: Res<ButtonInput<MouseButton>>, 39 - mut mouse_motion: MessageReader<MouseMotion>, 40 - ){ 41 - let mut delta_time = time.delta_secs(); 42 - if keys.pressed(KeyCode::ShiftLeft){ delta_time *= 2.0; } 43 - 44 - let ( mut debug, mut transform ) = query.single_mut().unwrap(); 45 - 46 - for ev in mouse_motion.read(){ 47 - if mouse_buttons.pressed(MouseButton::Right){ 48 - debug.pitch -= ev.delta.y * delta_time * 0.1; 49 - debug.yaw -= ev.delta.x * delta_time * 0.1; 50 - } 51 - } 52 - 53 - transform.rotation = Quat::from_euler(EulerRot::YXZ, debug.yaw, debug.pitch, 0.0); 54 - 55 - if keys.pressed(KeyCode::KeyW){ 56 - let dir = transform.forward(); 57 - transform.translation += dir * delta_time; 58 - } else if keys.pressed(KeyCode::KeyS){ 59 - let dir = -transform.forward(); 60 - transform.translation += dir * delta_time; 61 - } 62 - 63 - if keys.pressed(KeyCode::KeyA){ 64 - let dir = transform.left(); 65 - transform.translation += dir * delta_time; 66 - } else if keys.pressed(KeyCode::KeyD){ 67 - let dir = -transform.left(); 68 - transform.translation += dir * delta_time; 69 - } 70 - 71 - if keys.pressed(KeyCode::KeyE){ 72 - let dir = transform.up(); 73 - transform.translation += dir * delta_time; 74 - } else if keys.pressed(KeyCode::KeyQ){ 75 - let dir = -transform.up(); 76 - transform.translation += dir * delta_time; 77 - } 78 - }
-39
src/client/mod.rs
··· 1 - use bevy::prelude::*; 2 - 3 - pub mod debug_camera; 4 - 5 - pub fn setup( 6 - mut commands: Commands, 7 - mut meshes: ResMut<Assets<Mesh>>, 8 - mut materials: ResMut<Assets<StandardMaterial>> 9 - ){ 10 - commands.spawn(( 11 - Mesh3d(meshes.add(Cuboid::new(1.0, 1.0, 1.0))), 12 - MeshMaterial3d(materials.add(Color::WHITE)), 13 - Transform::from_xyz(5.0, 0.0, 0.0) 14 - )); 15 - 16 - commands.spawn(( 17 - Mesh3d(meshes.add(Cuboid::new(0.5, 0.5, 0.5))), 18 - MeshMaterial3d(materials.add(Color::WHITE)), 19 - Transform::from_xyz(-5.0, 0.0, 0.0) 20 - )); 21 - 22 - commands.spawn(( 23 - Mesh3d(meshes.add(Cuboid::new(0.5, 0.5, 0.5))), 24 - MeshMaterial3d(materials.add(Color::WHITE)), 25 - Transform::from_xyz(0.0, 0.0, 5.0) 26 - )); 27 - 28 - commands.spawn(( 29 - Mesh3d(meshes.add(Cuboid::new(0.5, 0.5, 0.5))), 30 - MeshMaterial3d(materials.add(Color::WHITE)), 31 - Transform::from_xyz(0.0, 0.0, -5.0) 32 - )); 33 - 34 - commands.spawn(( 35 - debug_camera::DebugCamera::default(), 36 - Camera3d::default(), 37 - Transform::from_xyz(0.0, 0.0, 0.0).looking_at(Vec3::ZERO, Vec3::Y), 38 - )); 39 - }
+6 -29
src/main.rs
··· 1 + use std::fs; 2 + 1 3 mod net; 2 - mod util; 3 - 4 - #[cfg(feature = "client")] 5 - mod client; 4 + mod structs; 6 5 7 6 fn main() { 7 + if fs::exists(".env").unwrap(){ 8 + dotenvy::dotenv().unwrap(); 9 + } 8 10 9 - #[cfg(not(feature = "client"))] 10 11 net::handle_net().expect("Network Module Failed."); 11 - 12 - #[cfg(feature = "client")] 13 - { 14 - use std::sync::mpsc::channel; 15 - 16 - use bevy::{DefaultPlugins, app::{App, FixedUpdate, Startup, Update}, ecs::system::Commands}; 17 - 18 - use crate::net::client::component::ClientNetworkingManager; 19 - 20 - let (sender, recv) = channel(); 21 - let net_manager = ClientNetworkingManager::from(sender); 22 - 23 - net::handle_net(recv).expect("Network Module Failed."); 24 - 25 - App::new() 26 - .add_plugins(DefaultPlugins) 27 - .add_systems(Startup, client::setup) 28 - .add_systems(Startup, move | mut commands: Commands | { 29 - commands.spawn(net_manager.clone()); 30 - }) 31 - .add_systems(Update, client::debug_camera::update) 32 - .add_systems(FixedUpdate, client::debug_camera::fixed_update) 33 - .run(); 34 - } 35 12 }
+27 -2
src/net/buffer.rs
··· 1 + use crate::structs::{quat::Quat, vec::Vec3}; 2 + 1 3 #[derive(Clone)] 2 4 pub struct Buffer{ 3 5 dat: Vec<u8>, ··· 52 54 } 53 55 54 56 pub fn set_str(&mut self, value: String){ 55 - self.set_u32(value.len() as u32); 56 - 57 57 let b = value.as_bytes(); 58 + 59 + self.set_u32(b.len() as u32); 58 60 self.set_u8s(b); 59 61 } 60 62 61 63 64 + pub fn set_vec3(&mut self, value: Vec3){ 65 + self.set_f32(value.x); 66 + self.set_f32(value.y); 67 + self.set_f32(value.z); 68 + } 69 + 70 + pub fn set_quat(&mut self, value: Quat){ 71 + self.set_f32(value.x); 72 + self.set_f32(value.y); 73 + self.set_f32(value.z); 74 + self.set_f32(value.w); 75 + } 76 + 77 + 62 78 pub fn set_f32(&mut self, value: f32){ 63 79 let b = value.to_le_bytes(); 64 80 self.set_u8s(&b); ··· 120 136 121 137 let string = str::from_utf8(b).unwrap(); 122 138 string.to_owned() 139 + } 140 + 141 + 142 + pub fn get_vec3(&mut self) -> Vec3{ 143 + Vec3 { x: self.get_f32(), y: self.get_f32(), z: self.get_f32() } 144 + } 145 + 146 + pub fn get_quat(&mut self) -> Quat{ 147 + Quat { x: self.get_f32(), y: self.get_f32(), z: self.get_f32(), w: self.get_f32() } 123 148 } 124 149 125 150
-27
src/net/client/component.rs
··· 1 - use std::sync::mpsc::Sender; 2 - 3 - use bevy::{ecs::component::Component, math::{Quat, Vec3}}; 4 - 5 - #[derive(Debug, Clone)] 6 - pub enum ClientNetworkingManagerCommand{ 7 - UpdatePlayerPosition(Vec3, Quat), 8 - } 9 - 10 - #[derive(Component, Debug, Clone)] 11 - pub struct ClientNetworkingManager{ 12 - cmd: Sender<ClientNetworkingManagerCommand> 13 - } 14 - 15 - impl From<Sender<ClientNetworkingManagerCommand>> for ClientNetworkingManager{ 16 - fn from(value: Sender<ClientNetworkingManagerCommand>) -> Self { 17 - Self { 18 - cmd: value 19 - } 20 - } 21 - } 22 - 23 - impl ClientNetworkingManager{ 24 - pub fn update_server_position(&self, pos: Vec3, rot: Quat){ 25 - self.cmd.send(ClientNetworkingManagerCommand::UpdatePlayerPosition(pos, rot)).unwrap(); 26 - } 27 - }
-67
src/net/client/mod.rs
··· 1 - use std::{net::{TcpStream, UdpSocket}, sync::mpsc::{Receiver, channel}, thread}; 2 - 3 - use bevy::math::{Quat, Vec3}; 4 - 5 - use crate::{net::{client::component::ClientNetworkingManagerCommand, connection::Connection, packet::PacketTypes, packets::update_server_position::UpdateServerPositions}, util::net::ipv4_address}; 6 - 7 - pub mod component; 8 - 9 - pub enum NetClientCommand{ 10 - Connected(String), 11 - Disconnected, 12 - UpdatePlayerPosition(Vec3, Quat), 13 - RecvPacket(PacketTypes) 14 - } 15 - 16 - pub fn handle_net_client(cmd: Receiver<ClientNetworkingManagerCommand>) -> anyhow::Result<()>{ 17 - let tcp = TcpStream::connect("127.0.0.1:2603")?; 18 - let udp = UdpSocket::bind("0.0.0.0:0")?; 19 - 20 - let ( sender_cmd, recv ) = channel(); 21 - let sender_cmd_1 = sender_cmd.clone(); 22 - 23 - thread::spawn(move || { 24 - while let Ok(cmd) = cmd.recv(){ 25 - match cmd{ 26 - ClientNetworkingManagerCommand::UpdatePlayerPosition(pos, rot) => 27 - sender_cmd_1.send(NetClientCommand::UpdatePlayerPosition(pos, rot)).unwrap(), 28 - } 29 - } 30 - }); 31 - 32 - thread::spawn(move || { 33 - let mut conn = Connection::new(tcp, udp,ipv4_address(127, 0, 0, 1, 2603), sender_cmd); 34 - 35 - while let Ok(cmd) = recv.recv(){ 36 - match cmd{ 37 - NetClientCommand::Connected(id) => { 38 - println!("[INFO] Connected to server as {}", id); 39 - conn.id = id; 40 - }, 41 - NetClientCommand::Disconnected => { 42 - println!("[WARN] Disconnected from server."); 43 - }, 44 - NetClientCommand::UpdatePlayerPosition(pos, rot) => { 45 - let packet = UpdateServerPositions { position: pos, rotation: rot }; 46 - conn.try_send_unreliable(packet).unwrap(); 47 - }, 48 - NetClientCommand::RecvPacket(packet) => { 49 - match packet{ 50 - PacketTypes::PlayerJoinPacket(player) => { 51 - dbg!(player); 52 - }, 53 - PacketTypes::PlayerListPacket(players) => { 54 - dbg!(players); 55 - }, 56 - PacketTypes::PlayerLeavePacket(player) => { 57 - dbg!(player); 58 - }, 59 - _ => {} 60 - } 61 - } 62 - } 63 - } 64 - }); 65 - 66 - Ok(()) 67 - }
+27 -92
src/net/connection.rs
··· 1 - use std::{fs, io::{Read, Write}, net::{SocketAddr, TcpStream, UdpSocket}, sync::mpsc::Sender, thread}; 1 + use std::{io::{Read, Write}, net::{SocketAddr, TcpStream}, sync::mpsc::Sender, thread}; 2 2 3 3 use nanoid::nanoid; 4 4 5 - #[cfg(feature = "client")] 6 - use crate::net::{client::NetClientCommand, packets::link_udp::LinkUDP}; 7 - #[cfg(not(feature = "client"))] 8 - use crate::net::{server::NetServerCommand, packets::notify_connection_info::NotifyConnectionInfo}; 5 + use crate::{net::{packets::notify_connection_info::NotifyConnectionInfo, server::NetServerCommand}, structs::{quat::Quat, vec::Vec3}}; 9 6 10 7 use crate::net::packet::{self, Packet, PacketTypes}; 11 8 ··· 13 10 pub struct Connection{ 14 11 tcp: TcpStream, 15 12 16 - #[cfg(not(feature = "client"))] 17 13 udp: Option<SocketAddr>, 18 - #[cfg(not(feature = "client"))] 19 14 main_thread_sender: Sender<NetServerCommand>, 20 15 21 - #[cfg(feature = "client")] 22 - udp: UdpSocket, 23 - #[cfg(feature = "client")] 24 - udp_server_address: SocketAddr, 16 + pub position: Vec3, 17 + pub rotation: Quat, 25 18 26 19 pub id: String 27 20 } 28 21 29 22 impl Connection{ 30 - #[cfg(not(feature = "client"))] 31 23 pub fn new( stream: TcpStream, cmd: Sender<NetServerCommand> ) -> Self{ 32 24 let mut conn = Self { 33 25 tcp: stream, 26 + 27 + udp: None, 34 28 main_thread_sender: cmd.clone(), 35 - udp: None, 29 + 30 + position: Vec3::default(), 31 + rotation: Quat::default(), 36 32 37 33 id: nanoid!() 38 34 }; ··· 45 41 conn 46 42 } 47 43 48 - #[cfg(not(feature = "client"))] 49 44 fn start_listener_thread(&self, cmd: Sender<NetServerCommand>) -> anyhow::Result<()>{ 50 45 let mut stream = self.tcp.try_clone()?; 51 46 let id = self.id.clone(); ··· 57 52 let msg = &buf[0..length]; 58 53 59 54 let packet = packet::parse(msg.into()); 55 + cmd.send(NetServerCommand::RecvOverTCP(id.clone(), packet)).unwrap(); 60 56 } 61 57 62 58 cmd.send(NetServerCommand::PlayerDisconnect(id)).unwrap(); ··· 65 61 Ok(()) 66 62 } 67 63 68 - #[cfg(feature = "client")] 69 - pub fn new( tcp: TcpStream, udp: UdpSocket, udp_server_address: SocketAddr, cmd: Sender<NetClientCommand> ) -> Self{ 70 - let mut conn = Self { 71 - tcp: tcp, 72 - udp: udp, 73 - udp_server_address: udp_server_address, 74 - 75 - id: "".to_owned() 76 - }; 77 - 78 - conn.start_listener_thread(cmd).unwrap(); 79 - 80 - conn 64 + pub fn connect_udp(&mut self, address: SocketAddr){ 65 + self.udp = Some(address); 81 66 } 82 67 83 - #[cfg(feature = "client")] 84 - fn start_listener_thread(&self, cmd: Sender<NetClientCommand>) -> anyhow::Result<()>{ 85 - let mut tcp = self.tcp.try_clone()?; 86 - let udp = self.udp.try_clone()?; 87 - 88 - let udp_1 = self.udp.try_clone()?; 89 - let cmd_1 = cmd.clone(); 90 - 91 - let srv_addr = self.udp_server_address.clone(); 92 - 93 - thread::spawn(move || { // UDP RECV THREAD 94 - let mut buf = [0; 1024]; 95 - 96 - while let Ok((length, addr)) = udp_1.recv_from(&mut buf){ 97 - if addr != srv_addr{ continue; } 98 - 99 - let msg = &buf[0..length]; 100 - let packet = packet::parse(msg.into()); 101 - 102 - cmd_1.send(NetClientCommand::RecvPacket(packet)).unwrap(); 103 - } 104 - }); 105 - 106 - thread::spawn(move || { // TCP RECV THREAD 107 - let mut buf = [0; 1024]; 108 - 109 - while let Ok(length) = tcp.read(&mut buf){ 110 - if length == 0 { break; } 111 - 112 - let msg = &buf[0..length]; 113 - let packet = packet::parse(msg.into()); 114 - 115 - match packet{ 116 - PacketTypes::NotifyConnectionInfo(info) => { 117 - cmd.send(NetClientCommand::Connected(info.id.clone())).unwrap(); 118 - 119 - let packet = LinkUDP { id: info.id }; 120 - let packet: Vec<_> = packet.to_buf().into(); 121 - 122 - udp.send_to(&packet, "127.0.0.1:2603").unwrap(); 123 - }, 124 - _ => { 125 - cmd.send(NetClientCommand::RecvPacket(packet)).unwrap(); 126 - } 127 - } 128 - } 129 - 130 - cmd.send(NetClientCommand::Disconnected).unwrap(); 131 - }); 68 + pub fn recv_packet(&mut self, packet: PacketTypes) -> anyhow::Result<()>{ 69 + match packet{ 70 + PacketTypes::UpdateServerPositions(packet) => { 71 + self.position = packet.position; 72 + self.rotation = packet.rotation; 73 + }, 74 + _ => {} 75 + } 132 76 133 77 Ok(()) 134 78 } 135 79 136 - #[cfg(not(feature = "client"))] 137 - pub fn connect_udp(&mut self, address: SocketAddr){ 138 - self.udp = Some(address); 139 - } 140 - 141 80 pub fn send_reliable(&mut self, packet: impl Packet) -> anyhow::Result<()>{ 142 81 let buf: Vec<u8> = packet.to_buf().into(); 82 + 83 + println!("{:X?}", &buf); 143 84 self.tcp.write(&buf)?; 144 85 145 86 Ok(()) ··· 148 89 pub fn try_send_unreliable(&mut self, packet: impl Packet) -> anyhow::Result<()>{ 149 90 let buf: Vec<u8> = packet.to_buf().into(); 150 91 151 - #[cfg(not(feature = "client"))] 152 - { 153 - if let Some(addr) = self.udp{ 154 - self.main_thread_sender.send(NetServerCommand::SendOverUDP(buf, addr))?; 155 - } else{ 156 - println!("[WARN] Cannot send unreliable packet to {}, using TCP instead.", self.id); 157 - self.tcp.write(&buf)?; 158 - } 92 + if let Some(addr) = self.udp{ 93 + self.main_thread_sender.send(NetServerCommand::SendOverUDP(buf, addr))?; 94 + } else{ 95 + println!("[WARN] Cannot send unreliable packet to {}, using TCP instead.", self.id); 96 + self.tcp.write(&buf)?; 159 97 } 160 - 161 - #[cfg(feature = "client")] 162 - self.udp.send_to(&buf, self.udp_server_address)?; 163 98 164 99 Ok(()) 165 100 }
-16
src/net/mod.rs
··· 1 - #[cfg(feature = "client")] 2 - use std::sync::mpsc::Receiver; 3 - 4 - #[cfg(feature = "client")] 5 - use crate::net::client::component::ClientNetworkingManagerCommand; 6 - 7 - #[cfg(feature = "client")] 8 - pub mod client; 9 - 10 - #[cfg(not(feature = "client"))] 11 1 mod server; 12 2 13 3 mod packet; ··· 16 6 17 7 mod connection; 18 8 19 - #[cfg(feature = "client")] 20 - pub fn handle_net( cmd: Receiver<ClientNetworkingManagerCommand> ) -> anyhow::Result<()>{ 21 - client::handle_net_client(cmd) 22 - } 23 - 24 - #[cfg(not(feature = "client"))] 25 9 pub fn handle_net() -> anyhow::Result<()>{ 26 10 server::handle_net_server() 27 11 }
+3 -1
src/net/packet.rs
··· 1 1 use crate::net::{ 2 2 buffer::Buffer, 3 3 packets::{ 4 - link_udp::LinkUDP, notify_connection_info::NotifyConnectionInfo, null::Null, player_join_packet::PlayerJoinPacket, player_leave_packet::PlayerLeavePacket, player_list_packet::PlayerListPacket, update_server_position::UpdateServerPositions 4 + link_udp::LinkUDP, notify_connection_info::NotifyConnectionInfo, null::Null, player_join_packet::PlayerJoinPacket, player_leave_packet::PlayerLeavePacket, player_list_packet::PlayerListPacket, update_clients_positions::UpdateClientsPositions, update_server_position::UpdateServerPositions 5 5 } 6 6 }; 7 7 ··· 11 11 LinkUDP(LinkUDP), 12 12 13 13 UpdateServerPositions(UpdateServerPositions), 14 + UpdateClientsPositions(UpdateClientsPositions), 14 15 15 16 PlayerJoinPacket(PlayerJoinPacket), 16 17 PlayerListPacket(PlayerListPacket), ··· 32 33 1 => PacketTypes::LinkUDP(LinkUDP::from_buf(buf)), 33 34 34 35 2 => PacketTypes::UpdateServerPositions(UpdateServerPositions::from_buf(buf)), 36 + 6 => PacketTypes::UpdateClientsPositions(UpdateClientsPositions::from_buf(buf)), 35 37 36 38 3 => PacketTypes::PlayerJoinPacket(PlayerJoinPacket::from_buf(buf)), 37 39 4 => PacketTypes::PlayerListPacket(PlayerListPacket::from_buf(buf)),
+1
src/net/packets/mod.rs
··· 2 2 pub mod link_udp; 3 3 4 4 pub mod update_server_position; 5 + pub mod update_clients_positions; 5 6 6 7 pub mod player_join_packet; 7 8 pub mod player_list_packet;
+36
src/net/packets/update_clients_positions.rs
··· 1 + use crate::{net::{buffer::Buffer, packet::Packet}, structs::{quat::Quat, vec::Vec3}}; 2 + 3 + #[derive(Debug, Clone)] 4 + pub struct UpdateClientsPositions{ 5 + pub players: Vec<(String, Vec3, Quat)>, 6 + } 7 + 8 + impl Packet for UpdateClientsPositions{ 9 + fn to_buf(&self) -> Buffer { 10 + let mut buf = Buffer::empty(); 11 + buf.set_u16(6); 12 + buf.set_u32(self.players.len() as u32); 13 + 14 + for ( id, pos, rot ) in &self.players{ 15 + buf.set_str(id.clone()); 16 + buf.set_vec3(*pos); 17 + buf.set_quat(*rot); 18 + } 19 + 20 + buf 21 + } 22 + 23 + fn from_buf(mut buf: Buffer) -> Self { 24 + let mut players = vec![]; 25 + 26 + for _ in 0..buf.get_u32(){ 27 + players.push(( 28 + buf.get_str(), 29 + buf.get_vec3(), 30 + buf.get_quat() 31 + )); 32 + } 33 + 34 + Self { players } 35 + } 36 + }
+5 -13
src/net/packets/update_server_position.rs
··· 1 - use bevy::math::{Quat, Vec3}; 2 - 3 - use crate::net::{buffer::Buffer, packet::Packet}; 1 + use crate::{net::{buffer::Buffer, packet::Packet}, structs::{quat::Quat, vec::Vec3}}; 4 2 5 3 #[derive(Debug)] 6 4 pub struct UpdateServerPositions{ ··· 13 11 let mut buf = Buffer::empty(); 14 12 buf.set_u16(2); 15 13 16 - buf.set_f32(self.position.x); 17 - buf.set_f32(self.position.y); 18 - buf.set_f32(self.position.z); 19 - 20 - buf.set_f32(self.rotation.x); 21 - buf.set_f32(self.rotation.y); 22 - buf.set_f32(self.rotation.z); 23 - buf.set_f32(self.rotation.w); 14 + buf.set_vec3(self.position); 15 + buf.set_quat(self.rotation); 24 16 25 17 buf 26 18 } 27 19 28 20 fn from_buf(mut buf: Buffer) -> Self { 29 21 Self { 30 - position: Vec3 { x: buf.get_f32(), y: buf.get_f32(), z: buf.get_f32() }, 31 - rotation: Quat::from_xyzw(buf.get_f32(), buf.get_f32(), buf.get_f32(), buf.get_f32()) 22 + position: buf.get_vec3(), 23 + rotation: buf.get_quat() 32 24 } 33 25 } 34 26 }
+37 -22
src/net/server/mod.rs
··· 1 - use std::{collections::HashMap, net::{SocketAddr, TcpListener, TcpStream, UdpSocket}, sync::mpsc::channel, thread}; 2 - 3 - use bevy::math::{Quat, Vec3}; 1 + use std::{collections::HashMap, env, net::{SocketAddr, TcpListener, TcpStream, UdpSocket}, sync::mpsc::channel, thread, time::Duration}; 4 2 5 - use crate::net::{connection::Connection, packet::{self, PacketTypes}, packets::{player_join_packet::PlayerJoinPacket, player_leave_packet::PlayerLeavePacket, player_list_packet::{self, PlayerListPacket}}, server::remote_player::RemotePlayer}; 3 + use crate::net::{connection::Connection, packet::{self, PacketTypes}, packets::{player_join_packet::PlayerJoinPacket, player_leave_packet::PlayerLeavePacket, player_list_packet::PlayerListPacket, update_clients_positions::UpdateClientsPositions}}; 6 4 7 - pub mod remote_player; 8 - 5 + #[derive(Debug)] 9 6 pub enum NetServerCommand{ 10 7 CreateConnection(TcpStream), 11 8 LinkUDP(String, SocketAddr), 12 9 PlayerDisconnect(String), 13 10 SendOverUDP(Vec<u8>, SocketAddr), 14 - RecvOverUDP(SocketAddr, PacketTypes) 11 + RecvOverUDP(SocketAddr, PacketTypes), 12 + RecvOverTCP(String, PacketTypes), 13 + BroadcastPlayerPositions 15 14 } 16 15 17 16 pub fn handle_net_server() -> anyhow::Result<()>{ 18 - let tcp_listener = TcpListener::bind("0.0.0.0:2603")?; 17 + let port = env::var("HOST_PORT")?; 19 18 20 - let udp_listener = UdpSocket::bind("0.0.0.0:2603")?; 19 + let tcp_listener = TcpListener::bind(format!("0.0.0.0:{}", port))?; 20 + 21 + let udp_listener = UdpSocket::bind(format!("0.0.0.0:{}", port))?; 21 22 let udp_listener_1 = udp_listener.try_clone()?; 22 23 23 24 let ( sender, recv ) = channel(); 24 25 let sender_1 = sender.clone(); 25 26 let sender_2 = sender.clone(); 27 + let sender_3 = sender.clone(); 28 + 29 + thread::spawn(move || { 30 + loop { 31 + thread::sleep(Duration::from_secs_f32(1.0 / 30.0)); // Update 30 times per second 32 + sender_3.send(NetServerCommand::BroadcastPlayerPositions).unwrap(); 33 + } 34 + }); 26 35 27 36 thread::spawn(move || { 28 37 loop { ··· 54 63 let mut connections: HashMap<String, Connection> = HashMap::new(); 55 64 let mut connections_by_address: HashMap<SocketAddr, String> = HashMap::new(); 56 65 57 - let mut players: HashMap<String, RemotePlayer> = HashMap::new(); 58 - 59 66 while let Ok(cmd) = recv.recv(){ 60 67 match cmd{ 61 68 NetServerCommand::CreateConnection(socket) => { 62 69 let mut conn = Connection::new(socket, sender_2.clone()); 63 - let player = RemotePlayer { 64 - id: conn.id.clone(), 65 - position: Vec3::default(), 66 - rotation: Quat::default() 67 - }; 68 70 69 71 println!("[INFO] Connected {}", conn.id); 70 72 ··· 75 77 } 76 78 77 79 let player_list_packet = PlayerListPacket { 78 - ids: players.iter().map(|(id,_)| id.clone()).collect() 80 + ids: connections.iter().map(|(id,_)| id.clone()).collect() 79 81 }; 80 82 81 83 conn.send_reliable(player_list_packet).unwrap(); 82 84 83 85 connections.insert(conn.id.clone(), conn); 84 - players.insert(player.id.clone(), player); 85 86 } 86 87 NetServerCommand::LinkUDP(id, addr) => { 87 88 if let Some(conn) = connections.get_mut(&id){ 88 89 connections_by_address.insert(addr.clone(), id); 89 90 conn.connect_udp(addr); 91 + 90 92 } 91 93 }, 92 94 NetServerCommand::PlayerDisconnect(id) => { 93 - players.remove(&id); 94 95 connections.remove(&id); 95 96 96 97 let player_leave_packet = PlayerLeavePacket { id: id.clone() }; ··· 105 106 udp_listener_1.send_to(&buf, addr)?; 106 107 }, 107 108 NetServerCommand::RecvOverUDP(addr, packet) => { 108 - let conn_id = &connections_by_address[&addr]; 109 - let conn = &connections[conn_id]; 110 - 109 + if let Some(conn_id) = connections_by_address.get(&addr){ 110 + let conn = connections.get_mut(conn_id).unwrap(); 111 + conn.recv_packet(packet)?; 112 + } 113 + }, 114 + NetServerCommand::RecvOverTCP(conn_id, packet) => { 115 + let conn = connections.get_mut(&conn_id).unwrap(); 116 + conn.recv_packet(packet)?; 117 + }, 118 + NetServerCommand::BroadcastPlayerPositions => { 119 + let packet = UpdateClientsPositions { 120 + players: connections.iter() 121 + .map(|( id, conn)| ( id.clone(), conn.position.clone(), conn.rotation.clone() )) 122 + .collect() 123 + }; 111 124 125 + for (_, conn) in &mut connections{ 126 + conn.try_send_unreliable(packet.clone())?; } 112 127 } 113 128 } 114 129 }
-7
src/net/server/remote_player.rs
··· 1 - use bevy::math::{ Quat, Vec3 }; 2 - 3 - pub struct RemotePlayer{ 4 - pub id: String, 5 - pub position: Vec3, 6 - pub rotation: Quat 7 - }
+2
src/structs/mod.rs
··· 1 + pub mod vec; 2 + pub mod quat;
+7
src/structs/quat.rs
··· 1 + #[derive(Debug, Clone, Copy, Default)] 2 + pub struct Quat{ 3 + pub x: f32, 4 + pub y: f32, 5 + pub z: f32, 6 + pub w: f32 7 + }
+6
src/structs/vec.rs
··· 1 + #[derive(Debug, Clone, Copy, Default)] 2 + pub struct Vec3{ 3 + pub x: f32, 4 + pub y: f32, 5 + pub z: f32 6 + }
-5
src/util/angles.rs
··· 1 - use std::f32::consts::PI; 2 - 3 - pub fn degrees_to_rad( angle: f32 ) -> f32{ 4 - angle * ( PI / 180.0 ) 5 - }
-2
src/util/mod.rs
··· 1 - pub mod angles; 2 - pub mod net;
-5
src/util/net.rs
··· 1 - use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4}; 2 - 3 - pub fn ipv4_address(a: u8, b: u8, c: u8, d: u8, port: u16) -> SocketAddr{ 4 - SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(a, b, c, d), port)) 5 - }