An experimental, status effects-as-entities system for Bevy.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

This seems to be a dead end.

+420 -3752
+53 -1000
Cargo.lock
··· 3 3 version = 4 4 4 5 5 [[package]] 6 - name = "aho-corasick" 7 - version = "1.1.3" 8 - source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 10 - dependencies = [ 11 - "memchr", 12 - ] 13 - 14 - [[package]] 15 - name = "android_log-sys" 16 - version = "0.3.2" 17 - source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" 19 - 20 - [[package]] 21 - name = "arrayvec" 22 - version = "0.7.6" 23 - source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 25 - 26 - [[package]] 27 6 name = "assert_type_match" 28 7 version = "0.1.1" 29 8 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 31 10 dependencies = [ 32 11 "proc-macro2", 33 12 "quote", 34 - "syn 2.0.100", 35 - ] 36 - 37 - [[package]] 38 - name = "async-executor" 39 - version = "1.13.1" 40 - source = "registry+https://github.com/rust-lang/crates.io-index" 41 - checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" 42 - dependencies = [ 43 - "async-task", 44 - "concurrent-queue", 45 - "fastrand", 46 - "futures-lite", 47 - "slab", 13 + "syn", 48 14 ] 49 15 50 16 [[package]] ··· 57 23 ] 58 24 59 25 [[package]] 60 - name = "async-trait" 61 - version = "0.1.88" 62 - source = "registry+https://github.com/rust-lang/crates.io-index" 63 - checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" 64 - dependencies = [ 65 - "proc-macro2", 66 - "quote", 67 - "syn 2.0.100", 68 - ] 69 - 70 - [[package]] 71 26 name = "atomic-waker" 72 27 version = "1.1.2" 73 28 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 83 38 checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 84 39 85 40 [[package]] 86 - name = "bevy-butler" 87 - version = "0.6.1" 88 - source = "registry+https://github.com/rust-lang/crates.io-index" 89 - checksum = "3110fa6c59f9c5cbb3719b120f736f95fdf440d8034911a147f72efec691a85a" 90 - dependencies = [ 91 - "bevy-butler-proc-macro", 92 - "bevy_app", 93 - "bevy_ecs", 94 - "bevy_log", 95 - "inventory", 96 - "linkme", 97 - ] 98 - 99 - [[package]] 100 - name = "bevy-butler-proc-macro" 101 - version = "0.6.1" 102 - source = "registry+https://github.com/rust-lang/crates.io-index" 103 - checksum = "8b9ee12e4ffa2725714bc68e942229724df006607e68b5fc244a9916814ff635" 104 - dependencies = [ 105 - "deluxe", 106 - "deluxe-core", 107 - "proc-macro2", 108 - "quote", 109 - "sha256", 110 - "syn 2.0.100", 111 - ] 112 - 113 - [[package]] 114 41 name = "bevy_app" 115 - version = "0.16.0" 42 + version = "0.16.1" 116 43 source = "registry+https://github.com/rust-lang/crates.io-index" 117 - checksum = "a2b6267ac23a9947d5b2725ff047a1e1add70076d85fa9fb73d044ab9bea1f3c" 44 + checksum = "4491cc4c718ae76b4c6883df58b94cc88b32dcd894ea8d5b603c7c7da72ca967" 118 45 dependencies = [ 119 46 "bevy_derive", 120 47 "bevy_ecs", ··· 123 50 "bevy_tasks", 124 51 "bevy_utils", 125 52 "cfg-if", 126 - "console_error_panic_hook", 127 - "ctrlc", 128 53 "downcast-rs", 129 54 "log", 130 55 "thiserror", 131 56 "variadics_please", 132 - "wasm-bindgen", 133 - "web-sys", 134 57 ] 135 58 136 59 [[package]] 137 60 name = "bevy_derive" 138 - version = "0.16.0" 61 + version = "0.16.1" 139 62 source = "registry+https://github.com/rust-lang/crates.io-index" 140 - checksum = "f626531b9c05c25a758ede228727bd11c2c2c8498ecbed9925044386d525a2a3" 63 + checksum = "1b837bf6c51806b10ebfa9edf1844ad80a3a0760d6c5fac4e90761df91a8901a" 141 64 dependencies = [ 142 65 "bevy_macro_utils", 143 66 "quote", 144 - "syn 2.0.100", 67 + "syn", 145 68 ] 146 69 147 70 [[package]] 148 71 name = "bevy_ecs" 149 - version = "0.16.0" 72 + version = "0.16.1" 150 73 source = "registry+https://github.com/rust-lang/crates.io-index" 151 - checksum = "d9e807b5d9aab3bb8dfe47e7a44c9ff088bad2ceefe299b80ac77609a87fe9d4" 74 + checksum = "3c2bf6521aae57a0ec3487c4bfb59e36c4a378e834b626a4bea6a885af2fdfe7" 152 75 dependencies = [ 153 - "arrayvec", 154 76 "bevy_ecs_macros", 155 77 "bevy_platform", 156 78 "bevy_ptr", ··· 166 88 "indexmap", 167 89 "log", 168 90 "nonmax", 169 - "serde", 170 91 "smallvec", 171 92 "thiserror", 172 93 "variadics_please", ··· 174 95 175 96 [[package]] 176 97 name = "bevy_ecs_macros" 177 - version = "0.16.0" 98 + version = "0.16.1" 178 99 source = "registry+https://github.com/rust-lang/crates.io-index" 179 - checksum = "467d7bb98aeb8dd30f36e6a773000c12a891d4f1bee2adc3841ec89cc8eaf54e" 100 + checksum = "38748d6f3339175c582d751f410fb60a93baf2286c3deb7efebb0878dce7f413" 180 101 dependencies = [ 181 102 "bevy_macro_utils", 182 103 "proc-macro2", 183 104 "quote", 184 - "syn 2.0.100", 185 - ] 186 - 187 - [[package]] 188 - name = "bevy_log" 189 - version = "0.16.0" 190 - source = "registry+https://github.com/rust-lang/crates.io-index" 191 - checksum = "7156df8d2f11135cf71c03eb4c11132b65201fd4f51648571e59e39c9c9ee2f6" 192 - dependencies = [ 193 - "android_log-sys", 194 - "bevy_app", 195 - "bevy_ecs", 196 - "bevy_utils", 197 - "tracing", 198 - "tracing-log", 199 - "tracing-oslog", 200 - "tracing-subscriber", 201 - "tracing-wasm", 105 + "syn", 202 106 ] 203 107 204 108 [[package]] 205 109 name = "bevy_macro_utils" 206 - version = "0.16.0" 110 + version = "0.16.1" 207 111 source = "registry+https://github.com/rust-lang/crates.io-index" 208 - checksum = "7a2473db70d8785b5c75d6dd951a2e51e9be2c2311122db9692c79c9d887517b" 112 + checksum = "052eeebcb8e7e072beea5031b227d9a290f8a7fbbb947573ab6ec81df0fb94be" 209 113 dependencies = [ 210 114 "parking_lot", 211 115 "proc-macro2", 212 116 "quote", 213 - "syn 2.0.100", 214 - "toml_edit 0.22.24", 117 + "syn", 118 + "toml_edit", 215 119 ] 216 120 217 121 [[package]] 218 122 name = "bevy_platform" 219 - version = "0.16.0" 123 + version = "0.16.1" 220 124 source = "registry+https://github.com/rust-lang/crates.io-index" 221 - checksum = "704db2c11b7bc31093df4fbbdd3769f9606a6a5287149f4b51f2680f25834ebc" 125 + checksum = "f7573dc824a1b08b4c93fdbe421c53e1e8188e9ca1dd74a414455fe571facb47" 222 126 dependencies = [ 223 127 "cfg-if", 224 - "critical-section", 225 128 "foldhash", 226 - "getrandom 0.2.16", 227 129 "hashbrown", 228 130 "portable-atomic", 229 131 "portable-atomic-util", 230 132 "serde", 231 133 "spin", 232 - "web-time", 233 134 ] 234 135 235 136 [[package]] 236 137 name = "bevy_ptr" 237 - version = "0.16.0" 138 + version = "0.16.1" 238 139 source = "registry+https://github.com/rust-lang/crates.io-index" 239 - checksum = "86f1275dfb4cfef4ffc90c3fa75408964864facf833acc932413d52aa5364ba4" 140 + checksum = "df7370d0e46b60e071917711d0860721f5347bc958bf325975ae6913a5dfcf01" 240 141 241 142 [[package]] 242 143 name = "bevy_reflect" 243 - version = "0.16.0" 144 + version = "0.16.1" 244 145 source = "registry+https://github.com/rust-lang/crates.io-index" 245 - checksum = "607ebacc31029cf2f39ac330eabf1d4bc411b159528ec08dbe6b0593eaccfd41" 146 + checksum = "daeb91a63a1a4df00aa58da8cc4ddbd4b9f16ab8bb647c5553eb156ce36fa8c2" 246 147 dependencies = [ 247 148 "assert_type_match", 248 149 "bevy_platform", ··· 254 155 "downcast-rs", 255 156 "erased-serde", 256 157 "foldhash", 257 - "glam", 258 158 "serde", 259 159 "smallvec", 260 - "smol_str", 261 160 "thiserror", 262 - "uuid", 263 161 "variadics_please", 264 - "wgpu-types", 265 162 ] 266 163 267 164 [[package]] 268 165 name = "bevy_reflect_derive" 269 - version = "0.16.0" 166 + version = "0.16.1" 270 167 source = "registry+https://github.com/rust-lang/crates.io-index" 271 - checksum = "cf35e45e4eb239018369f63f2adc2107a54c329f9276d020e01eee1625b0238b" 168 + checksum = "40ddadc55fe16b45faaa54ab2f9cb00548013c74812e8b018aa172387103cce6" 272 169 dependencies = [ 273 170 "bevy_macro_utils", 274 171 "proc-macro2", 275 172 "quote", 276 - "syn 2.0.100", 173 + "syn", 277 174 "uuid", 278 175 ] 279 176 ··· 281 178 name = "bevy_status_effects" 282 179 version = "0.1.0" 283 180 dependencies = [ 284 - "bevy-butler", 285 181 "bevy_app", 286 182 "bevy_ecs", 287 183 "bevy_reflect", 288 - "bevy_status_effects_macros", 289 184 "bevy_time", 290 185 ] 291 186 292 187 [[package]] 293 - name = "bevy_status_effects_macros" 294 - version = "0.1.0" 295 - dependencies = [ 296 - "darling", 297 - "proc-macro-error", 298 - "proc-macro2", 299 - "quote", 300 - "syn 2.0.100", 301 - ] 302 - 303 - [[package]] 304 188 name = "bevy_tasks" 305 - version = "0.16.0" 189 + version = "0.16.1" 306 190 source = "registry+https://github.com/rust-lang/crates.io-index" 307 - checksum = "444c450b65e108855f42ecb6db0c041a56ea7d7f10cc6222f0ca95e9536a7d19" 191 + checksum = "5b674242641cab680688fc3b850243b351c1af49d4f3417a576debd6cca8dcf5" 308 192 dependencies = [ 309 - "async-executor", 310 193 "async-task", 311 194 "atomic-waker", 312 195 "bevy_platform", 313 196 "cfg-if", 314 197 "crossbeam-queue", 315 198 "derive_more", 316 - "futures-channel", 317 199 "futures-lite", 318 200 "heapless", 319 - "pin-project", 320 - "wasm-bindgen-futures", 321 201 ] 322 202 323 203 [[package]] 324 204 name = "bevy_time" 325 - version = "0.16.0" 205 + version = "0.16.1" 326 206 source = "registry+https://github.com/rust-lang/crates.io-index" 327 - checksum = "456369ca10f8e039aaf273332744674844827854833ee29e28f9e161702f2f55" 207 + checksum = "bc98eb356c75be04fbbc77bb3d8ffa24c8bacd99f76111cee23d444be6ac8c9c" 328 208 dependencies = [ 329 209 "bevy_app", 330 210 "bevy_ecs", ··· 335 215 336 216 [[package]] 337 217 name = "bevy_utils" 338 - version = "0.16.0" 218 + version = "0.16.1" 339 219 source = "registry+https://github.com/rust-lang/crates.io-index" 340 - checksum = "ac2da3b3c1f94dadefcbe837aaa4aa119fcea37f7bdc5307eb05b4ede1921e24" 220 + checksum = "94f7a8905a125d2017e8561beefb7f2f5e67e93ff6324f072ad87c5fd6ec3b99" 341 221 dependencies = [ 342 222 "bevy_platform", 343 - "thread_local", 344 - ] 345 - 346 - [[package]] 347 - name = "bindgen" 348 - version = "0.70.1" 349 - source = "registry+https://github.com/rust-lang/crates.io-index" 350 - checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" 351 - dependencies = [ 352 - "bitflags", 353 - "cexpr", 354 - "clang-sys", 355 - "itertools", 356 - "log", 357 - "prettyplease", 358 - "proc-macro2", 359 - "quote", 360 - "regex", 361 - "rustc-hash", 362 - "shlex", 363 - "syn 2.0.100", 364 223 ] 365 224 366 225 [[package]] ··· 368 227 version = "2.9.0" 369 228 source = "registry+https://github.com/rust-lang/crates.io-index" 370 229 checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" 371 - dependencies = [ 372 - "serde", 373 - ] 374 - 375 - [[package]] 376 - name = "block-buffer" 377 - version = "0.10.4" 378 - source = "registry+https://github.com/rust-lang/crates.io-index" 379 - checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 380 - dependencies = [ 381 - "generic-array", 382 - ] 383 230 384 231 [[package]] 385 232 name = "bumpalo" ··· 394 241 checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 395 242 396 243 [[package]] 397 - name = "bytes" 398 - version = "1.10.1" 399 - source = "registry+https://github.com/rust-lang/crates.io-index" 400 - checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 401 - 402 - [[package]] 403 - name = "cc" 404 - version = "1.2.19" 405 - source = "registry+https://github.com/rust-lang/crates.io-index" 406 - checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" 407 - dependencies = [ 408 - "shlex", 409 - ] 410 - 411 - [[package]] 412 - name = "cexpr" 413 - version = "0.6.0" 414 - source = "registry+https://github.com/rust-lang/crates.io-index" 415 - checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 416 - dependencies = [ 417 - "nom", 418 - ] 419 - 420 - [[package]] 421 244 name = "cfg-if" 422 245 version = "1.0.0" 423 246 source = "registry+https://github.com/rust-lang/crates.io-index" 424 247 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 425 248 426 249 [[package]] 427 - name = "cfg_aliases" 428 - version = "0.2.1" 429 - source = "registry+https://github.com/rust-lang/crates.io-index" 430 - checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 431 - 432 - [[package]] 433 - name = "clang-sys" 434 - version = "1.8.1" 435 - source = "registry+https://github.com/rust-lang/crates.io-index" 436 - checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 437 - dependencies = [ 438 - "glob", 439 - "libc", 440 - "libloading", 441 - ] 442 - 443 - [[package]] 444 250 name = "concurrent-queue" 445 251 version = "2.5.0" 446 252 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 451 257 ] 452 258 453 259 [[package]] 454 - name = "console_error_panic_hook" 455 - version = "0.1.7" 456 - source = "registry+https://github.com/rust-lang/crates.io-index" 457 - checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 458 - dependencies = [ 459 - "cfg-if", 460 - "wasm-bindgen", 461 - ] 462 - 463 - [[package]] 464 - name = "cpufeatures" 465 - version = "0.2.17" 466 - source = "registry+https://github.com/rust-lang/crates.io-index" 467 - checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 468 - dependencies = [ 469 - "libc", 470 - ] 471 - 472 - [[package]] 473 - name = "critical-section" 474 - version = "1.2.0" 475 - source = "registry+https://github.com/rust-lang/crates.io-index" 476 - checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" 477 - 478 - [[package]] 479 260 name = "crossbeam-queue" 480 261 version = "0.3.12" 481 262 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 491 272 checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 492 273 493 274 [[package]] 494 - name = "crypto-common" 495 - version = "0.1.6" 496 - source = "registry+https://github.com/rust-lang/crates.io-index" 497 - checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 498 - dependencies = [ 499 - "generic-array", 500 - "typenum", 501 - ] 502 - 503 - [[package]] 504 - name = "ctrlc" 505 - version = "3.4.6" 506 - source = "registry+https://github.com/rust-lang/crates.io-index" 507 - checksum = "697b5419f348fd5ae2478e8018cb016c00a5881c7f46c717de98ffd135a5651c" 508 - dependencies = [ 509 - "nix", 510 - "windows-sys", 511 - ] 512 - 513 - [[package]] 514 - name = "darling" 515 - version = "0.20.11" 516 - source = "registry+https://github.com/rust-lang/crates.io-index" 517 - checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" 518 - dependencies = [ 519 - "darling_core", 520 - "darling_macro", 521 - ] 522 - 523 - [[package]] 524 - name = "darling_core" 525 - version = "0.20.11" 526 - source = "registry+https://github.com/rust-lang/crates.io-index" 527 - checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" 528 - dependencies = [ 529 - "fnv", 530 - "ident_case", 531 - "proc-macro2", 532 - "quote", 533 - "strsim 0.11.1", 534 - "syn 2.0.100", 535 - ] 536 - 537 - [[package]] 538 - name = "darling_macro" 539 - version = "0.20.11" 540 - source = "registry+https://github.com/rust-lang/crates.io-index" 541 - checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" 542 - dependencies = [ 543 - "darling_core", 544 - "quote", 545 - "syn 2.0.100", 546 - ] 547 - 548 - [[package]] 549 - name = "deluxe" 550 - version = "0.5.0" 551 - source = "registry+https://github.com/rust-lang/crates.io-index" 552 - checksum = "8ed332aaf752b459088acf3dd4eca323e3ef4b83c70a84ca48fb0ec5305f1488" 553 - dependencies = [ 554 - "deluxe-core", 555 - "deluxe-macros", 556 - "once_cell", 557 - "proc-macro2", 558 - "syn 2.0.100", 559 - ] 560 - 561 - [[package]] 562 - name = "deluxe-core" 563 - version = "0.5.0" 564 - source = "registry+https://github.com/rust-lang/crates.io-index" 565 - checksum = "eddada51c8576df9d6a8450c351ff63042b092c9458b8ac7d20f89cbd0ffd313" 566 - dependencies = [ 567 - "arrayvec", 568 - "proc-macro2", 569 - "quote", 570 - "strsim 0.10.0", 571 - "syn 2.0.100", 572 - ] 573 - 574 - [[package]] 575 - name = "deluxe-macros" 576 - version = "0.5.0" 577 - source = "registry+https://github.com/rust-lang/crates.io-index" 578 - checksum = "f87546d9c837f0b7557e47b8bd6eae52c3c223141b76aa233c345c9ab41d9117" 579 - dependencies = [ 580 - "deluxe-core", 581 - "heck", 582 - "if_chain", 583 - "proc-macro-crate", 584 - "proc-macro2", 585 - "quote", 586 - "syn 2.0.100", 587 - ] 588 - 589 - [[package]] 590 275 name = "derive_more" 591 276 version = "1.0.0" 592 277 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 603 288 dependencies = [ 604 289 "proc-macro2", 605 290 "quote", 606 - "syn 2.0.100", 291 + "syn", 607 292 "unicode-xid", 608 293 ] 609 294 610 295 [[package]] 611 - name = "digest" 612 - version = "0.10.7" 613 - source = "registry+https://github.com/rust-lang/crates.io-index" 614 - checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 615 - dependencies = [ 616 - "block-buffer", 617 - "crypto-common", 618 - ] 619 - 620 - [[package]] 621 296 name = "disqualified" 622 297 version = "1.0.0" 623 298 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 630 305 checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" 631 306 632 307 [[package]] 633 - name = "either" 634 - version = "1.15.0" 635 - source = "registry+https://github.com/rust-lang/crates.io-index" 636 - checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 637 - 638 - [[package]] 639 308 name = "equivalent" 640 309 version = "1.0.2" 641 310 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 652 321 ] 653 322 654 323 [[package]] 655 - name = "fastrand" 656 - version = "2.3.0" 657 - source = "registry+https://github.com/rust-lang/crates.io-index" 658 - checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 659 - 660 - [[package]] 661 324 name = "fixedbitset" 662 325 version = "0.5.7" 663 326 source = "registry+https://github.com/rust-lang/crates.io-index" 664 327 checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" 665 - 666 - [[package]] 667 - name = "fnv" 668 - version = "1.0.7" 669 - source = "registry+https://github.com/rust-lang/crates.io-index" 670 - checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 671 328 672 329 [[package]] 673 330 name = "foldhash" ··· 676 333 checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 677 334 678 335 [[package]] 679 - name = "futures-channel" 680 - version = "0.3.31" 681 - source = "registry+https://github.com/rust-lang/crates.io-index" 682 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 683 - dependencies = [ 684 - "futures-core", 685 - ] 686 - 687 - [[package]] 688 336 name = "futures-core" 689 337 version = "0.3.31" 690 338 source = "registry+https://github.com/rust-lang/crates.io-index" 691 339 checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 692 340 693 341 [[package]] 694 - name = "futures-io" 695 - version = "0.3.31" 696 - source = "registry+https://github.com/rust-lang/crates.io-index" 697 - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 698 - 699 - [[package]] 700 342 name = "futures-lite" 701 343 version = "2.6.0" 702 344 source = "registry+https://github.com/rust-lang/crates.io-index" 703 345 checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" 704 346 dependencies = [ 705 - "fastrand", 706 347 "futures-core", 707 - "futures-io", 708 - "parking", 709 348 "pin-project-lite", 710 349 ] 711 350 712 351 [[package]] 713 - name = "generic-array" 714 - version = "0.14.7" 715 - source = "registry+https://github.com/rust-lang/crates.io-index" 716 - checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 717 - dependencies = [ 718 - "typenum", 719 - "version_check", 720 - ] 721 - 722 - [[package]] 723 - name = "getrandom" 724 - version = "0.2.16" 725 - source = "registry+https://github.com/rust-lang/crates.io-index" 726 - checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 727 - dependencies = [ 728 - "cfg-if", 729 - "js-sys", 730 - "libc", 731 - "wasi 0.11.0+wasi-snapshot-preview1", 732 - "wasm-bindgen", 733 - ] 734 - 735 - [[package]] 736 352 name = "getrandom" 737 353 version = "0.3.2" 738 354 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 741 357 "cfg-if", 742 358 "libc", 743 359 "r-efi", 744 - "wasi 0.14.2+wasi-0.2.4", 745 - ] 746 - 747 - [[package]] 748 - name = "glam" 749 - version = "0.29.3" 750 - source = "registry+https://github.com/rust-lang/crates.io-index" 751 - checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee" 752 - dependencies = [ 753 - "serde", 360 + "wasi", 754 361 ] 755 362 756 363 [[package]] 757 - name = "glob" 758 - version = "0.3.2" 759 - source = "registry+https://github.com/rust-lang/crates.io-index" 760 - checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" 761 - 762 - [[package]] 763 364 name = "hash32" 764 365 version = "0.3.1" 765 366 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 790 391 ] 791 392 792 393 [[package]] 793 - name = "heck" 794 - version = "0.4.1" 795 - source = "registry+https://github.com/rust-lang/crates.io-index" 796 - checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 797 - 798 - [[package]] 799 - name = "hex" 800 - version = "0.4.3" 801 - source = "registry+https://github.com/rust-lang/crates.io-index" 802 - checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 803 - 804 - [[package]] 805 - name = "ident_case" 806 - version = "1.0.1" 807 - source = "registry+https://github.com/rust-lang/crates.io-index" 808 - checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 809 - 810 - [[package]] 811 - name = "if_chain" 812 - version = "1.0.2" 813 - source = "registry+https://github.com/rust-lang/crates.io-index" 814 - checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" 815 - 816 - [[package]] 817 394 name = "indexmap" 818 - version = "2.9.0" 395 + version = "2.8.0" 819 396 source = "registry+https://github.com/rust-lang/crates.io-index" 820 - checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" 397 + checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" 821 398 dependencies = [ 822 399 "equivalent", 823 400 "hashbrown", 824 401 ] 825 402 826 403 [[package]] 827 - name = "inventory" 828 - version = "0.3.20" 829 - source = "registry+https://github.com/rust-lang/crates.io-index" 830 - checksum = "ab08d7cd2c5897f2c949e5383ea7c7db03fb19130ffcfbf7eda795137ae3cb83" 831 - dependencies = [ 832 - "rustversion", 833 - ] 834 - 835 - [[package]] 836 - name = "itertools" 837 - version = "0.13.0" 838 - source = "registry+https://github.com/rust-lang/crates.io-index" 839 - checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 840 - dependencies = [ 841 - "either", 842 - ] 843 - 844 - [[package]] 845 404 name = "js-sys" 846 405 version = "0.3.77" 847 406 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 852 411 ] 853 412 854 413 [[package]] 855 - name = "lazy_static" 856 - version = "1.5.0" 857 - source = "registry+https://github.com/rust-lang/crates.io-index" 858 - checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 859 - 860 - [[package]] 861 414 name = "libc" 862 - version = "0.2.172" 415 + version = "0.2.171" 863 416 source = "registry+https://github.com/rust-lang/crates.io-index" 864 - checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" 865 - 866 - [[package]] 867 - name = "libloading" 868 - version = "0.8.6" 869 - source = "registry+https://github.com/rust-lang/crates.io-index" 870 - checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" 871 - dependencies = [ 872 - "cfg-if", 873 - "windows-targets", 874 - ] 875 - 876 - [[package]] 877 - name = "linkme" 878 - version = "0.3.32" 879 - source = "registry+https://github.com/rust-lang/crates.io-index" 880 - checksum = "22d227772b5999ddc0690e733f734f95ca05387e329c4084fe65678c51198ffe" 881 - dependencies = [ 882 - "linkme-impl", 883 - ] 884 - 885 - [[package]] 886 - name = "linkme-impl" 887 - version = "0.3.32" 888 - source = "registry+https://github.com/rust-lang/crates.io-index" 889 - checksum = "71a98813fa0073a317ed6a8055dcd4722a49d9b862af828ee68449adb799b6be" 890 - dependencies = [ 891 - "proc-macro2", 892 - "quote", 893 - "syn 2.0.100", 894 - ] 417 + checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" 895 418 896 419 [[package]] 897 420 name = "lock_api" ··· 910 433 checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 911 434 912 435 [[package]] 913 - name = "matchers" 914 - version = "0.1.0" 915 - source = "registry+https://github.com/rust-lang/crates.io-index" 916 - checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 917 - dependencies = [ 918 - "regex-automata 0.1.10", 919 - ] 920 - 921 - [[package]] 922 436 name = "memchr" 923 437 version = "2.7.4" 924 438 source = "registry+https://github.com/rust-lang/crates.io-index" 925 439 checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 926 440 927 441 [[package]] 928 - name = "minimal-lexical" 929 - version = "0.2.1" 930 - source = "registry+https://github.com/rust-lang/crates.io-index" 931 - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 932 - 933 - [[package]] 934 - name = "nix" 935 - version = "0.29.0" 936 - source = "registry+https://github.com/rust-lang/crates.io-index" 937 - checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" 938 - dependencies = [ 939 - "bitflags", 940 - "cfg-if", 941 - "cfg_aliases", 942 - "libc", 943 - ] 944 - 945 - [[package]] 946 - name = "nom" 947 - version = "7.1.3" 948 - source = "registry+https://github.com/rust-lang/crates.io-index" 949 - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 950 - dependencies = [ 951 - "memchr", 952 - "minimal-lexical", 953 - ] 954 - 955 - [[package]] 956 442 name = "nonmax" 957 443 version = "0.5.5" 958 444 source = "registry+https://github.com/rust-lang/crates.io-index" 959 445 checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" 960 446 961 447 [[package]] 962 - name = "nu-ansi-term" 963 - version = "0.46.0" 964 - source = "registry+https://github.com/rust-lang/crates.io-index" 965 - checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 966 - dependencies = [ 967 - "overload", 968 - "winapi", 969 - ] 970 - 971 - [[package]] 972 448 name = "once_cell" 973 - version = "1.21.3" 449 + version = "1.21.1" 974 450 source = "registry+https://github.com/rust-lang/crates.io-index" 975 - checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 976 - 977 - [[package]] 978 - name = "overload" 979 - version = "0.1.1" 980 - source = "registry+https://github.com/rust-lang/crates.io-index" 981 - checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 982 - 983 - [[package]] 984 - name = "parking" 985 - version = "2.2.1" 986 - source = "registry+https://github.com/rust-lang/crates.io-index" 987 - checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 451 + checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" 988 452 989 453 [[package]] 990 454 name = "parking_lot" ··· 1010 474 ] 1011 475 1012 476 [[package]] 1013 - name = "pin-project" 1014 - version = "1.1.10" 1015 - source = "registry+https://github.com/rust-lang/crates.io-index" 1016 - checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1017 - dependencies = [ 1018 - "pin-project-internal", 1019 - ] 1020 - 1021 - [[package]] 1022 - name = "pin-project-internal" 1023 - version = "1.1.10" 1024 - source = "registry+https://github.com/rust-lang/crates.io-index" 1025 - checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1026 - dependencies = [ 1027 - "proc-macro2", 1028 - "quote", 1029 - "syn 2.0.100", 1030 - ] 1031 - 1032 - [[package]] 1033 477 name = "pin-project-lite" 1034 478 version = "0.2.16" 1035 479 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1051 495 ] 1052 496 1053 497 [[package]] 1054 - name = "prettyplease" 1055 - version = "0.2.32" 1056 - source = "registry+https://github.com/rust-lang/crates.io-index" 1057 - checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" 1058 - dependencies = [ 1059 - "proc-macro2", 1060 - "syn 2.0.100", 1061 - ] 1062 - 1063 - [[package]] 1064 - name = "proc-macro-crate" 1065 - version = "1.3.1" 1066 - source = "registry+https://github.com/rust-lang/crates.io-index" 1067 - checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 1068 - dependencies = [ 1069 - "once_cell", 1070 - "toml_edit 0.19.15", 1071 - ] 1072 - 1073 - [[package]] 1074 - name = "proc-macro-error" 1075 - version = "1.0.4" 1076 - source = "registry+https://github.com/rust-lang/crates.io-index" 1077 - checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1078 - dependencies = [ 1079 - "proc-macro-error-attr", 1080 - "proc-macro2", 1081 - "quote", 1082 - "syn 1.0.109", 1083 - "version_check", 1084 - ] 1085 - 1086 - [[package]] 1087 - name = "proc-macro-error-attr" 1088 - version = "1.0.4" 1089 - source = "registry+https://github.com/rust-lang/crates.io-index" 1090 - checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1091 - dependencies = [ 1092 - "proc-macro2", 1093 - "quote", 1094 - "version_check", 1095 - ] 1096 - 1097 - [[package]] 1098 498 name = "proc-macro2" 1099 - version = "1.0.95" 499 + version = "1.0.94" 1100 500 source = "registry+https://github.com/rust-lang/crates.io-index" 1101 - checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" 501 + checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" 1102 502 dependencies = [ 1103 503 "unicode-ident", 1104 504 ] ··· 1120 520 1121 521 [[package]] 1122 522 name = "redox_syscall" 1123 - version = "0.5.11" 523 + version = "0.5.10" 1124 524 source = "registry+https://github.com/rust-lang/crates.io-index" 1125 - checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" 525 + checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" 1126 526 dependencies = [ 1127 527 "bitflags", 1128 528 ] 1129 529 1130 530 [[package]] 1131 - name = "regex" 1132 - version = "1.11.1" 1133 - source = "registry+https://github.com/rust-lang/crates.io-index" 1134 - checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1135 - dependencies = [ 1136 - "aho-corasick", 1137 - "memchr", 1138 - "regex-automata 0.4.9", 1139 - "regex-syntax 0.8.5", 1140 - ] 1141 - 1142 - [[package]] 1143 - name = "regex-automata" 1144 - version = "0.1.10" 1145 - source = "registry+https://github.com/rust-lang/crates.io-index" 1146 - checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 1147 - dependencies = [ 1148 - "regex-syntax 0.6.29", 1149 - ] 1150 - 1151 - [[package]] 1152 - name = "regex-automata" 1153 - version = "0.4.9" 1154 - source = "registry+https://github.com/rust-lang/crates.io-index" 1155 - checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1156 - dependencies = [ 1157 - "aho-corasick", 1158 - "memchr", 1159 - "regex-syntax 0.8.5", 1160 - ] 1161 - 1162 - [[package]] 1163 - name = "regex-syntax" 1164 - version = "0.6.29" 1165 - source = "registry+https://github.com/rust-lang/crates.io-index" 1166 - checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 1167 - 1168 - [[package]] 1169 - name = "regex-syntax" 1170 - version = "0.8.5" 1171 - source = "registry+https://github.com/rust-lang/crates.io-index" 1172 - checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1173 - 1174 - [[package]] 1175 - name = "rustc-hash" 1176 - version = "1.1.0" 1177 - source = "registry+https://github.com/rust-lang/crates.io-index" 1178 - checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1179 - 1180 - [[package]] 1181 531 name = "rustversion" 1182 532 version = "1.0.20" 1183 533 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1206 556 dependencies = [ 1207 557 "proc-macro2", 1208 558 "quote", 1209 - "syn 2.0.100", 1210 - ] 1211 - 1212 - [[package]] 1213 - name = "sha2" 1214 - version = "0.10.8" 1215 - source = "registry+https://github.com/rust-lang/crates.io-index" 1216 - checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1217 - dependencies = [ 1218 - "cfg-if", 1219 - "cpufeatures", 1220 - "digest", 1221 - ] 1222 - 1223 - [[package]] 1224 - name = "sha256" 1225 - version = "1.6.0" 1226 - source = "registry+https://github.com/rust-lang/crates.io-index" 1227 - checksum = "f880fc8562bdeb709793f00eb42a2ad0e672c4f883bbe59122b926eca935c8f6" 1228 - dependencies = [ 1229 - "async-trait", 1230 - "bytes", 1231 - "hex", 1232 - "sha2", 1233 - ] 1234 - 1235 - [[package]] 1236 - name = "sharded-slab" 1237 - version = "0.1.7" 1238 - source = "registry+https://github.com/rust-lang/crates.io-index" 1239 - checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1240 - dependencies = [ 1241 - "lazy_static", 1242 - ] 1243 - 1244 - [[package]] 1245 - name = "shlex" 1246 - version = "1.3.0" 1247 - source = "registry+https://github.com/rust-lang/crates.io-index" 1248 - checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1249 - 1250 - [[package]] 1251 - name = "slab" 1252 - version = "0.4.9" 1253 - source = "registry+https://github.com/rust-lang/crates.io-index" 1254 - checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1255 - dependencies = [ 1256 - "autocfg", 559 + "syn", 1257 560 ] 1258 561 1259 562 [[package]] 1260 563 name = "smallvec" 1261 - version = "1.15.0" 1262 - source = "registry+https://github.com/rust-lang/crates.io-index" 1263 - checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" 1264 - 1265 - [[package]] 1266 - name = "smol_str" 1267 - version = "0.2.2" 564 + version = "1.14.0" 1268 565 source = "registry+https://github.com/rust-lang/crates.io-index" 1269 - checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" 1270 - dependencies = [ 1271 - "serde", 1272 - ] 566 + checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" 1273 567 1274 568 [[package]] 1275 569 name = "spin" ··· 1287 581 checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1288 582 1289 583 [[package]] 1290 - name = "strsim" 1291 - version = "0.10.0" 1292 - source = "registry+https://github.com/rust-lang/crates.io-index" 1293 - checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1294 - 1295 - [[package]] 1296 - name = "strsim" 1297 - version = "0.11.1" 1298 - source = "registry+https://github.com/rust-lang/crates.io-index" 1299 - checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1300 - 1301 - [[package]] 1302 - name = "syn" 1303 - version = "1.0.109" 1304 - source = "registry+https://github.com/rust-lang/crates.io-index" 1305 - checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 1306 - dependencies = [ 1307 - "proc-macro2", 1308 - "unicode-ident", 1309 - ] 1310 - 1311 - [[package]] 1312 584 name = "syn" 1313 585 version = "2.0.100" 1314 586 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1336 608 dependencies = [ 1337 609 "proc-macro2", 1338 610 "quote", 1339 - "syn 2.0.100", 1340 - ] 1341 - 1342 - [[package]] 1343 - name = "thread_local" 1344 - version = "1.1.8" 1345 - source = "registry+https://github.com/rust-lang/crates.io-index" 1346 - checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 1347 - dependencies = [ 1348 - "cfg-if", 1349 - "once_cell", 611 + "syn", 1350 612 ] 1351 613 1352 614 [[package]] ··· 1357 619 1358 620 [[package]] 1359 621 name = "toml_edit" 1360 - version = "0.19.15" 1361 - source = "registry+https://github.com/rust-lang/crates.io-index" 1362 - checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 1363 - dependencies = [ 1364 - "indexmap", 1365 - "toml_datetime", 1366 - "winnow 0.5.40", 1367 - ] 1368 - 1369 - [[package]] 1370 - name = "toml_edit" 1371 622 version = "0.22.24" 1372 623 source = "registry+https://github.com/rust-lang/crates.io-index" 1373 624 checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" 1374 625 dependencies = [ 1375 626 "indexmap", 1376 627 "toml_datetime", 1377 - "winnow 0.7.7", 1378 - ] 1379 - 1380 - [[package]] 1381 - name = "tracing" 1382 - version = "0.1.41" 1383 - source = "registry+https://github.com/rust-lang/crates.io-index" 1384 - checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1385 - dependencies = [ 1386 - "pin-project-lite", 1387 - "tracing-attributes", 1388 - "tracing-core", 1389 - ] 1390 - 1391 - [[package]] 1392 - name = "tracing-attributes" 1393 - version = "0.1.28" 1394 - source = "registry+https://github.com/rust-lang/crates.io-index" 1395 - checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" 1396 - dependencies = [ 1397 - "proc-macro2", 1398 - "quote", 1399 - "syn 2.0.100", 1400 - ] 1401 - 1402 - [[package]] 1403 - name = "tracing-core" 1404 - version = "0.1.33" 1405 - source = "registry+https://github.com/rust-lang/crates.io-index" 1406 - checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 1407 - dependencies = [ 1408 - "once_cell", 1409 - "valuable", 1410 - ] 1411 - 1412 - [[package]] 1413 - name = "tracing-log" 1414 - version = "0.2.0" 1415 - source = "registry+https://github.com/rust-lang/crates.io-index" 1416 - checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 1417 - dependencies = [ 1418 - "log", 1419 - "once_cell", 1420 - "tracing-core", 1421 - ] 1422 - 1423 - [[package]] 1424 - name = "tracing-oslog" 1425 - version = "0.2.0" 1426 - source = "registry+https://github.com/rust-lang/crates.io-index" 1427 - checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" 1428 - dependencies = [ 1429 - "bindgen", 1430 - "cc", 1431 - "cfg-if", 1432 - "once_cell", 1433 - "parking_lot", 1434 - "tracing-core", 1435 - "tracing-subscriber", 1436 - ] 1437 - 1438 - [[package]] 1439 - name = "tracing-subscriber" 1440 - version = "0.3.19" 1441 - source = "registry+https://github.com/rust-lang/crates.io-index" 1442 - checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 1443 - dependencies = [ 1444 - "matchers", 1445 - "nu-ansi-term", 1446 - "once_cell", 1447 - "regex", 1448 - "sharded-slab", 1449 - "smallvec", 1450 - "thread_local", 1451 - "tracing", 1452 - "tracing-core", 1453 - "tracing-log", 1454 - ] 1455 - 1456 - [[package]] 1457 - name = "tracing-wasm" 1458 - version = "0.2.1" 1459 - source = "registry+https://github.com/rust-lang/crates.io-index" 1460 - checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" 1461 - dependencies = [ 1462 - "tracing", 1463 - "tracing-subscriber", 1464 - "wasm-bindgen", 628 + "winnow", 1465 629 ] 1466 630 1467 631 [[package]] ··· 1471 635 checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" 1472 636 1473 637 [[package]] 1474 - name = "typenum" 1475 - version = "1.18.0" 1476 - source = "registry+https://github.com/rust-lang/crates.io-index" 1477 - checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 1478 - 1479 - [[package]] 1480 638 name = "unicode-ident" 1481 639 version = "1.0.18" 1482 640 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1494 652 source = "registry+https://github.com/rust-lang/crates.io-index" 1495 653 checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" 1496 654 dependencies = [ 1497 - "getrandom 0.3.2", 655 + "getrandom", 1498 656 "js-sys", 1499 - "serde", 1500 657 "wasm-bindgen", 1501 658 ] 1502 659 1503 660 [[package]] 1504 - name = "valuable" 1505 - version = "0.1.1" 1506 - source = "registry+https://github.com/rust-lang/crates.io-index" 1507 - checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1508 - 1509 - [[package]] 1510 661 name = "variadics_please" 1511 662 version = "1.1.0" 1512 663 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1514 665 dependencies = [ 1515 666 "proc-macro2", 1516 667 "quote", 1517 - "syn 2.0.100", 668 + "syn", 1518 669 ] 1519 670 1520 671 [[package]] 1521 - name = "version_check" 1522 - version = "0.9.5" 1523 - source = "registry+https://github.com/rust-lang/crates.io-index" 1524 - checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1525 - 1526 - [[package]] 1527 - name = "wasi" 1528 - version = "0.11.0+wasi-snapshot-preview1" 1529 - source = "registry+https://github.com/rust-lang/crates.io-index" 1530 - checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1531 - 1532 - [[package]] 1533 672 name = "wasi" 1534 673 version = "0.14.2+wasi-0.2.4" 1535 674 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1560 699 "log", 1561 700 "proc-macro2", 1562 701 "quote", 1563 - "syn 2.0.100", 702 + "syn", 1564 703 "wasm-bindgen-shared", 1565 704 ] 1566 705 1567 706 [[package]] 1568 - name = "wasm-bindgen-futures" 1569 - version = "0.4.50" 1570 - source = "registry+https://github.com/rust-lang/crates.io-index" 1571 - checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 1572 - dependencies = [ 1573 - "cfg-if", 1574 - "js-sys", 1575 - "once_cell", 1576 - "wasm-bindgen", 1577 - "web-sys", 1578 - ] 1579 - 1580 - [[package]] 1581 707 name = "wasm-bindgen-macro" 1582 708 version = "0.2.100" 1583 709 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1595 721 dependencies = [ 1596 722 "proc-macro2", 1597 723 "quote", 1598 - "syn 2.0.100", 724 + "syn", 1599 725 "wasm-bindgen-backend", 1600 726 "wasm-bindgen-shared", 1601 727 ] ··· 1610 736 ] 1611 737 1612 738 [[package]] 1613 - name = "web-sys" 1614 - version = "0.3.77" 1615 - source = "registry+https://github.com/rust-lang/crates.io-index" 1616 - checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 1617 - dependencies = [ 1618 - "js-sys", 1619 - "wasm-bindgen", 1620 - ] 1621 - 1622 - [[package]] 1623 - name = "web-time" 1624 - version = "1.1.0" 1625 - source = "registry+https://github.com/rust-lang/crates.io-index" 1626 - checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 1627 - dependencies = [ 1628 - "js-sys", 1629 - "wasm-bindgen", 1630 - ] 1631 - 1632 - [[package]] 1633 - name = "wgpu-types" 1634 - version = "24.0.0" 1635 - source = "registry+https://github.com/rust-lang/crates.io-index" 1636 - checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" 1637 - dependencies = [ 1638 - "bitflags", 1639 - "js-sys", 1640 - "log", 1641 - "serde", 1642 - "web-sys", 1643 - ] 1644 - 1645 - [[package]] 1646 - name = "winapi" 1647 - version = "0.3.9" 1648 - source = "registry+https://github.com/rust-lang/crates.io-index" 1649 - checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1650 - dependencies = [ 1651 - "winapi-i686-pc-windows-gnu", 1652 - "winapi-x86_64-pc-windows-gnu", 1653 - ] 1654 - 1655 - [[package]] 1656 - name = "winapi-i686-pc-windows-gnu" 1657 - version = "0.4.0" 1658 - source = "registry+https://github.com/rust-lang/crates.io-index" 1659 - checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1660 - 1661 - [[package]] 1662 - name = "winapi-x86_64-pc-windows-gnu" 1663 - version = "0.4.0" 1664 - source = "registry+https://github.com/rust-lang/crates.io-index" 1665 - checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1666 - 1667 - [[package]] 1668 - name = "windows-sys" 1669 - version = "0.59.0" 1670 - source = "registry+https://github.com/rust-lang/crates.io-index" 1671 - checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 1672 - dependencies = [ 1673 - "windows-targets", 1674 - ] 1675 - 1676 - [[package]] 1677 739 name = "windows-targets" 1678 740 version = "0.52.6" 1679 741 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1739 801 1740 802 [[package]] 1741 803 name = "winnow" 1742 - version = "0.5.40" 804 + version = "0.7.4" 1743 805 source = "registry+https://github.com/rust-lang/crates.io-index" 1744 - checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 1745 - dependencies = [ 1746 - "memchr", 1747 - ] 1748 - 1749 - [[package]] 1750 - name = "winnow" 1751 - version = "0.7.7" 1752 - source = "registry+https://github.com/rust-lang/crates.io-index" 1753 - checksum = "6cb8234a863ea0e8cd7284fcdd4f145233eb00fee02bbdd9861aec44e6477bc5" 806 + checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" 1754 807 dependencies = [ 1755 808 "memchr", 1756 809 ]
+31 -5
Cargo.toml
··· 1 - [workspace] 2 - members = ["bevy_status_effects", "bevy_status_effects_macros"] 3 - 4 - resolver = "3" 1 + [package] 2 + name = "bevy_status_effects" 3 + version = "0.1.0" 4 + edition = "2024" 5 + description = "A crate for adding status effects to entities using relations." 6 + categories = ["game-development"] 7 + keywords = ["game", "gamedev", "bevy", "relationship"] 8 + repository = "https://github.com/AlephCubed/bevy_status_effects" 9 + license = "MIT OR Apache-2.0" 10 + authors = ["AlephCubed"] 11 + readme = "README.md" 5 12 6 - [workspace.package.metadata.docs.rs] 13 + [package.metadata.docs.rs] 7 14 all-features = true 15 + 16 + [dependencies] 17 + bevy_app = { version = "0.16.0", default-features = false, features = [ 18 + "bevy_reflect", 19 + ] } 20 + bevy_ecs = { version = "0.16.0", default-features = false, features = [ 21 + "bevy_reflect", 22 + ] } 23 + bevy_reflect = { version = "0.16.0", default-features = false } 24 + bevy_time = { version = "0.16.0", default-features = false, features = [ 25 + "bevy_reflect", 26 + ] } 27 + 28 + [lints.rust] 29 + missing_docs = "warn" 30 + unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docsrs_dep)'] } 31 + unsafe_code = "deny" 32 + unsafe_op_in_unsafe_fn = "warn" 33 + unused_qualifications = "warn"
-2214
bevy_status_effects/Cargo.lock
··· 1 - # This file is automatically @generated by Cargo. 2 - # It is not intended for manual editing. 3 - version = 4 4 - 5 - [[package]] 6 - name = "aho-corasick" 7 - version = "1.1.3" 8 - source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 10 - dependencies = [ 11 - "memchr", 12 - ] 13 - 14 - [[package]] 15 - name = "android-activity" 16 - version = "0.6.0" 17 - source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" 19 - dependencies = [ 20 - "android-properties", 21 - "bitflags", 22 - "cc", 23 - "cesu8", 24 - "jni", 25 - "jni-sys", 26 - "libc", 27 - "log", 28 - "ndk", 29 - "ndk-context", 30 - "ndk-sys", 31 - "num_enum", 32 - "thiserror 1.0.69", 33 - ] 34 - 35 - [[package]] 36 - name = "android-properties" 37 - version = "0.2.2" 38 - source = "registry+https://github.com/rust-lang/crates.io-index" 39 - checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" 40 - 41 - [[package]] 42 - name = "android_log-sys" 43 - version = "0.3.2" 44 - source = "registry+https://github.com/rust-lang/crates.io-index" 45 - checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" 46 - 47 - [[package]] 48 - name = "approx" 49 - version = "0.5.1" 50 - source = "registry+https://github.com/rust-lang/crates.io-index" 51 - checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" 52 - dependencies = [ 53 - "num-traits", 54 - ] 55 - 56 - [[package]] 57 - name = "arrayref" 58 - version = "0.3.9" 59 - source = "registry+https://github.com/rust-lang/crates.io-index" 60 - checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" 61 - 62 - [[package]] 63 - name = "arrayvec" 64 - version = "0.7.6" 65 - source = "registry+https://github.com/rust-lang/crates.io-index" 66 - checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" 67 - 68 - [[package]] 69 - name = "assert_type_match" 70 - version = "0.1.1" 71 - source = "registry+https://github.com/rust-lang/crates.io-index" 72 - checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043" 73 - dependencies = [ 74 - "proc-macro2", 75 - "quote", 76 - "syn", 77 - ] 78 - 79 - [[package]] 80 - name = "async-broadcast" 81 - version = "0.7.2" 82 - source = "registry+https://github.com/rust-lang/crates.io-index" 83 - checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" 84 - dependencies = [ 85 - "event-listener", 86 - "event-listener-strategy", 87 - "futures-core", 88 - "pin-project-lite", 89 - ] 90 - 91 - [[package]] 92 - name = "async-channel" 93 - version = "2.3.1" 94 - source = "registry+https://github.com/rust-lang/crates.io-index" 95 - checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" 96 - dependencies = [ 97 - "concurrent-queue", 98 - "event-listener-strategy", 99 - "futures-core", 100 - "pin-project-lite", 101 - ] 102 - 103 - [[package]] 104 - name = "async-executor" 105 - version = "1.13.1" 106 - source = "registry+https://github.com/rust-lang/crates.io-index" 107 - checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" 108 - dependencies = [ 109 - "async-task", 110 - "concurrent-queue", 111 - "fastrand", 112 - "futures-lite", 113 - "slab", 114 - ] 115 - 116 - [[package]] 117 - name = "async-fs" 118 - version = "2.1.2" 119 - source = "registry+https://github.com/rust-lang/crates.io-index" 120 - checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" 121 - dependencies = [ 122 - "async-lock", 123 - "blocking", 124 - "futures-lite", 125 - ] 126 - 127 - [[package]] 128 - name = "async-lock" 129 - version = "3.4.0" 130 - source = "registry+https://github.com/rust-lang/crates.io-index" 131 - checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" 132 - dependencies = [ 133 - "event-listener", 134 - "event-listener-strategy", 135 - "pin-project-lite", 136 - ] 137 - 138 - [[package]] 139 - name = "async-task" 140 - version = "4.7.1" 141 - source = "registry+https://github.com/rust-lang/crates.io-index" 142 - checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" 143 - dependencies = [ 144 - "portable-atomic", 145 - ] 146 - 147 - [[package]] 148 - name = "atomic-waker" 149 - version = "1.1.2" 150 - source = "registry+https://github.com/rust-lang/crates.io-index" 151 - checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 152 - dependencies = [ 153 - "portable-atomic", 154 - ] 155 - 156 - [[package]] 157 - name = "atomicow" 158 - version = "1.1.0" 159 - source = "registry+https://github.com/rust-lang/crates.io-index" 160 - checksum = "f52e8890bb9844440d0c412fa74b67fd2f14e85248b6e00708059b6da9e5f8bf" 161 - dependencies = [ 162 - "portable-atomic", 163 - "portable-atomic-util", 164 - ] 165 - 166 - [[package]] 167 - name = "autocfg" 168 - version = "1.4.0" 169 - source = "registry+https://github.com/rust-lang/crates.io-index" 170 - checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 171 - 172 - [[package]] 173 - name = "base64" 174 - version = "0.21.7" 175 - source = "registry+https://github.com/rust-lang/crates.io-index" 176 - checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 177 - 178 - [[package]] 179 - name = "bevy_app" 180 - version = "0.16.0-rc.1" 181 - source = "registry+https://github.com/rust-lang/crates.io-index" 182 - checksum = "0a17daf108094c7d40a86b2e30ca19351f0279ff755b6cb07a0833f981a44184" 183 - dependencies = [ 184 - "bevy_derive", 185 - "bevy_ecs", 186 - "bevy_platform_support", 187 - "bevy_reflect", 188 - "bevy_tasks", 189 - "bevy_utils", 190 - "cfg-if", 191 - "console_error_panic_hook", 192 - "ctrlc", 193 - "downcast-rs", 194 - "log", 195 - "thiserror 2.0.12", 196 - "variadics_please", 197 - "wasm-bindgen", 198 - "web-sys", 199 - ] 200 - 201 - [[package]] 202 - name = "bevy_asset" 203 - version = "0.16.0-rc.1" 204 - source = "registry+https://github.com/rust-lang/crates.io-index" 205 - checksum = "15cf53fbe4114a483e14a9b152b9f8698df5a94e054a938a015e0be2f8398f25" 206 - dependencies = [ 207 - "async-broadcast", 208 - "async-fs", 209 - "async-lock", 210 - "atomicow", 211 - "bevy_app", 212 - "bevy_asset_macros", 213 - "bevy_ecs", 214 - "bevy_log", 215 - "bevy_platform_support", 216 - "bevy_reflect", 217 - "bevy_tasks", 218 - "bevy_utils", 219 - "bevy_window", 220 - "bitflags", 221 - "blake3", 222 - "crossbeam-channel", 223 - "derive_more", 224 - "disqualified", 225 - "downcast-rs", 226 - "either", 227 - "futures-io", 228 - "futures-lite", 229 - "js-sys", 230 - "parking_lot", 231 - "ron", 232 - "serde", 233 - "stackfuture", 234 - "thiserror 2.0.12", 235 - "tracing", 236 - "uuid", 237 - "wasm-bindgen", 238 - "wasm-bindgen-futures", 239 - "web-sys", 240 - ] 241 - 242 - [[package]] 243 - name = "bevy_asset_macros" 244 - version = "0.16.0-rc.1" 245 - source = "registry+https://github.com/rust-lang/crates.io-index" 246 - checksum = "296fc46818e7f0afe5ef547969f22d649e1601a9445081a89042ebe10d5ae2ab" 247 - dependencies = [ 248 - "bevy_macro_utils", 249 - "proc-macro2", 250 - "quote", 251 - "syn", 252 - ] 253 - 254 - [[package]] 255 - name = "bevy_color" 256 - version = "0.16.0-rc.1" 257 - source = "registry+https://github.com/rust-lang/crates.io-index" 258 - checksum = "6608e3ec8eeafecf2c9501775c24ef187dcb71884204656e267c8f1f43c591e7" 259 - dependencies = [ 260 - "bevy_math", 261 - "bevy_reflect", 262 - "bytemuck", 263 - "derive_more", 264 - "encase", 265 - "serde", 266 - "thiserror 2.0.12", 267 - "wgpu-types", 268 - ] 269 - 270 - [[package]] 271 - name = "bevy_derive" 272 - version = "0.16.0-rc.1" 273 - source = "registry+https://github.com/rust-lang/crates.io-index" 274 - checksum = "45daaa1611f21578bdabaa0265cbe00442859c2eddd10aa85469834b79edf44a" 275 - dependencies = [ 276 - "bevy_macro_utils", 277 - "quote", 278 - "syn", 279 - ] 280 - 281 - [[package]] 282 - name = "bevy_ecs" 283 - version = "0.16.0-rc.1" 284 - source = "registry+https://github.com/rust-lang/crates.io-index" 285 - checksum = "337b93c47b70ee8fe25db5daa65af1ad0dccf0b7ec29c2957e96799d16f254e1" 286 - dependencies = [ 287 - "arrayvec", 288 - "bevy_ecs_macros", 289 - "bevy_platform_support", 290 - "bevy_ptr", 291 - "bevy_reflect", 292 - "bevy_tasks", 293 - "bevy_utils", 294 - "bitflags", 295 - "bumpalo", 296 - "concurrent-queue", 297 - "derive_more", 298 - "disqualified", 299 - "fixedbitset", 300 - "indexmap", 301 - "log", 302 - "nonmax", 303 - "serde", 304 - "smallvec", 305 - "thiserror 2.0.12", 306 - "variadics_please", 307 - ] 308 - 309 - [[package]] 310 - name = "bevy_ecs_macros" 311 - version = "0.16.0-rc.1" 312 - source = "registry+https://github.com/rust-lang/crates.io-index" 313 - checksum = "9d34773175173c24c0d5ed1517505fdb1c7bc5575d9c512ac93c8d158b04fc30" 314 - dependencies = [ 315 - "bevy_macro_utils", 316 - "proc-macro2", 317 - "quote", 318 - "syn", 319 - ] 320 - 321 - [[package]] 322 - name = "bevy_image" 323 - version = "0.16.0-rc.1" 324 - source = "registry+https://github.com/rust-lang/crates.io-index" 325 - checksum = "1349aec6635e0a92f8baf4e7e5dda7247c35c2539a91986a278ed52cc3835133" 326 - dependencies = [ 327 - "bevy_app", 328 - "bevy_asset", 329 - "bevy_color", 330 - "bevy_math", 331 - "bevy_platform_support", 332 - "bevy_reflect", 333 - "bevy_utils", 334 - "bitflags", 335 - "bytemuck", 336 - "futures-lite", 337 - "guillotiere", 338 - "half", 339 - "image", 340 - "rectangle-pack", 341 - "serde", 342 - "thiserror 2.0.12", 343 - "tracing", 344 - "wgpu-types", 345 - ] 346 - 347 - [[package]] 348 - name = "bevy_input" 349 - version = "0.16.0-rc.1" 350 - source = "registry+https://github.com/rust-lang/crates.io-index" 351 - checksum = "8ca33309a6362718bb5eed05794df38240029d784485437c7fe1441a0874a268" 352 - dependencies = [ 353 - "bevy_app", 354 - "bevy_ecs", 355 - "bevy_math", 356 - "bevy_platform_support", 357 - "bevy_reflect", 358 - "bevy_utils", 359 - "derive_more", 360 - "log", 361 - "thiserror 2.0.12", 362 - ] 363 - 364 - [[package]] 365 - name = "bevy_log" 366 - version = "0.16.0-rc.1" 367 - source = "registry+https://github.com/rust-lang/crates.io-index" 368 - checksum = "e60a9c2e6e8665a2ba66e3068d867b23240cf0425c64114e11916af91a63a94d" 369 - dependencies = [ 370 - "android_log-sys", 371 - "bevy_app", 372 - "bevy_ecs", 373 - "bevy_utils", 374 - "tracing", 375 - "tracing-log", 376 - "tracing-oslog", 377 - "tracing-subscriber", 378 - "tracing-wasm", 379 - ] 380 - 381 - [[package]] 382 - name = "bevy_macro_utils" 383 - version = "0.16.0-rc.1" 384 - source = "registry+https://github.com/rust-lang/crates.io-index" 385 - checksum = "99fd4d07ca32a8ab9b5d220b90fb61b5e4eb6f78f3d37191ad7fc976c2f796d0" 386 - dependencies = [ 387 - "parking_lot", 388 - "proc-macro2", 389 - "quote", 390 - "syn", 391 - "toml_edit", 392 - ] 393 - 394 - [[package]] 395 - name = "bevy_math" 396 - version = "0.16.0-rc.1" 397 - source = "registry+https://github.com/rust-lang/crates.io-index" 398 - checksum = "ca2c73e8045d96a09e93f04cb0438c4c4a8a2d1d0ca6b449422bab8677ad2ba1" 399 - dependencies = [ 400 - "approx", 401 - "bevy_reflect", 402 - "derive_more", 403 - "glam", 404 - "itertools 0.14.0", 405 - "rand", 406 - "rand_distr", 407 - "serde", 408 - "smallvec", 409 - "thiserror 2.0.12", 410 - "variadics_please", 411 - ] 412 - 413 - [[package]] 414 - name = "bevy_platform_support" 415 - version = "0.16.0-rc.1" 416 - source = "registry+https://github.com/rust-lang/crates.io-index" 417 - checksum = "0087e138e1d88fa3ec93b015f0f47c4cabb47bcb4b81791f0d196674174501d5" 418 - dependencies = [ 419 - "cfg-if", 420 - "critical-section", 421 - "foldhash", 422 - "getrandom 0.2.15", 423 - "hashbrown", 424 - "portable-atomic", 425 - "portable-atomic-util", 426 - "spin", 427 - "web-time", 428 - ] 429 - 430 - [[package]] 431 - name = "bevy_ptr" 432 - version = "0.16.0-rc.1" 433 - source = "registry+https://github.com/rust-lang/crates.io-index" 434 - checksum = "8990d0411194a3b2afea96fd86905ad88134dffc1992cc9007bc3e069b3e66ce" 435 - 436 - [[package]] 437 - name = "bevy_reflect" 438 - version = "0.16.0-rc.1" 439 - source = "registry+https://github.com/rust-lang/crates.io-index" 440 - checksum = "db44a6a28f5f162dfb707a38f6eebf6312509fa4d1b3b1e24c0fd8795720ef46" 441 - dependencies = [ 442 - "assert_type_match", 443 - "bevy_platform_support", 444 - "bevy_ptr", 445 - "bevy_reflect_derive", 446 - "bevy_utils", 447 - "derive_more", 448 - "disqualified", 449 - "downcast-rs", 450 - "erased-serde", 451 - "foldhash", 452 - "glam", 453 - "serde", 454 - "smallvec", 455 - "smol_str", 456 - "thiserror 2.0.12", 457 - "uuid", 458 - "variadics_please", 459 - "wgpu-types", 460 - ] 461 - 462 - [[package]] 463 - name = "bevy_reflect_derive" 464 - version = "0.16.0-rc.1" 465 - source = "registry+https://github.com/rust-lang/crates.io-index" 466 - checksum = "ac5ad4482405f3580e78026335273f89f334137338846ccde59575191b30a4c4" 467 - dependencies = [ 468 - "bevy_macro_utils", 469 - "proc-macro2", 470 - "quote", 471 - "syn", 472 - "uuid", 473 - ] 474 - 475 - [[package]] 476 - name = "bevy_status_effects" 477 - version = "0.1.0" 478 - dependencies = [ 479 - "bevy_app", 480 - "bevy_asset", 481 - "bevy_ecs", 482 - "bevy_image", 483 - "bevy_time", 484 - ] 485 - 486 - [[package]] 487 - name = "bevy_tasks" 488 - version = "0.16.0-rc.1" 489 - source = "registry+https://github.com/rust-lang/crates.io-index" 490 - checksum = "e4c337ced099ea9c09d729c57d80512986804f10a6555c9e5418f8c3d3c11d1f" 491 - dependencies = [ 492 - "async-executor", 493 - "async-task", 494 - "atomic-waker", 495 - "bevy_platform_support", 496 - "cfg-if", 497 - "crossbeam-queue", 498 - "derive_more", 499 - "futures-channel", 500 - "futures-lite", 501 - "heapless", 502 - "once_cell", 503 - "pin-project", 504 - "wasm-bindgen-futures", 505 - ] 506 - 507 - [[package]] 508 - name = "bevy_time" 509 - version = "0.16.0-rc.1" 510 - source = "registry+https://github.com/rust-lang/crates.io-index" 511 - checksum = "d23936a645e1e090c5183ffecdcb26936fc381767f888badaef2adb09bb5020e" 512 - dependencies = [ 513 - "bevy_app", 514 - "bevy_ecs", 515 - "bevy_platform_support", 516 - "log", 517 - ] 518 - 519 - [[package]] 520 - name = "bevy_utils" 521 - version = "0.16.0-rc.1" 522 - source = "registry+https://github.com/rust-lang/crates.io-index" 523 - checksum = "a17e89665e5f7338325ccf311429838f49d0fe6b8cadba826990adcd4d98deac" 524 - dependencies = [ 525 - "bevy_platform_support", 526 - "thread_local", 527 - ] 528 - 529 - [[package]] 530 - name = "bevy_window" 531 - version = "0.16.0-rc.1" 532 - source = "registry+https://github.com/rust-lang/crates.io-index" 533 - checksum = "27528242a379d343182299c19889812780e52a69c7f9859362e181b874becece" 534 - dependencies = [ 535 - "android-activity", 536 - "bevy_app", 537 - "bevy_ecs", 538 - "bevy_input", 539 - "bevy_math", 540 - "bevy_platform_support", 541 - "bevy_reflect", 542 - "bevy_utils", 543 - "log", 544 - "raw-window-handle", 545 - "serde", 546 - "smol_str", 547 - ] 548 - 549 - [[package]] 550 - name = "bindgen" 551 - version = "0.70.1" 552 - source = "registry+https://github.com/rust-lang/crates.io-index" 553 - checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" 554 - dependencies = [ 555 - "bitflags", 556 - "cexpr", 557 - "clang-sys", 558 - "itertools 0.13.0", 559 - "log", 560 - "prettyplease", 561 - "proc-macro2", 562 - "quote", 563 - "regex", 564 - "rustc-hash", 565 - "shlex", 566 - "syn", 567 - ] 568 - 569 - [[package]] 570 - name = "bitflags" 571 - version = "2.9.0" 572 - source = "registry+https://github.com/rust-lang/crates.io-index" 573 - checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" 574 - dependencies = [ 575 - "serde", 576 - ] 577 - 578 - [[package]] 579 - name = "blake3" 580 - version = "1.7.0" 581 - source = "registry+https://github.com/rust-lang/crates.io-index" 582 - checksum = "b17679a8d69b6d7fd9cd9801a536cec9fa5e5970b69f9d4747f70b39b031f5e7" 583 - dependencies = [ 584 - "arrayref", 585 - "arrayvec", 586 - "cc", 587 - "cfg-if", 588 - "constant_time_eq", 589 - ] 590 - 591 - [[package]] 592 - name = "blocking" 593 - version = "1.6.1" 594 - source = "registry+https://github.com/rust-lang/crates.io-index" 595 - checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" 596 - dependencies = [ 597 - "async-channel", 598 - "async-task", 599 - "futures-io", 600 - "futures-lite", 601 - "piper", 602 - ] 603 - 604 - [[package]] 605 - name = "bumpalo" 606 - version = "3.17.0" 607 - source = "registry+https://github.com/rust-lang/crates.io-index" 608 - checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 609 - 610 - [[package]] 611 - name = "bytemuck" 612 - version = "1.22.0" 613 - source = "registry+https://github.com/rust-lang/crates.io-index" 614 - checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" 615 - dependencies = [ 616 - "bytemuck_derive", 617 - ] 618 - 619 - [[package]] 620 - name = "bytemuck_derive" 621 - version = "1.9.3" 622 - source = "registry+https://github.com/rust-lang/crates.io-index" 623 - checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" 624 - dependencies = [ 625 - "proc-macro2", 626 - "quote", 627 - "syn", 628 - ] 629 - 630 - [[package]] 631 - name = "byteorder" 632 - version = "1.5.0" 633 - source = "registry+https://github.com/rust-lang/crates.io-index" 634 - checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 635 - 636 - [[package]] 637 - name = "byteorder-lite" 638 - version = "0.1.0" 639 - source = "registry+https://github.com/rust-lang/crates.io-index" 640 - checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" 641 - 642 - [[package]] 643 - name = "bytes" 644 - version = "1.10.1" 645 - source = "registry+https://github.com/rust-lang/crates.io-index" 646 - checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 647 - 648 - [[package]] 649 - name = "cc" 650 - version = "1.2.17" 651 - source = "registry+https://github.com/rust-lang/crates.io-index" 652 - checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" 653 - dependencies = [ 654 - "jobserver", 655 - "libc", 656 - "shlex", 657 - ] 658 - 659 - [[package]] 660 - name = "cesu8" 661 - version = "1.1.0" 662 - source = "registry+https://github.com/rust-lang/crates.io-index" 663 - checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 664 - 665 - [[package]] 666 - name = "cexpr" 667 - version = "0.6.0" 668 - source = "registry+https://github.com/rust-lang/crates.io-index" 669 - checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" 670 - dependencies = [ 671 - "nom", 672 - ] 673 - 674 - [[package]] 675 - name = "cfg-if" 676 - version = "1.0.0" 677 - source = "registry+https://github.com/rust-lang/crates.io-index" 678 - checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 679 - 680 - [[package]] 681 - name = "cfg_aliases" 682 - version = "0.2.1" 683 - source = "registry+https://github.com/rust-lang/crates.io-index" 684 - checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" 685 - 686 - [[package]] 687 - name = "clang-sys" 688 - version = "1.8.1" 689 - source = "registry+https://github.com/rust-lang/crates.io-index" 690 - checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" 691 - dependencies = [ 692 - "glob", 693 - "libc", 694 - "libloading", 695 - ] 696 - 697 - [[package]] 698 - name = "combine" 699 - version = "4.6.7" 700 - source = "registry+https://github.com/rust-lang/crates.io-index" 701 - checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 702 - dependencies = [ 703 - "bytes", 704 - "memchr", 705 - ] 706 - 707 - [[package]] 708 - name = "concurrent-queue" 709 - version = "2.5.0" 710 - source = "registry+https://github.com/rust-lang/crates.io-index" 711 - checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 712 - dependencies = [ 713 - "crossbeam-utils", 714 - "portable-atomic", 715 - ] 716 - 717 - [[package]] 718 - name = "console_error_panic_hook" 719 - version = "0.1.7" 720 - source = "registry+https://github.com/rust-lang/crates.io-index" 721 - checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 722 - dependencies = [ 723 - "cfg-if", 724 - "wasm-bindgen", 725 - ] 726 - 727 - [[package]] 728 - name = "const_panic" 729 - version = "0.2.12" 730 - source = "registry+https://github.com/rust-lang/crates.io-index" 731 - checksum = "2459fc9262a1aa204eb4b5764ad4f189caec88aea9634389c0a25f8be7f6265e" 732 - 733 - [[package]] 734 - name = "constant_time_eq" 735 - version = "0.3.1" 736 - source = "registry+https://github.com/rust-lang/crates.io-index" 737 - checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" 738 - 739 - [[package]] 740 - name = "critical-section" 741 - version = "1.2.0" 742 - source = "registry+https://github.com/rust-lang/crates.io-index" 743 - checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" 744 - 745 - [[package]] 746 - name = "crossbeam-channel" 747 - version = "0.5.14" 748 - source = "registry+https://github.com/rust-lang/crates.io-index" 749 - checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" 750 - dependencies = [ 751 - "crossbeam-utils", 752 - ] 753 - 754 - [[package]] 755 - name = "crossbeam-queue" 756 - version = "0.3.12" 757 - source = "registry+https://github.com/rust-lang/crates.io-index" 758 - checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" 759 - dependencies = [ 760 - "crossbeam-utils", 761 - ] 762 - 763 - [[package]] 764 - name = "crossbeam-utils" 765 - version = "0.8.21" 766 - source = "registry+https://github.com/rust-lang/crates.io-index" 767 - checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 768 - 769 - [[package]] 770 - name = "crunchy" 771 - version = "0.2.3" 772 - source = "registry+https://github.com/rust-lang/crates.io-index" 773 - checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" 774 - 775 - [[package]] 776 - name = "ctrlc" 777 - version = "3.4.5" 778 - source = "registry+https://github.com/rust-lang/crates.io-index" 779 - checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" 780 - dependencies = [ 781 - "nix", 782 - "windows-sys 0.59.0", 783 - ] 784 - 785 - [[package]] 786 - name = "derive_more" 787 - version = "1.0.0" 788 - source = "registry+https://github.com/rust-lang/crates.io-index" 789 - checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" 790 - dependencies = [ 791 - "derive_more-impl", 792 - ] 793 - 794 - [[package]] 795 - name = "derive_more-impl" 796 - version = "1.0.0" 797 - source = "registry+https://github.com/rust-lang/crates.io-index" 798 - checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" 799 - dependencies = [ 800 - "proc-macro2", 801 - "quote", 802 - "syn", 803 - "unicode-xid", 804 - ] 805 - 806 - [[package]] 807 - name = "disqualified" 808 - version = "1.0.0" 809 - source = "registry+https://github.com/rust-lang/crates.io-index" 810 - checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd" 811 - 812 - [[package]] 813 - name = "downcast-rs" 814 - version = "2.0.1" 815 - source = "registry+https://github.com/rust-lang/crates.io-index" 816 - checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf" 817 - 818 - [[package]] 819 - name = "either" 820 - version = "1.15.0" 821 - source = "registry+https://github.com/rust-lang/crates.io-index" 822 - checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 823 - 824 - [[package]] 825 - name = "encase" 826 - version = "0.10.0" 827 - source = "registry+https://github.com/rust-lang/crates.io-index" 828 - checksum = "b0a05902cf601ed11d564128448097b98ebe3c6574bd7b6a653a3d56d54aa020" 829 - dependencies = [ 830 - "const_panic", 831 - "encase_derive", 832 - "thiserror 1.0.69", 833 - ] 834 - 835 - [[package]] 836 - name = "encase_derive" 837 - version = "0.10.0" 838 - source = "registry+https://github.com/rust-lang/crates.io-index" 839 - checksum = "181d475b694e2dd56ae919ce7699d344d1fd259292d590c723a50d1189a2ea85" 840 - dependencies = [ 841 - "encase_derive_impl", 842 - ] 843 - 844 - [[package]] 845 - name = "encase_derive_impl" 846 - version = "0.10.0" 847 - source = "registry+https://github.com/rust-lang/crates.io-index" 848 - checksum = "f97b51c5cc57ef7c5f7a0c57c250251c49ee4c28f819f87ac32f4aceabc36792" 849 - dependencies = [ 850 - "proc-macro2", 851 - "quote", 852 - "syn", 853 - ] 854 - 855 - [[package]] 856 - name = "equivalent" 857 - version = "1.0.2" 858 - source = "registry+https://github.com/rust-lang/crates.io-index" 859 - checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 860 - 861 - [[package]] 862 - name = "erased-serde" 863 - version = "0.4.6" 864 - source = "registry+https://github.com/rust-lang/crates.io-index" 865 - checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" 866 - dependencies = [ 867 - "serde", 868 - "typeid", 869 - ] 870 - 871 - [[package]] 872 - name = "euclid" 873 - version = "0.22.11" 874 - source = "registry+https://github.com/rust-lang/crates.io-index" 875 - checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" 876 - dependencies = [ 877 - "num-traits", 878 - ] 879 - 880 - [[package]] 881 - name = "event-listener" 882 - version = "5.4.0" 883 - source = "registry+https://github.com/rust-lang/crates.io-index" 884 - checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" 885 - dependencies = [ 886 - "concurrent-queue", 887 - "parking", 888 - "pin-project-lite", 889 - ] 890 - 891 - [[package]] 892 - name = "event-listener-strategy" 893 - version = "0.5.3" 894 - source = "registry+https://github.com/rust-lang/crates.io-index" 895 - checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" 896 - dependencies = [ 897 - "event-listener", 898 - "pin-project-lite", 899 - ] 900 - 901 - [[package]] 902 - name = "fastrand" 903 - version = "2.3.0" 904 - source = "registry+https://github.com/rust-lang/crates.io-index" 905 - checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 906 - 907 - [[package]] 908 - name = "fixedbitset" 909 - version = "0.5.7" 910 - source = "registry+https://github.com/rust-lang/crates.io-index" 911 - checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" 912 - 913 - [[package]] 914 - name = "foldhash" 915 - version = "0.1.5" 916 - source = "registry+https://github.com/rust-lang/crates.io-index" 917 - checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" 918 - 919 - [[package]] 920 - name = "futures-channel" 921 - version = "0.3.31" 922 - source = "registry+https://github.com/rust-lang/crates.io-index" 923 - checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 924 - dependencies = [ 925 - "futures-core", 926 - ] 927 - 928 - [[package]] 929 - name = "futures-core" 930 - version = "0.3.31" 931 - source = "registry+https://github.com/rust-lang/crates.io-index" 932 - checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 933 - 934 - [[package]] 935 - name = "futures-io" 936 - version = "0.3.31" 937 - source = "registry+https://github.com/rust-lang/crates.io-index" 938 - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 939 - 940 - [[package]] 941 - name = "futures-lite" 942 - version = "2.6.0" 943 - source = "registry+https://github.com/rust-lang/crates.io-index" 944 - checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" 945 - dependencies = [ 946 - "fastrand", 947 - "futures-core", 948 - "futures-io", 949 - "parking", 950 - "pin-project-lite", 951 - ] 952 - 953 - [[package]] 954 - name = "getrandom" 955 - version = "0.2.15" 956 - source = "registry+https://github.com/rust-lang/crates.io-index" 957 - checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 958 - dependencies = [ 959 - "cfg-if", 960 - "js-sys", 961 - "libc", 962 - "wasi 0.11.0+wasi-snapshot-preview1", 963 - "wasm-bindgen", 964 - ] 965 - 966 - [[package]] 967 - name = "getrandom" 968 - version = "0.3.2" 969 - source = "registry+https://github.com/rust-lang/crates.io-index" 970 - checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" 971 - dependencies = [ 972 - "cfg-if", 973 - "libc", 974 - "r-efi", 975 - "wasi 0.14.2+wasi-0.2.4", 976 - ] 977 - 978 - [[package]] 979 - name = "glam" 980 - version = "0.29.2" 981 - source = "registry+https://github.com/rust-lang/crates.io-index" 982 - checksum = "dc46dd3ec48fdd8e693a98d2b8bafae273a2d54c1de02a2a7e3d57d501f39677" 983 - dependencies = [ 984 - "bytemuck", 985 - "rand", 986 - "serde", 987 - ] 988 - 989 - [[package]] 990 - name = "glob" 991 - version = "0.3.2" 992 - source = "registry+https://github.com/rust-lang/crates.io-index" 993 - checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" 994 - 995 - [[package]] 996 - name = "guillotiere" 997 - version = "0.6.2" 998 - source = "registry+https://github.com/rust-lang/crates.io-index" 999 - checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" 1000 - dependencies = [ 1001 - "euclid", 1002 - "svg_fmt", 1003 - ] 1004 - 1005 - [[package]] 1006 - name = "half" 1007 - version = "2.5.0" 1008 - source = "registry+https://github.com/rust-lang/crates.io-index" 1009 - checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" 1010 - dependencies = [ 1011 - "cfg-if", 1012 - "crunchy", 1013 - ] 1014 - 1015 - [[package]] 1016 - name = "hash32" 1017 - version = "0.3.1" 1018 - source = "registry+https://github.com/rust-lang/crates.io-index" 1019 - checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" 1020 - dependencies = [ 1021 - "byteorder", 1022 - ] 1023 - 1024 - [[package]] 1025 - name = "hashbrown" 1026 - version = "0.15.2" 1027 - source = "registry+https://github.com/rust-lang/crates.io-index" 1028 - checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 1029 - dependencies = [ 1030 - "equivalent", 1031 - "serde", 1032 - ] 1033 - 1034 - [[package]] 1035 - name = "heapless" 1036 - version = "0.8.0" 1037 - source = "registry+https://github.com/rust-lang/crates.io-index" 1038 - checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" 1039 - dependencies = [ 1040 - "hash32", 1041 - "portable-atomic", 1042 - "stable_deref_trait", 1043 - ] 1044 - 1045 - [[package]] 1046 - name = "image" 1047 - version = "0.25.6" 1048 - source = "registry+https://github.com/rust-lang/crates.io-index" 1049 - checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" 1050 - dependencies = [ 1051 - "bytemuck", 1052 - "byteorder-lite", 1053 - "num-traits", 1054 - ] 1055 - 1056 - [[package]] 1057 - name = "indexmap" 1058 - version = "2.8.0" 1059 - source = "registry+https://github.com/rust-lang/crates.io-index" 1060 - checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" 1061 - dependencies = [ 1062 - "equivalent", 1063 - "hashbrown", 1064 - ] 1065 - 1066 - [[package]] 1067 - name = "itertools" 1068 - version = "0.13.0" 1069 - source = "registry+https://github.com/rust-lang/crates.io-index" 1070 - checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" 1071 - dependencies = [ 1072 - "either", 1073 - ] 1074 - 1075 - [[package]] 1076 - name = "itertools" 1077 - version = "0.14.0" 1078 - source = "registry+https://github.com/rust-lang/crates.io-index" 1079 - checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" 1080 - dependencies = [ 1081 - "either", 1082 - ] 1083 - 1084 - [[package]] 1085 - name = "jni" 1086 - version = "0.21.1" 1087 - source = "registry+https://github.com/rust-lang/crates.io-index" 1088 - checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 1089 - dependencies = [ 1090 - "cesu8", 1091 - "cfg-if", 1092 - "combine", 1093 - "jni-sys", 1094 - "log", 1095 - "thiserror 1.0.69", 1096 - "walkdir", 1097 - "windows-sys 0.45.0", 1098 - ] 1099 - 1100 - [[package]] 1101 - name = "jni-sys" 1102 - version = "0.3.0" 1103 - source = "registry+https://github.com/rust-lang/crates.io-index" 1104 - checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1105 - 1106 - [[package]] 1107 - name = "jobserver" 1108 - version = "0.1.32" 1109 - source = "registry+https://github.com/rust-lang/crates.io-index" 1110 - checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" 1111 - dependencies = [ 1112 - "libc", 1113 - ] 1114 - 1115 - [[package]] 1116 - name = "js-sys" 1117 - version = "0.3.77" 1118 - source = "registry+https://github.com/rust-lang/crates.io-index" 1119 - checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 1120 - dependencies = [ 1121 - "once_cell", 1122 - "wasm-bindgen", 1123 - ] 1124 - 1125 - [[package]] 1126 - name = "lazy_static" 1127 - version = "1.5.0" 1128 - source = "registry+https://github.com/rust-lang/crates.io-index" 1129 - checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" 1130 - 1131 - [[package]] 1132 - name = "libc" 1133 - version = "0.2.171" 1134 - source = "registry+https://github.com/rust-lang/crates.io-index" 1135 - checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" 1136 - 1137 - [[package]] 1138 - name = "libloading" 1139 - version = "0.8.6" 1140 - source = "registry+https://github.com/rust-lang/crates.io-index" 1141 - checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" 1142 - dependencies = [ 1143 - "cfg-if", 1144 - "windows-targets 0.52.6", 1145 - ] 1146 - 1147 - [[package]] 1148 - name = "libm" 1149 - version = "0.2.11" 1150 - source = "registry+https://github.com/rust-lang/crates.io-index" 1151 - checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" 1152 - 1153 - [[package]] 1154 - name = "lock_api" 1155 - version = "0.4.12" 1156 - source = "registry+https://github.com/rust-lang/crates.io-index" 1157 - checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1158 - dependencies = [ 1159 - "autocfg", 1160 - "scopeguard", 1161 - ] 1162 - 1163 - [[package]] 1164 - name = "log" 1165 - version = "0.4.27" 1166 - source = "registry+https://github.com/rust-lang/crates.io-index" 1167 - checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 1168 - 1169 - [[package]] 1170 - name = "matchers" 1171 - version = "0.1.0" 1172 - source = "registry+https://github.com/rust-lang/crates.io-index" 1173 - checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1174 - dependencies = [ 1175 - "regex-automata 0.1.10", 1176 - ] 1177 - 1178 - [[package]] 1179 - name = "memchr" 1180 - version = "2.7.4" 1181 - source = "registry+https://github.com/rust-lang/crates.io-index" 1182 - checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1183 - 1184 - [[package]] 1185 - name = "minimal-lexical" 1186 - version = "0.2.1" 1187 - source = "registry+https://github.com/rust-lang/crates.io-index" 1188 - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1189 - 1190 - [[package]] 1191 - name = "ndk" 1192 - version = "0.9.0" 1193 - source = "registry+https://github.com/rust-lang/crates.io-index" 1194 - checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" 1195 - dependencies = [ 1196 - "bitflags", 1197 - "jni-sys", 1198 - "log", 1199 - "ndk-sys", 1200 - "num_enum", 1201 - "thiserror 1.0.69", 1202 - ] 1203 - 1204 - [[package]] 1205 - name = "ndk-context" 1206 - version = "0.1.1" 1207 - source = "registry+https://github.com/rust-lang/crates.io-index" 1208 - checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1209 - 1210 - [[package]] 1211 - name = "ndk-sys" 1212 - version = "0.6.0+11769913" 1213 - source = "registry+https://github.com/rust-lang/crates.io-index" 1214 - checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" 1215 - dependencies = [ 1216 - "jni-sys", 1217 - ] 1218 - 1219 - [[package]] 1220 - name = "nix" 1221 - version = "0.29.0" 1222 - source = "registry+https://github.com/rust-lang/crates.io-index" 1223 - checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" 1224 - dependencies = [ 1225 - "bitflags", 1226 - "cfg-if", 1227 - "cfg_aliases", 1228 - "libc", 1229 - ] 1230 - 1231 - [[package]] 1232 - name = "nom" 1233 - version = "7.1.3" 1234 - source = "registry+https://github.com/rust-lang/crates.io-index" 1235 - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 1236 - dependencies = [ 1237 - "memchr", 1238 - "minimal-lexical", 1239 - ] 1240 - 1241 - [[package]] 1242 - name = "nonmax" 1243 - version = "0.5.5" 1244 - source = "registry+https://github.com/rust-lang/crates.io-index" 1245 - checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51" 1246 - 1247 - [[package]] 1248 - name = "nu-ansi-term" 1249 - version = "0.46.0" 1250 - source = "registry+https://github.com/rust-lang/crates.io-index" 1251 - checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1252 - dependencies = [ 1253 - "overload", 1254 - "winapi", 1255 - ] 1256 - 1257 - [[package]] 1258 - name = "num-traits" 1259 - version = "0.2.19" 1260 - source = "registry+https://github.com/rust-lang/crates.io-index" 1261 - checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 1262 - dependencies = [ 1263 - "autocfg", 1264 - "libm", 1265 - ] 1266 - 1267 - [[package]] 1268 - name = "num_enum" 1269 - version = "0.7.3" 1270 - source = "registry+https://github.com/rust-lang/crates.io-index" 1271 - checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" 1272 - dependencies = [ 1273 - "num_enum_derive", 1274 - ] 1275 - 1276 - [[package]] 1277 - name = "num_enum_derive" 1278 - version = "0.7.3" 1279 - source = "registry+https://github.com/rust-lang/crates.io-index" 1280 - checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" 1281 - dependencies = [ 1282 - "proc-macro-crate", 1283 - "proc-macro2", 1284 - "quote", 1285 - "syn", 1286 - ] 1287 - 1288 - [[package]] 1289 - name = "once_cell" 1290 - version = "1.21.1" 1291 - source = "registry+https://github.com/rust-lang/crates.io-index" 1292 - checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" 1293 - dependencies = [ 1294 - "critical-section", 1295 - "portable-atomic", 1296 - ] 1297 - 1298 - [[package]] 1299 - name = "overload" 1300 - version = "0.1.1" 1301 - source = "registry+https://github.com/rust-lang/crates.io-index" 1302 - checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1303 - 1304 - [[package]] 1305 - name = "parking" 1306 - version = "2.2.1" 1307 - source = "registry+https://github.com/rust-lang/crates.io-index" 1308 - checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1309 - 1310 - [[package]] 1311 - name = "parking_lot" 1312 - version = "0.12.3" 1313 - source = "registry+https://github.com/rust-lang/crates.io-index" 1314 - checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1315 - dependencies = [ 1316 - "lock_api", 1317 - "parking_lot_core", 1318 - ] 1319 - 1320 - [[package]] 1321 - name = "parking_lot_core" 1322 - version = "0.9.10" 1323 - source = "registry+https://github.com/rust-lang/crates.io-index" 1324 - checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1325 - dependencies = [ 1326 - "cfg-if", 1327 - "libc", 1328 - "redox_syscall", 1329 - "smallvec", 1330 - "windows-targets 0.52.6", 1331 - ] 1332 - 1333 - [[package]] 1334 - name = "pin-project" 1335 - version = "1.1.10" 1336 - source = "registry+https://github.com/rust-lang/crates.io-index" 1337 - checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1338 - dependencies = [ 1339 - "pin-project-internal", 1340 - ] 1341 - 1342 - [[package]] 1343 - name = "pin-project-internal" 1344 - version = "1.1.10" 1345 - source = "registry+https://github.com/rust-lang/crates.io-index" 1346 - checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1347 - dependencies = [ 1348 - "proc-macro2", 1349 - "quote", 1350 - "syn", 1351 - ] 1352 - 1353 - [[package]] 1354 - name = "pin-project-lite" 1355 - version = "0.2.16" 1356 - source = "registry+https://github.com/rust-lang/crates.io-index" 1357 - checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1358 - 1359 - [[package]] 1360 - name = "piper" 1361 - version = "0.2.4" 1362 - source = "registry+https://github.com/rust-lang/crates.io-index" 1363 - checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" 1364 - dependencies = [ 1365 - "atomic-waker", 1366 - "fastrand", 1367 - "futures-io", 1368 - ] 1369 - 1370 - [[package]] 1371 - name = "portable-atomic" 1372 - version = "1.11.0" 1373 - source = "registry+https://github.com/rust-lang/crates.io-index" 1374 - checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" 1375 - 1376 - [[package]] 1377 - name = "portable-atomic-util" 1378 - version = "0.2.4" 1379 - source = "registry+https://github.com/rust-lang/crates.io-index" 1380 - checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" 1381 - dependencies = [ 1382 - "portable-atomic", 1383 - ] 1384 - 1385 - [[package]] 1386 - name = "ppv-lite86" 1387 - version = "0.2.21" 1388 - source = "registry+https://github.com/rust-lang/crates.io-index" 1389 - checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 1390 - dependencies = [ 1391 - "zerocopy", 1392 - ] 1393 - 1394 - [[package]] 1395 - name = "prettyplease" 1396 - version = "0.2.31" 1397 - source = "registry+https://github.com/rust-lang/crates.io-index" 1398 - checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" 1399 - dependencies = [ 1400 - "proc-macro2", 1401 - "syn", 1402 - ] 1403 - 1404 - [[package]] 1405 - name = "proc-macro-crate" 1406 - version = "3.3.0" 1407 - source = "registry+https://github.com/rust-lang/crates.io-index" 1408 - checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" 1409 - dependencies = [ 1410 - "toml_edit", 1411 - ] 1412 - 1413 - [[package]] 1414 - name = "proc-macro2" 1415 - version = "1.0.94" 1416 - source = "registry+https://github.com/rust-lang/crates.io-index" 1417 - checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" 1418 - dependencies = [ 1419 - "unicode-ident", 1420 - ] 1421 - 1422 - [[package]] 1423 - name = "quote" 1424 - version = "1.0.40" 1425 - source = "registry+https://github.com/rust-lang/crates.io-index" 1426 - checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 1427 - dependencies = [ 1428 - "proc-macro2", 1429 - ] 1430 - 1431 - [[package]] 1432 - name = "r-efi" 1433 - version = "5.2.0" 1434 - source = "registry+https://github.com/rust-lang/crates.io-index" 1435 - checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" 1436 - 1437 - [[package]] 1438 - name = "rand" 1439 - version = "0.8.5" 1440 - source = "registry+https://github.com/rust-lang/crates.io-index" 1441 - checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1442 - dependencies = [ 1443 - "libc", 1444 - "rand_chacha", 1445 - "rand_core", 1446 - ] 1447 - 1448 - [[package]] 1449 - name = "rand_chacha" 1450 - version = "0.3.1" 1451 - source = "registry+https://github.com/rust-lang/crates.io-index" 1452 - checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1453 - dependencies = [ 1454 - "ppv-lite86", 1455 - "rand_core", 1456 - ] 1457 - 1458 - [[package]] 1459 - name = "rand_core" 1460 - version = "0.6.4" 1461 - source = "registry+https://github.com/rust-lang/crates.io-index" 1462 - checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1463 - dependencies = [ 1464 - "getrandom 0.2.15", 1465 - ] 1466 - 1467 - [[package]] 1468 - name = "rand_distr" 1469 - version = "0.4.3" 1470 - source = "registry+https://github.com/rust-lang/crates.io-index" 1471 - checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" 1472 - dependencies = [ 1473 - "num-traits", 1474 - "rand", 1475 - ] 1476 - 1477 - [[package]] 1478 - name = "raw-window-handle" 1479 - version = "0.6.2" 1480 - source = "registry+https://github.com/rust-lang/crates.io-index" 1481 - checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" 1482 - 1483 - [[package]] 1484 - name = "rectangle-pack" 1485 - version = "0.4.2" 1486 - source = "registry+https://github.com/rust-lang/crates.io-index" 1487 - checksum = "a0d463f2884048e7153449a55166f91028d5b0ea53c79377099ce4e8cf0cf9bb" 1488 - 1489 - [[package]] 1490 - name = "redox_syscall" 1491 - version = "0.5.10" 1492 - source = "registry+https://github.com/rust-lang/crates.io-index" 1493 - checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" 1494 - dependencies = [ 1495 - "bitflags", 1496 - ] 1497 - 1498 - [[package]] 1499 - name = "regex" 1500 - version = "1.11.1" 1501 - source = "registry+https://github.com/rust-lang/crates.io-index" 1502 - checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1503 - dependencies = [ 1504 - "aho-corasick", 1505 - "memchr", 1506 - "regex-automata 0.4.9", 1507 - "regex-syntax 0.8.5", 1508 - ] 1509 - 1510 - [[package]] 1511 - name = "regex-automata" 1512 - version = "0.1.10" 1513 - source = "registry+https://github.com/rust-lang/crates.io-index" 1514 - checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 1515 - dependencies = [ 1516 - "regex-syntax 0.6.29", 1517 - ] 1518 - 1519 - [[package]] 1520 - name = "regex-automata" 1521 - version = "0.4.9" 1522 - source = "registry+https://github.com/rust-lang/crates.io-index" 1523 - checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1524 - dependencies = [ 1525 - "aho-corasick", 1526 - "memchr", 1527 - "regex-syntax 0.8.5", 1528 - ] 1529 - 1530 - [[package]] 1531 - name = "regex-syntax" 1532 - version = "0.6.29" 1533 - source = "registry+https://github.com/rust-lang/crates.io-index" 1534 - checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 1535 - 1536 - [[package]] 1537 - name = "regex-syntax" 1538 - version = "0.8.5" 1539 - source = "registry+https://github.com/rust-lang/crates.io-index" 1540 - checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1541 - 1542 - [[package]] 1543 - name = "ron" 1544 - version = "0.8.1" 1545 - source = "registry+https://github.com/rust-lang/crates.io-index" 1546 - checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" 1547 - dependencies = [ 1548 - "base64", 1549 - "bitflags", 1550 - "serde", 1551 - "serde_derive", 1552 - ] 1553 - 1554 - [[package]] 1555 - name = "rustc-hash" 1556 - version = "1.1.0" 1557 - source = "registry+https://github.com/rust-lang/crates.io-index" 1558 - checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 1559 - 1560 - [[package]] 1561 - name = "rustversion" 1562 - version = "1.0.20" 1563 - source = "registry+https://github.com/rust-lang/crates.io-index" 1564 - checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" 1565 - 1566 - [[package]] 1567 - name = "same-file" 1568 - version = "1.0.6" 1569 - source = "registry+https://github.com/rust-lang/crates.io-index" 1570 - checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1571 - dependencies = [ 1572 - "winapi-util", 1573 - ] 1574 - 1575 - [[package]] 1576 - name = "scopeguard" 1577 - version = "1.2.0" 1578 - source = "registry+https://github.com/rust-lang/crates.io-index" 1579 - checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1580 - 1581 - [[package]] 1582 - name = "serde" 1583 - version = "1.0.219" 1584 - source = "registry+https://github.com/rust-lang/crates.io-index" 1585 - checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 1586 - dependencies = [ 1587 - "serde_derive", 1588 - ] 1589 - 1590 - [[package]] 1591 - name = "serde_derive" 1592 - version = "1.0.219" 1593 - source = "registry+https://github.com/rust-lang/crates.io-index" 1594 - checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 1595 - dependencies = [ 1596 - "proc-macro2", 1597 - "quote", 1598 - "syn", 1599 - ] 1600 - 1601 - [[package]] 1602 - name = "sharded-slab" 1603 - version = "0.1.7" 1604 - source = "registry+https://github.com/rust-lang/crates.io-index" 1605 - checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" 1606 - dependencies = [ 1607 - "lazy_static", 1608 - ] 1609 - 1610 - [[package]] 1611 - name = "shlex" 1612 - version = "1.3.0" 1613 - source = "registry+https://github.com/rust-lang/crates.io-index" 1614 - checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1615 - 1616 - [[package]] 1617 - name = "slab" 1618 - version = "0.4.9" 1619 - source = "registry+https://github.com/rust-lang/crates.io-index" 1620 - checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1621 - dependencies = [ 1622 - "autocfg", 1623 - ] 1624 - 1625 - [[package]] 1626 - name = "smallvec" 1627 - version = "1.14.0" 1628 - source = "registry+https://github.com/rust-lang/crates.io-index" 1629 - checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" 1630 - 1631 - [[package]] 1632 - name = "smol_str" 1633 - version = "0.2.2" 1634 - source = "registry+https://github.com/rust-lang/crates.io-index" 1635 - checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" 1636 - dependencies = [ 1637 - "serde", 1638 - ] 1639 - 1640 - [[package]] 1641 - name = "spin" 1642 - version = "0.9.8" 1643 - source = "registry+https://github.com/rust-lang/crates.io-index" 1644 - checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1645 - dependencies = [ 1646 - "portable-atomic", 1647 - ] 1648 - 1649 - [[package]] 1650 - name = "stable_deref_trait" 1651 - version = "1.2.0" 1652 - source = "registry+https://github.com/rust-lang/crates.io-index" 1653 - checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1654 - 1655 - [[package]] 1656 - name = "stackfuture" 1657 - version = "0.3.0" 1658 - source = "registry+https://github.com/rust-lang/crates.io-index" 1659 - checksum = "6eae92052b72ef70dafa16eddbabffc77e5ca3574be2f7bc1127b36f0a7ad7f2" 1660 - 1661 - [[package]] 1662 - name = "svg_fmt" 1663 - version = "0.4.4" 1664 - source = "registry+https://github.com/rust-lang/crates.io-index" 1665 - checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" 1666 - 1667 - [[package]] 1668 - name = "syn" 1669 - version = "2.0.100" 1670 - source = "registry+https://github.com/rust-lang/crates.io-index" 1671 - checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" 1672 - dependencies = [ 1673 - "proc-macro2", 1674 - "quote", 1675 - "unicode-ident", 1676 - ] 1677 - 1678 - [[package]] 1679 - name = "thiserror" 1680 - version = "1.0.69" 1681 - source = "registry+https://github.com/rust-lang/crates.io-index" 1682 - checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1683 - dependencies = [ 1684 - "thiserror-impl 1.0.69", 1685 - ] 1686 - 1687 - [[package]] 1688 - name = "thiserror" 1689 - version = "2.0.12" 1690 - source = "registry+https://github.com/rust-lang/crates.io-index" 1691 - checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" 1692 - dependencies = [ 1693 - "thiserror-impl 2.0.12", 1694 - ] 1695 - 1696 - [[package]] 1697 - name = "thiserror-impl" 1698 - version = "1.0.69" 1699 - source = "registry+https://github.com/rust-lang/crates.io-index" 1700 - checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1701 - dependencies = [ 1702 - "proc-macro2", 1703 - "quote", 1704 - "syn", 1705 - ] 1706 - 1707 - [[package]] 1708 - name = "thiserror-impl" 1709 - version = "2.0.12" 1710 - source = "registry+https://github.com/rust-lang/crates.io-index" 1711 - checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" 1712 - dependencies = [ 1713 - "proc-macro2", 1714 - "quote", 1715 - "syn", 1716 - ] 1717 - 1718 - [[package]] 1719 - name = "thread_local" 1720 - version = "1.1.8" 1721 - source = "registry+https://github.com/rust-lang/crates.io-index" 1722 - checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 1723 - dependencies = [ 1724 - "cfg-if", 1725 - "once_cell", 1726 - ] 1727 - 1728 - [[package]] 1729 - name = "toml_datetime" 1730 - version = "0.6.8" 1731 - source = "registry+https://github.com/rust-lang/crates.io-index" 1732 - checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" 1733 - 1734 - [[package]] 1735 - name = "toml_edit" 1736 - version = "0.22.24" 1737 - source = "registry+https://github.com/rust-lang/crates.io-index" 1738 - checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" 1739 - dependencies = [ 1740 - "indexmap", 1741 - "toml_datetime", 1742 - "winnow", 1743 - ] 1744 - 1745 - [[package]] 1746 - name = "tracing" 1747 - version = "0.1.41" 1748 - source = "registry+https://github.com/rust-lang/crates.io-index" 1749 - checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1750 - dependencies = [ 1751 - "pin-project-lite", 1752 - "tracing-attributes", 1753 - "tracing-core", 1754 - ] 1755 - 1756 - [[package]] 1757 - name = "tracing-attributes" 1758 - version = "0.1.28" 1759 - source = "registry+https://github.com/rust-lang/crates.io-index" 1760 - checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" 1761 - dependencies = [ 1762 - "proc-macro2", 1763 - "quote", 1764 - "syn", 1765 - ] 1766 - 1767 - [[package]] 1768 - name = "tracing-core" 1769 - version = "0.1.33" 1770 - source = "registry+https://github.com/rust-lang/crates.io-index" 1771 - checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 1772 - dependencies = [ 1773 - "once_cell", 1774 - "valuable", 1775 - ] 1776 - 1777 - [[package]] 1778 - name = "tracing-log" 1779 - version = "0.2.0" 1780 - source = "registry+https://github.com/rust-lang/crates.io-index" 1781 - checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" 1782 - dependencies = [ 1783 - "log", 1784 - "once_cell", 1785 - "tracing-core", 1786 - ] 1787 - 1788 - [[package]] 1789 - name = "tracing-oslog" 1790 - version = "0.2.0" 1791 - source = "registry+https://github.com/rust-lang/crates.io-index" 1792 - checksum = "528bdd1f0e27b5dd9a4ededf154e824b0532731e4af73bb531de46276e0aab1e" 1793 - dependencies = [ 1794 - "bindgen", 1795 - "cc", 1796 - "cfg-if", 1797 - "once_cell", 1798 - "parking_lot", 1799 - "tracing-core", 1800 - "tracing-subscriber", 1801 - ] 1802 - 1803 - [[package]] 1804 - name = "tracing-subscriber" 1805 - version = "0.3.19" 1806 - source = "registry+https://github.com/rust-lang/crates.io-index" 1807 - checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" 1808 - dependencies = [ 1809 - "matchers", 1810 - "nu-ansi-term", 1811 - "once_cell", 1812 - "regex", 1813 - "sharded-slab", 1814 - "smallvec", 1815 - "thread_local", 1816 - "tracing", 1817 - "tracing-core", 1818 - "tracing-log", 1819 - ] 1820 - 1821 - [[package]] 1822 - name = "tracing-wasm" 1823 - version = "0.2.1" 1824 - source = "registry+https://github.com/rust-lang/crates.io-index" 1825 - checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" 1826 - dependencies = [ 1827 - "tracing", 1828 - "tracing-subscriber", 1829 - "wasm-bindgen", 1830 - ] 1831 - 1832 - [[package]] 1833 - name = "typeid" 1834 - version = "1.0.3" 1835 - source = "registry+https://github.com/rust-lang/crates.io-index" 1836 - checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" 1837 - 1838 - [[package]] 1839 - name = "unicode-ident" 1840 - version = "1.0.18" 1841 - source = "registry+https://github.com/rust-lang/crates.io-index" 1842 - checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 1843 - 1844 - [[package]] 1845 - name = "unicode-xid" 1846 - version = "0.2.6" 1847 - source = "registry+https://github.com/rust-lang/crates.io-index" 1848 - checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 1849 - 1850 - [[package]] 1851 - name = "uuid" 1852 - version = "1.16.0" 1853 - source = "registry+https://github.com/rust-lang/crates.io-index" 1854 - checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" 1855 - dependencies = [ 1856 - "getrandom 0.3.2", 1857 - "js-sys", 1858 - "serde", 1859 - "wasm-bindgen", 1860 - ] 1861 - 1862 - [[package]] 1863 - name = "valuable" 1864 - version = "0.1.1" 1865 - source = "registry+https://github.com/rust-lang/crates.io-index" 1866 - checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" 1867 - 1868 - [[package]] 1869 - name = "variadics_please" 1870 - version = "1.1.0" 1871 - source = "registry+https://github.com/rust-lang/crates.io-index" 1872 - checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c" 1873 - dependencies = [ 1874 - "proc-macro2", 1875 - "quote", 1876 - "syn", 1877 - ] 1878 - 1879 - [[package]] 1880 - name = "walkdir" 1881 - version = "2.5.0" 1882 - source = "registry+https://github.com/rust-lang/crates.io-index" 1883 - checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 1884 - dependencies = [ 1885 - "same-file", 1886 - "winapi-util", 1887 - ] 1888 - 1889 - [[package]] 1890 - name = "wasi" 1891 - version = "0.11.0+wasi-snapshot-preview1" 1892 - source = "registry+https://github.com/rust-lang/crates.io-index" 1893 - checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1894 - 1895 - [[package]] 1896 - name = "wasi" 1897 - version = "0.14.2+wasi-0.2.4" 1898 - source = "registry+https://github.com/rust-lang/crates.io-index" 1899 - checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 1900 - dependencies = [ 1901 - "wit-bindgen-rt", 1902 - ] 1903 - 1904 - [[package]] 1905 - name = "wasm-bindgen" 1906 - version = "0.2.100" 1907 - source = "registry+https://github.com/rust-lang/crates.io-index" 1908 - checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 1909 - dependencies = [ 1910 - "cfg-if", 1911 - "once_cell", 1912 - "rustversion", 1913 - "wasm-bindgen-macro", 1914 - ] 1915 - 1916 - [[package]] 1917 - name = "wasm-bindgen-backend" 1918 - version = "0.2.100" 1919 - source = "registry+https://github.com/rust-lang/crates.io-index" 1920 - checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 1921 - dependencies = [ 1922 - "bumpalo", 1923 - "log", 1924 - "proc-macro2", 1925 - "quote", 1926 - "syn", 1927 - "wasm-bindgen-shared", 1928 - ] 1929 - 1930 - [[package]] 1931 - name = "wasm-bindgen-futures" 1932 - version = "0.4.50" 1933 - source = "registry+https://github.com/rust-lang/crates.io-index" 1934 - checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 1935 - dependencies = [ 1936 - "cfg-if", 1937 - "js-sys", 1938 - "once_cell", 1939 - "wasm-bindgen", 1940 - "web-sys", 1941 - ] 1942 - 1943 - [[package]] 1944 - name = "wasm-bindgen-macro" 1945 - version = "0.2.100" 1946 - source = "registry+https://github.com/rust-lang/crates.io-index" 1947 - checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 1948 - dependencies = [ 1949 - "quote", 1950 - "wasm-bindgen-macro-support", 1951 - ] 1952 - 1953 - [[package]] 1954 - name = "wasm-bindgen-macro-support" 1955 - version = "0.2.100" 1956 - source = "registry+https://github.com/rust-lang/crates.io-index" 1957 - checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 1958 - dependencies = [ 1959 - "proc-macro2", 1960 - "quote", 1961 - "syn", 1962 - "wasm-bindgen-backend", 1963 - "wasm-bindgen-shared", 1964 - ] 1965 - 1966 - [[package]] 1967 - name = "wasm-bindgen-shared" 1968 - version = "0.2.100" 1969 - source = "registry+https://github.com/rust-lang/crates.io-index" 1970 - checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 1971 - dependencies = [ 1972 - "unicode-ident", 1973 - ] 1974 - 1975 - [[package]] 1976 - name = "web-sys" 1977 - version = "0.3.77" 1978 - source = "registry+https://github.com/rust-lang/crates.io-index" 1979 - checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 1980 - dependencies = [ 1981 - "js-sys", 1982 - "wasm-bindgen", 1983 - ] 1984 - 1985 - [[package]] 1986 - name = "web-time" 1987 - version = "1.1.0" 1988 - source = "registry+https://github.com/rust-lang/crates.io-index" 1989 - checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" 1990 - dependencies = [ 1991 - "js-sys", 1992 - "wasm-bindgen", 1993 - ] 1994 - 1995 - [[package]] 1996 - name = "wgpu-types" 1997 - version = "24.0.0" 1998 - source = "registry+https://github.com/rust-lang/crates.io-index" 1999 - checksum = "50ac044c0e76c03a0378e7786ac505d010a873665e2d51383dcff8dd227dc69c" 2000 - dependencies = [ 2001 - "bitflags", 2002 - "js-sys", 2003 - "log", 2004 - "serde", 2005 - "web-sys", 2006 - ] 2007 - 2008 - [[package]] 2009 - name = "winapi" 2010 - version = "0.3.9" 2011 - source = "registry+https://github.com/rust-lang/crates.io-index" 2012 - checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2013 - dependencies = [ 2014 - "winapi-i686-pc-windows-gnu", 2015 - "winapi-x86_64-pc-windows-gnu", 2016 - ] 2017 - 2018 - [[package]] 2019 - name = "winapi-i686-pc-windows-gnu" 2020 - version = "0.4.0" 2021 - source = "registry+https://github.com/rust-lang/crates.io-index" 2022 - checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2023 - 2024 - [[package]] 2025 - name = "winapi-util" 2026 - version = "0.1.9" 2027 - source = "registry+https://github.com/rust-lang/crates.io-index" 2028 - checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 2029 - dependencies = [ 2030 - "windows-sys 0.59.0", 2031 - ] 2032 - 2033 - [[package]] 2034 - name = "winapi-x86_64-pc-windows-gnu" 2035 - version = "0.4.0" 2036 - source = "registry+https://github.com/rust-lang/crates.io-index" 2037 - checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2038 - 2039 - [[package]] 2040 - name = "windows-sys" 2041 - version = "0.45.0" 2042 - source = "registry+https://github.com/rust-lang/crates.io-index" 2043 - checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 2044 - dependencies = [ 2045 - "windows-targets 0.42.2", 2046 - ] 2047 - 2048 - [[package]] 2049 - name = "windows-sys" 2050 - version = "0.59.0" 2051 - source = "registry+https://github.com/rust-lang/crates.io-index" 2052 - checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2053 - dependencies = [ 2054 - "windows-targets 0.52.6", 2055 - ] 2056 - 2057 - [[package]] 2058 - name = "windows-targets" 2059 - version = "0.42.2" 2060 - source = "registry+https://github.com/rust-lang/crates.io-index" 2061 - checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 2062 - dependencies = [ 2063 - "windows_aarch64_gnullvm 0.42.2", 2064 - "windows_aarch64_msvc 0.42.2", 2065 - "windows_i686_gnu 0.42.2", 2066 - "windows_i686_msvc 0.42.2", 2067 - "windows_x86_64_gnu 0.42.2", 2068 - "windows_x86_64_gnullvm 0.42.2", 2069 - "windows_x86_64_msvc 0.42.2", 2070 - ] 2071 - 2072 - [[package]] 2073 - name = "windows-targets" 2074 - version = "0.52.6" 2075 - source = "registry+https://github.com/rust-lang/crates.io-index" 2076 - checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2077 - dependencies = [ 2078 - "windows_aarch64_gnullvm 0.52.6", 2079 - "windows_aarch64_msvc 0.52.6", 2080 - "windows_i686_gnu 0.52.6", 2081 - "windows_i686_gnullvm", 2082 - "windows_i686_msvc 0.52.6", 2083 - "windows_x86_64_gnu 0.52.6", 2084 - "windows_x86_64_gnullvm 0.52.6", 2085 - "windows_x86_64_msvc 0.52.6", 2086 - ] 2087 - 2088 - [[package]] 2089 - name = "windows_aarch64_gnullvm" 2090 - version = "0.42.2" 2091 - source = "registry+https://github.com/rust-lang/crates.io-index" 2092 - checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 2093 - 2094 - [[package]] 2095 - name = "windows_aarch64_gnullvm" 2096 - version = "0.52.6" 2097 - source = "registry+https://github.com/rust-lang/crates.io-index" 2098 - checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2099 - 2100 - [[package]] 2101 - name = "windows_aarch64_msvc" 2102 - version = "0.42.2" 2103 - source = "registry+https://github.com/rust-lang/crates.io-index" 2104 - checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 2105 - 2106 - [[package]] 2107 - name = "windows_aarch64_msvc" 2108 - version = "0.52.6" 2109 - source = "registry+https://github.com/rust-lang/crates.io-index" 2110 - checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2111 - 2112 - [[package]] 2113 - name = "windows_i686_gnu" 2114 - version = "0.42.2" 2115 - source = "registry+https://github.com/rust-lang/crates.io-index" 2116 - checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 2117 - 2118 - [[package]] 2119 - name = "windows_i686_gnu" 2120 - version = "0.52.6" 2121 - source = "registry+https://github.com/rust-lang/crates.io-index" 2122 - checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2123 - 2124 - [[package]] 2125 - name = "windows_i686_gnullvm" 2126 - version = "0.52.6" 2127 - source = "registry+https://github.com/rust-lang/crates.io-index" 2128 - checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2129 - 2130 - [[package]] 2131 - name = "windows_i686_msvc" 2132 - version = "0.42.2" 2133 - source = "registry+https://github.com/rust-lang/crates.io-index" 2134 - checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 2135 - 2136 - [[package]] 2137 - name = "windows_i686_msvc" 2138 - version = "0.52.6" 2139 - source = "registry+https://github.com/rust-lang/crates.io-index" 2140 - checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2141 - 2142 - [[package]] 2143 - name = "windows_x86_64_gnu" 2144 - version = "0.42.2" 2145 - source = "registry+https://github.com/rust-lang/crates.io-index" 2146 - checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 2147 - 2148 - [[package]] 2149 - name = "windows_x86_64_gnu" 2150 - version = "0.52.6" 2151 - source = "registry+https://github.com/rust-lang/crates.io-index" 2152 - checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2153 - 2154 - [[package]] 2155 - name = "windows_x86_64_gnullvm" 2156 - version = "0.42.2" 2157 - source = "registry+https://github.com/rust-lang/crates.io-index" 2158 - checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 2159 - 2160 - [[package]] 2161 - name = "windows_x86_64_gnullvm" 2162 - version = "0.52.6" 2163 - source = "registry+https://github.com/rust-lang/crates.io-index" 2164 - checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2165 - 2166 - [[package]] 2167 - name = "windows_x86_64_msvc" 2168 - version = "0.42.2" 2169 - source = "registry+https://github.com/rust-lang/crates.io-index" 2170 - checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 2171 - 2172 - [[package]] 2173 - name = "windows_x86_64_msvc" 2174 - version = "0.52.6" 2175 - source = "registry+https://github.com/rust-lang/crates.io-index" 2176 - checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2177 - 2178 - [[package]] 2179 - name = "winnow" 2180 - version = "0.7.4" 2181 - source = "registry+https://github.com/rust-lang/crates.io-index" 2182 - checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" 2183 - dependencies = [ 2184 - "memchr", 2185 - ] 2186 - 2187 - [[package]] 2188 - name = "wit-bindgen-rt" 2189 - version = "0.39.0" 2190 - source = "registry+https://github.com/rust-lang/crates.io-index" 2191 - checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 2192 - dependencies = [ 2193 - "bitflags", 2194 - ] 2195 - 2196 - [[package]] 2197 - name = "zerocopy" 2198 - version = "0.8.24" 2199 - source = "registry+https://github.com/rust-lang/crates.io-index" 2200 - checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" 2201 - dependencies = [ 2202 - "zerocopy-derive", 2203 - ] 2204 - 2205 - [[package]] 2206 - name = "zerocopy-derive" 2207 - version = "0.8.24" 2208 - source = "registry+https://github.com/rust-lang/crates.io-index" 2209 - checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" 2210 - dependencies = [ 2211 - "proc-macro2", 2212 - "quote", 2213 - "syn", 2214 - ]
-38
bevy_status_effects/Cargo.toml
··· 1 - [package] 2 - name = "bevy_status_effects" 3 - version = "0.1.0" 4 - edition = "2024" 5 - description = "A crate for adding status effects to entities using relations." 6 - categories = ["game-development"] 7 - keywords = ["game", "gamedev", "bevy", "relationship"] 8 - repository = "https://github.com/AlephCubed/bevy_status_effects" 9 - license = "MIT OR Apache-2.0" 10 - authors = ["AlephCubed"] 11 - readme = "../README.md" 12 - 13 - [package.metadata.docs.rs] 14 - all-features = true 15 - 16 - [features] 17 - bevy_butler = ["bevy-butler", "bevy_status_effects_macros/bevy_butler"] 18 - 19 - [dependencies] 20 - bevy_app = { version = "0.16.0", default-features = false, features = [ 21 - "bevy_reflect", 22 - ] } 23 - bevy-butler = { version = "0.6.1", optional = true } 24 - bevy_ecs = { version = "0.16.0", default-features = false, features = [ 25 - "bevy_reflect", 26 - ] } 27 - bevy_status_effects_macros = { path = "../bevy_status_effects_macros" } 28 - bevy_reflect = { version = "0.16.0", default-features = false } 29 - bevy_time = { version = "0.16.0", default-features = false, features = [ 30 - "bevy_reflect", 31 - ] } 32 - 33 - [lints.rust] 34 - missing_docs = "warn" 35 - unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docsrs_dep)'] } 36 - unsafe_code = "deny" 37 - unsafe_op_in_unsafe_fn = "warn" 38 - unused_qualifications = "warn"
-71
bevy_status_effects/src/hook.rs
··· 1 - use crate::relation::{EffectedBy, Effecting}; 2 - use crate::timer::{Delay, EffectTimer, Lifetime}; 3 - use crate::{EffectMode, StatusEffect}; 4 - use bevy_ecs::component::HookContext; 5 - use bevy_ecs::prelude::{Component, RelationshipTarget, World}; 6 - use bevy_ecs::world::DeferredWorld; 7 - 8 - /// A system that registers the effect hook for a given type. 9 - pub fn init_effect_hook<T: Component + StatusEffect>(world: &mut World) { 10 - world 11 - .register_component_hooks::<T>() 12 - .on_add(effect_refresh_hook::<T>); 13 - } 14 - 15 - fn effect_refresh_hook<T: Component + StatusEffect>( 16 - mut world: DeferredWorld, 17 - context: HookContext, 18 - ) { 19 - let Some(mode) = world.get::<EffectMode>(context.entity).copied() else { 20 - return; 21 - }; 22 - 23 - if mode == EffectMode::Stack { 24 - return; 25 - } 26 - 27 - let Some(target) = world.get::<Effecting>(context.entity) else { 28 - return; 29 - }; 30 - 31 - let effected_by = match world.get::<EffectedBy>(target.0) { 32 - Some(e) => e.collection().clone(), 33 - None => return, 34 - }; 35 - 36 - let old = effected_by.iter().find_map(|entity| { 37 - // `EffectedBy` not updated until later. 38 - assert_ne!(*entity, context.entity); 39 - 40 - let Some(other_mode) = world.get::<EffectMode>(*entity) else { 41 - return None; 42 - }; 43 - 44 - if mode != *other_mode { 45 - return None; 46 - } 47 - 48 - world 49 - .get::<T>(*entity) 50 - .and_then(|effect| Some((*entity, effect))) 51 - }); 52 - 53 - if let Some((old_entity, _old_effect)) = old { 54 - match mode { 55 - EffectMode::Stack => return, 56 - EffectMode::Replace => world.commands().entity(old_entity).despawn(), 57 - } 58 - 59 - if let Some(old_lifetime) = world.get::<Lifetime>(old_entity).cloned() { 60 - if let Some(mut lifetime) = world.get_mut::<Lifetime>(context.entity) { 61 - lifetime.merge(&old_lifetime) 62 - } 63 - } 64 - 65 - if let Some(old_delay) = world.get::<Delay>(old_entity).cloned() { 66 - if let Some(mut delay) = world.get_mut::<Delay>(context.entity) { 67 - delay.merge(&old_delay) 68 - } 69 - } 70 - } 71 - }
+5 -10
bevy_status_effects/src/lib.rs src/lib.rs
··· 1 1 //! Relationship-based status effects for bevy. 2 2 3 - mod hook; 3 + mod command; 4 4 mod relation; 5 5 mod timer; 6 6 7 7 use bevy_app::{App, Plugin, PreUpdate}; 8 8 use bevy_ecs::prelude::*; 9 9 use bevy_reflect::prelude::ReflectDefault; 10 - use bevy_reflect::{Reflect, reflect_trait}; 10 + use bevy_reflect::{reflect_trait, Reflect}; 11 11 12 - pub use bevy_status_effects_macros::StatusEffect; 13 - pub use hook::*; 12 + pub use command::*; 14 13 pub use relation::*; 15 14 pub use timer::*; 16 - 17 - #[doc(hidden)] 18 - pub use bevy_app::Startup as __Startup; 19 15 20 16 pub struct StatusEffectPlugin; 21 17 ··· 41 37 /// Multiple of the same effect can exist at once. 42 38 #[default] 43 39 Stack, 44 - /// When an effect is spawned, any existing effects are replaced (despawned). 40 + /// When an effect is added, any matching effects are removed. 45 41 Replace, 46 - // Todo 47 - // Merge, 42 + Merge, 48 43 }
bevy_status_effects/src/relation.rs src/relation.rs
bevy_status_effects/src/timer.rs src/timer.rs
-65
bevy_status_effects/tests/bevy_butler.rs
··· 1 - #![cfg(feature = "bevy_butler")] 2 - 3 - use bevy_app::App; 4 - use bevy_butler::butler_plugin; 5 - use bevy_ecs::prelude::Component; 6 - use bevy_status_effects::*; 7 - 8 - #[butler_plugin] 9 - struct ButlerPlugin; 10 - 11 - #[derive(StatusEffect, Component, Debug, Eq, PartialEq, Default)] 12 - #[add_component(plugin = ButlerPlugin)] 13 - struct Derive; 14 - 15 - #[test] 16 - fn derive_refresh() { 17 - let mut app = App::new(); 18 - app.add_plugins(ButlerPlugin); 19 - app.update(); 20 - 21 - let target = app.world_mut().spawn_empty().id(); 22 - let first = app 23 - .world_mut() 24 - .spawn((Derive, Effecting(target), EffectMode::Replace)) 25 - .id(); 26 - let second = app 27 - .world_mut() 28 - .spawn((Derive, Effecting(target), EffectMode::Replace)) 29 - .id(); 30 - 31 - app.world_mut().flush(); 32 - 33 - assert_eq!(app.world().get::<Derive>(first), None); 34 - assert_eq!(app.world().get::<Derive>(second), Some(&Derive)); 35 - } 36 - 37 - /// Same as above, but with `plugin(...)` syntax as apposed to `plugin = ...` 38 - #[derive(StatusEffect, Component, Debug, Eq, PartialEq, Default)] 39 - #[add_component(plugin(ButlerPlugin))] 40 - struct AlternateSyntax; 41 - 42 - #[test] 43 - fn derive_refresh_alternate_syntax() { 44 - let mut app = App::new(); 45 - app.add_plugins(ButlerPlugin); 46 - app.update(); 47 - 48 - let target = app.world_mut().spawn_empty().id(); 49 - let first = app 50 - .world_mut() 51 - .spawn((AlternateSyntax, Effecting(target), EffectMode::Replace)) 52 - .id(); 53 - let second = app 54 - .world_mut() 55 - .spawn((AlternateSyntax, Effecting(target), EffectMode::Replace)) 56 - .id(); 57 - 58 - app.world_mut().flush(); 59 - 60 - assert_eq!(app.world().get::<AlternateSyntax>(first), None); 61 - assert_eq!( 62 - app.world().get::<AlternateSyntax>(second), 63 - Some(&AlternateSyntax) 64 - ); 65 - }
-200
bevy_status_effects/tests/merge_mode.rs
··· 1 - use bevy_ecs::prelude::*; 2 - use bevy_status_effects::*; 3 - use bevy_time::*; 4 - use std::time::Duration; 5 - 6 - #[derive(StatusEffect, Component, Debug, Eq, PartialEq, Default)] 7 - struct MyEffect; 8 - 9 - #[test] 10 - fn stack() { 11 - let mut world = World::new(); 12 - init_effect_hook::<MyEffect>(&mut world); 13 - 14 - let target = world.spawn_empty().id(); 15 - let first = world.spawn((MyEffect, Effecting(target))).id(); 16 - let second = world.spawn((MyEffect, Effecting(target))).id(); 17 - 18 - world.flush(); 19 - 20 - assert_eq!(world.get::<MyEffect>(first), Some(&MyEffect)); 21 - assert_eq!(world.get::<MyEffect>(second), Some(&MyEffect)); 22 - } 23 - 24 - #[test] 25 - fn refresh() { 26 - let mut world = World::new(); 27 - init_effect_hook::<MyEffect>(&mut world); 28 - 29 - let target = world.spawn_empty().id(); 30 - let first = world 31 - .spawn((MyEffect, Effecting(target), EffectMode::Replace)) 32 - .id(); 33 - let second = world 34 - .spawn((MyEffect, Effecting(target), EffectMode::Replace)) 35 - .id(); 36 - 37 - world.flush(); 38 - 39 - assert_eq!(world.get::<MyEffect>(first), None); 40 - assert_eq!(world.get::<MyEffect>(second), Some(&MyEffect)); 41 - } 42 - 43 - #[test] 44 - fn mixed() { 45 - let mut world = World::new(); 46 - init_effect_hook::<MyEffect>(&mut world); 47 - 48 - let target = world.spawn_empty().id(); 49 - 50 - let stack_1 = world.spawn((MyEffect, Effecting(target))).id(); 51 - let stack_2 = world 52 - .spawn((MyEffect, Effecting(target), EffectMode::Stack)) 53 - .id(); 54 - 55 - let replace_1 = world 56 - .spawn((MyEffect, Effecting(target), EffectMode::Replace)) 57 - .id(); 58 - let replace_2 = world 59 - .spawn((MyEffect, Effecting(target), EffectMode::Replace)) 60 - .id(); 61 - 62 - world.flush(); 63 - 64 - assert_eq!(world.get::<MyEffect>(stack_1), Some(&MyEffect)); 65 - assert_eq!(world.get::<MyEffect>(stack_2), Some(&MyEffect)); 66 - 67 - assert_eq!(world.get::<MyEffect>(replace_1), None); 68 - assert_eq!(world.get::<MyEffect>(replace_2), Some(&MyEffect)); 69 - } 70 - 71 - #[test] 72 - fn timer_replace() { 73 - let mut world = World::new(); 74 - init_effect_hook::<MyEffect>(&mut world); 75 - 76 - let target = world.spawn_empty().id(); 77 - let second_lifetime = Lifetime::from_seconds(2.0).with_mode(TimerMergeMode::Replace); 78 - world.spawn(( 79 - MyEffect, 80 - Effecting(target), 81 - EffectMode::Replace, 82 - Lifetime::from_seconds(1.0).with_mode(TimerMergeMode::Replace), 83 - )); 84 - let second = world 85 - .spawn(( 86 - MyEffect, 87 - Effecting(target), 88 - EffectMode::Replace, 89 - second_lifetime.clone(), 90 - )) 91 - .id(); 92 - 93 - world.flush(); 94 - 95 - assert_eq!(world.get::<Lifetime>(second), Some(&second_lifetime)); 96 - } 97 - 98 - #[test] 99 - fn timer_inherit() { 100 - let mut world = World::new(); 101 - init_effect_hook::<MyEffect>(&mut world); 102 - 103 - let target = world.spawn_empty().id(); 104 - let first_delay = Delay::from_seconds(1.0).with_mode(TimerMergeMode::Inherit); 105 - 106 - world.spawn(( 107 - MyEffect, 108 - Effecting(target), 109 - EffectMode::Replace, 110 - first_delay.clone(), 111 - )); 112 - let second = world 113 - .spawn(( 114 - MyEffect, 115 - Effecting(target), 116 - EffectMode::Replace, 117 - Delay::from_seconds(2.0).with_mode(TimerMergeMode::Inherit), 118 - )) 119 - .id(); 120 - 121 - world.flush(); 122 - 123 - assert_eq!(world.get::<Delay>(second), Some(&first_delay)); 124 - } 125 - 126 - #[test] 127 - fn timer_fraction() { 128 - let mut world = World::new(); 129 - init_effect_hook::<MyEffect>(&mut world); 130 - 131 - let target = world.spawn_empty().id(); 132 - 133 - let mut first_timer = Timer::from_seconds(2.0, TimerMode::Once); 134 - first_timer.tick(Duration::from_secs_f32(1.0)); 135 - 136 - world.spawn(( 137 - MyEffect, 138 - Effecting(target), 139 - EffectMode::Replace, 140 - Delay { 141 - timer: first_timer, 142 - mode: TimerMergeMode::Fraction, 143 - }, 144 - )); 145 - let second = world 146 - .spawn(( 147 - MyEffect, 148 - Effecting(target), 149 - EffectMode::Replace, 150 - Delay::from_seconds(10.0).with_mode(TimerMergeMode::Fraction), 151 - )) 152 - .id(); 153 - 154 - world.flush(); 155 - 156 - let mut expected_timer = Timer::from_seconds(10.0, TimerMode::Repeating); 157 - expected_timer.tick(Duration::from_secs_f32(5.0)); 158 - 159 - assert_eq!( 160 - world.get::<Delay>(second), 161 - Some(&Delay { 162 - timer: expected_timer, 163 - mode: TimerMergeMode::Fraction, 164 - }) 165 - ); 166 - } 167 - 168 - #[test] 169 - fn timer_max() { 170 - let mut world = World::new(); 171 - init_effect_hook::<MyEffect>(&mut world); 172 - 173 - let target = world.spawn_empty().id(); 174 - let max = Delay::from_seconds(3.0).with_mode(TimerMergeMode::Max); 175 - 176 - world.spawn(( 177 - MyEffect, 178 - Effecting(target), 179 - EffectMode::Replace, 180 - Delay::from_seconds(1.0).with_mode(TimerMergeMode::Max), 181 - )); 182 - world.spawn(( 183 - MyEffect, 184 - Effecting(target), 185 - EffectMode::Replace, 186 - max.clone(), 187 - )); 188 - let third = world 189 - .spawn(( 190 - MyEffect, 191 - Effecting(target), 192 - EffectMode::Replace, 193 - Delay::from_seconds(2.0).with_mode(TimerMergeMode::Max), 194 - )) 195 - .id(); 196 - 197 - world.flush(); 198 - 199 - assert_eq!(world.get::<Delay>(third), Some(&max)); 200 - }
bevy_status_effects/tests/timer.rs tests/timer.rs
-27
bevy_status_effects_macros/Cargo.toml
··· 1 - [package] 2 - name = "bevy_status_effects_macros" 3 - version = "0.1.0" 4 - edition = "2024" 5 - description = "A crate for adding status effects to entities using relations." 6 - categories = ["game-development"] 7 - keywords = ["game", "gamedev", "bevy", "relationship"] 8 - repository = "https://github.com/AlephCubed/bevy_status_effects" 9 - license = "MIT OR Apache-2.0" 10 - authors = ["AlephCubed"] 11 - readme = "../README.md" 12 - 13 - [package.metadata.docs.rs] 14 - all-features = true 15 - 16 - [lib] 17 - proc-macro = true 18 - 19 - [features] 20 - bevy_butler = [] 21 - 22 - [dependencies] 23 - darling = "0.20.11" 24 - proc-macro2 = "1.0" 25 - proc-macro-error = "1.0" 26 - quote = "1.0" 27 - syn = { version = "2.0", features = ["full"] }
-95
bevy_status_effects_macros/src/bevy_butler.rs
··· 1 - use darling::ast::NestedMeta; 2 - use darling::{Error, FromMeta}; 3 - use proc_macro2::{Ident, TokenStream}; 4 - use quote::{ToTokens, format_ident, quote}; 5 - use syn::{DeriveInput, Expr, Meta, Path}; 6 - 7 - /// Returns code that will register the effect hook using Bevy Butler. 8 - pub fn register_systems(input: DeriveInput) -> darling::Result<TokenStream> { 9 - let struct_name = &input.ident; 10 - 11 - let mut butler_attributes = ButlerAttribute::new(struct_name); 12 - 13 - for attr in input.attrs { 14 - if attr.path().is_ident("add_component") { 15 - let plugin = PluginPath::from_meta(&attr.meta)?; 16 - butler_attributes.plugin = Some(plugin); 17 - } 18 - } 19 - 20 - Ok(butler_attributes.into_token_stream()) 21 - } 22 - 23 - struct ButlerAttribute<'a> { 24 - ident: &'a Ident, 25 - plugin: Option<PluginPath>, 26 - } 27 - 28 - impl<'a> ButlerAttribute<'a> { 29 - pub fn new(ident: &'a Ident) -> Self { 30 - Self { 31 - ident, 32 - plugin: None, 33 - } 34 - } 35 - } 36 - 37 - impl<'a> ToTokens for ButlerAttribute<'a> { 38 - fn to_tokens(&self, tokens: &mut TokenStream) { 39 - if let Some(plugin_path) = &self.plugin { 40 - let ident = &self.ident; 41 - let plugin = &plugin_path.0; 42 - let use_as = format_ident!("__{ident}_status_effect"); 43 - 44 - // Due to some strange import scoping issues, we cannot use the plugins. 45 - // Instead, we can just recreate the plugin's functionality. 46 - tokens.extend(quote! { 47 - #[bevy_butler::add_system( 48 - generics = <#ident>, 49 - plugin = #plugin, 50 - schedule = bevy_status_effects::__Startup 51 - )] 52 - use bevy_status_effects::init_effect_hook as #use_as; 53 - }); 54 - } 55 - } 56 - } 57 - 58 - /// Represents a `plugin(PATH)` or `plugin = PATH` attribute meta. 59 - pub struct PluginPath(pub Path); 60 - 61 - impl FromMeta for PluginPath { 62 - fn from_list(items: &[NestedMeta]) -> darling::Result<Self> { 63 - for item in items { 64 - return match item { 65 - NestedMeta::Meta(meta) => match meta { 66 - Meta::Path(_) => Err(Error::custom("Expected a value for `plugin`")), 67 - Meta::List(list) => { 68 - if list.path.require_ident()? != "plugin" { 69 - continue; 70 - } 71 - 72 - let mut path = None; 73 - 74 - list.parse_nested_meta(|value_meta| { 75 - path = Some(value_meta.path); 76 - Ok(()) 77 - })?; 78 - 79 - match path { 80 - None => Err(Error::custom("Expected `plugin` attribute")), 81 - Some(path) => Ok(PluginPath(path)), 82 - } 83 - } 84 - Meta::NameValue(name_value) => match &name_value.value { 85 - Expr::Path(p) => Ok(PluginPath(p.path.clone())), 86 - _ => Err(Error::custom("Expected a path to a butler plugin")), 87 - }, 88 - }, 89 - NestedMeta::Lit(_) => Err(Error::custom("Expected `plugin` attribute")), 90 - }; 91 - } 92 - 93 - Err(Error::custom("Expected `plugin` attribute")) 94 - } 95 - }
-27
bevy_status_effects_macros/src/lib.rs
··· 1 - #[cfg(feature = "bevy_butler")] 2 - mod bevy_butler; 3 - 4 - use proc_macro_error::proc_macro_error; 5 - use quote::quote; 6 - use syn::{DeriveInput, parse_macro_input}; 7 - 8 - #[proc_macro_derive(StatusEffect, attributes(add_component))] 9 - #[proc_macro_error] 10 - pub fn stat_container_derive(item: proc_macro::TokenStream) -> proc_macro::TokenStream { 11 - let tree: DeriveInput = parse_macro_input!(item as DeriveInput); 12 - let ident = &tree.ident; 13 - 14 - let trait_impl = quote! { 15 - impl StatusEffect for #ident {} 16 - }; 17 - 18 - #[cfg(feature = "bevy_butler")] 19 - { 20 - let systems = 21 - bevy_butler::register_systems(tree).unwrap_or_else(darling::Error::write_errors); 22 - quote! { #trait_impl #systems }.into() 23 - } 24 - 25 - #[cfg(not(feature = "bevy_butler"))] 26 - trait_impl.into() 27 - }
+94
src/command.rs
··· 1 + use crate::{Delay, EffectMode, EffectTimer, EffectedBy, Effecting, Lifetime}; 2 + use bevy_ecs::prelude::*; 3 + 4 + pub struct AddEffect<B: Bundle> { 5 + pub entity: Entity, 6 + pub name: Name, 7 + pub bundle: B, 8 + } 9 + 10 + impl<B: Bundle> Command for AddEffect<B> { 11 + fn apply(self, world: &mut World) -> () { 12 + let Some(mode) = world.get::<EffectMode>(self.entity).copied() else { 13 + return; 14 + }; 15 + 16 + if mode == EffectMode::Stack { 17 + return; 18 + } 19 + 20 + let Some(target) = world.get::<Effecting>(self.entity) else { 21 + return; 22 + }; 23 + 24 + let effected_by = match world.get::<EffectedBy>(target.0) { 25 + Some(e) => e.collection().clone(), 26 + None => return, 27 + }; 28 + 29 + if mode == EffectMode::Stack { 30 + world.spawn((Effecting(self.entity), self.name, self.bundle)); 31 + return; 32 + } 33 + 34 + let old_entity = effected_by.iter().find_map(|entity| { 35 + // `EffectedBy` not updated until later. 36 + assert_ne!(*entity, self.entity); 37 + 38 + let Some(other_mode) = world.get::<EffectMode>(*entity) else { 39 + return None; 40 + }; 41 + 42 + if mode != *other_mode { 43 + return None; 44 + } 45 + 46 + if let Some(name) = world.get::<Name>(*entity) { 47 + if name == &self.name { 48 + return Some(*entity); 49 + } 50 + } 51 + 52 + None 53 + }); 54 + 55 + let Some(old_entity) = old_entity else { 56 + world.spawn((Effecting(self.entity), self.name, self.bundle)); 57 + return; 58 + }; 59 + 60 + if mode == EffectMode::Replace { 61 + world.commands().entity(old_entity).despawn(); 62 + }; 63 + 64 + if let Some(old_lifetime) = world.get::<Lifetime>(old_entity).cloned() { 65 + if let Some(mut lifetime) = world.get_mut::<Lifetime>(self.entity) { 66 + lifetime.merge(&old_lifetime) 67 + } 68 + } 69 + 70 + if let Some(old_delay) = world.get::<Delay>(old_entity).cloned() { 71 + if let Some(mut delay) = world.get_mut::<Delay>(self.entity) { 72 + delay.merge(&old_delay) 73 + } 74 + } 75 + 76 + world.entity_mut(old_entity).insert(self.bundle); 77 + return; 78 + } 79 + } 80 + 81 + pub trait AddEffectExt { 82 + fn add_effect<B: Bundle>(&mut self, entity: Entity, name: Name, bundle: B) -> &mut Self; 83 + } 84 + 85 + impl AddEffectExt for Commands<'_, '_> { 86 + fn add_effect<B: Bundle>(&mut self, entity: Entity, name: Name, bundle: B) -> &mut Self { 87 + self.queue(AddEffect { 88 + entity, 89 + name, 90 + bundle, 91 + }); 92 + self 93 + } 94 + }
+237
tests/merge_mode.rs
··· 1 + use bevy_ecs::prelude::*; 2 + use bevy_status_effects::*; 3 + use bevy_time::*; 4 + use std::time::Duration; 5 + 6 + #[derive(Component, Debug, Eq, PartialEq, Default)] 7 + struct MyEffect(u8); 8 + 9 + #[test] 10 + fn stack() { 11 + let mut world = World::new(); 12 + 13 + let target = world.spawn_empty().id(); 14 + 15 + world 16 + .commands() 17 + .add_effect(target, "MyEffect".into(), MyEffect(0)); 18 + world 19 + .commands() 20 + .add_effect(target, "MyEffect".into(), MyEffect(1)); 21 + 22 + world.flush(); 23 + 24 + let effects: Vec<u8> = world 25 + .query::<&MyEffect>() 26 + .iter(&mut world) 27 + .map(|c| c.0) 28 + .collect(); 29 + 30 + assert!(effects.contains(&0)); 31 + assert!(effects.contains(&1)); 32 + } 33 + 34 + #[test] 35 + fn replace() { 36 + let mut world = World::new(); 37 + 38 + let target = world.spawn_empty().id(); 39 + 40 + world.commands().add_effect( 41 + target, 42 + "MyEffect".into(), 43 + (MyEffect(0), EffectMode::Replace), 44 + ); 45 + world.commands().add_effect( 46 + target, 47 + "MyEffect".into(), 48 + (MyEffect(1), EffectMode::Replace), 49 + ); 50 + 51 + world.flush(); 52 + 53 + let effects: Vec<u8> = world 54 + .query::<&MyEffect>() 55 + .iter(&mut world) 56 + .map(|c| c.0) 57 + .collect(); 58 + 59 + assert!(!effects.contains(&0)); 60 + assert!(effects.contains(&1)); 61 + } 62 + 63 + #[test] 64 + fn mixed() { 65 + let mut world = World::new(); 66 + 67 + let target = world.spawn_empty().id(); 68 + 69 + world 70 + .commands() 71 + .add_effect(target, "MyEffect".into(), MyEffect(0)); 72 + world 73 + .commands() 74 + .add_effect(target, "MyEffect".into(), (MyEffect(1), EffectMode::Stack)); 75 + 76 + world.commands().add_effect( 77 + target, 78 + "MyEffect".into(), 79 + (MyEffect(2), EffectMode::Replace), 80 + ); 81 + world.commands().add_effect( 82 + target, 83 + "MyEffect".into(), 84 + (MyEffect(3), EffectMode::Replace), 85 + ); 86 + 87 + world.flush(); 88 + 89 + let effects: Vec<u8> = world 90 + .query::<&MyEffect>() 91 + .iter(&mut world) 92 + .map(|c| c.0) 93 + .collect(); 94 + 95 + assert!(effects.contains(&0)); 96 + assert!(effects.contains(&1)); 97 + assert!(!effects.contains(&2)); 98 + assert!(effects.contains(&3)); 99 + } 100 + 101 + #[test] 102 + fn timer_merge_replace() { 103 + let mut world = World::new(); 104 + 105 + let target = world.spawn_empty().id(); 106 + let second_lifetime = Lifetime::from_seconds(2.0).with_mode(TimerMergeMode::Replace); 107 + world.commands().add_effect( 108 + target, 109 + "MyEffect".into(), 110 + ( 111 + MyEffect(0), 112 + EffectMode::Merge, 113 + Lifetime::from_seconds(1.0).with_mode(TimerMergeMode::Replace), 114 + ), 115 + ); 116 + world.commands().add_effect( 117 + target, 118 + "MyEffect".into(), 119 + (MyEffect(1), EffectMode::Merge, second_lifetime.clone()), 120 + ); 121 + 122 + world.flush(); 123 + 124 + assert_eq!( 125 + world.query::<&Lifetime>().single(&world).unwrap(), 126 + &second_lifetime 127 + ); 128 + } 129 + 130 + #[test] 131 + fn timer_merge_inherit() { 132 + let mut world = World::new(); 133 + 134 + let target = world.spawn_empty().id(); 135 + let first_delay = Delay::from_seconds(1.0).with_mode(TimerMergeMode::Inherit); 136 + world.commands().add_effect( 137 + target, 138 + "MyEffect".into(), 139 + (MyEffect(0), EffectMode::Merge, first_delay.clone()), 140 + ); 141 + world.commands().add_effect( 142 + target, 143 + "MyEffect".into(), 144 + ( 145 + MyEffect(1), 146 + EffectMode::Merge, 147 + Delay::from_seconds(2.0).with_mode(TimerMergeMode::Inherit), 148 + ), 149 + ); 150 + 151 + world.flush(); 152 + 153 + assert_eq!( 154 + world.query::<&Delay>().single(&world).unwrap(), 155 + &first_delay 156 + ); 157 + } 158 + 159 + #[test] 160 + fn timer_merge_fraction() { 161 + let mut world = World::new(); 162 + 163 + let target = world.spawn_empty().id(); 164 + let mut first_timer = Timer::from_seconds(2.0, TimerMode::Once); 165 + first_timer.tick(Duration::from_secs_f32(1.0)); 166 + 167 + world.commands().add_effect( 168 + target, 169 + "MyEffect".into(), 170 + ( 171 + MyEffect(0), 172 + EffectMode::Merge, 173 + Delay { 174 + timer: first_timer, 175 + mode: TimerMergeMode::Fraction, 176 + }, 177 + ), 178 + ); 179 + world.commands().add_effect( 180 + target, 181 + "MyEffect".into(), 182 + ( 183 + MyEffect(1), 184 + EffectMode::Merge, 185 + Delay::from_seconds(10.0).with_mode(TimerMergeMode::Fraction), 186 + ), 187 + ); 188 + 189 + world.flush(); 190 + 191 + let mut expected_timer = Timer::from_seconds(10.0, TimerMode::Repeating); 192 + expected_timer.tick(Duration::from_secs_f32(5.0)); 193 + 194 + assert_eq!( 195 + world.query::<&Delay>().single(&world).unwrap(), 196 + &Delay { 197 + timer: expected_timer, 198 + mode: TimerMergeMode::Fraction, 199 + } 200 + ); 201 + } 202 + 203 + #[test] 204 + fn timer_merge_max() { 205 + let mut world = World::new(); 206 + 207 + let target = world.spawn_empty().id(); 208 + let max = Delay::from_seconds(3.0).with_mode(TimerMergeMode::Max); 209 + 210 + world.commands().add_effect( 211 + target, 212 + "MyEffect".into(), 213 + ( 214 + MyEffect(0), 215 + EffectMode::Merge, 216 + Delay::from_seconds(1.0).with_mode(TimerMergeMode::Max), 217 + ), 218 + ); 219 + world.commands().add_effect( 220 + target, 221 + "MyEffect".into(), 222 + (MyEffect(1), EffectMode::Merge, max.clone()), 223 + ); 224 + world.commands().add_effect( 225 + target, 226 + "MyEffect".into(), 227 + ( 228 + MyEffect(2), 229 + EffectMode::Merge, 230 + Delay::from_seconds(2.0).with_mode(TimerMergeMode::Max), 231 + ), 232 + ); 233 + 234 + world.flush(); 235 + 236 + assert_eq!(world.query::<&Delay>().single(&world).unwrap(), &max); 237 + }