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