mirror of
https://github.com/kristoferssolo/maze-ascension.git
synced 2025-10-21 19:20:34 +00:00
feat(hex): draw hex prisms
This commit is contained in:
parent
c5f8dede6d
commit
ec9ac21b8f
319
Cargo.lock
generated
319
Cargo.lock
generated
@ -180,6 +180,24 @@ dependencies = [
|
|||||||
"num-traits",
|
"num-traits",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "arboard"
|
||||||
|
version = "3.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "df099ccb16cd014ff054ac1bf392c67feeef57164b05c42f037cd40f5d4357f4"
|
||||||
|
dependencies = [
|
||||||
|
"clipboard-win",
|
||||||
|
"core-graphics",
|
||||||
|
"image 0.25.2",
|
||||||
|
"log",
|
||||||
|
"objc2",
|
||||||
|
"objc2-app-kit",
|
||||||
|
"objc2-foundation",
|
||||||
|
"parking_lot",
|
||||||
|
"windows-sys 0.48.0",
|
||||||
|
"x11rb",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "arrayref"
|
name = "arrayref"
|
||||||
version = "0.3.8"
|
version = "0.3.8"
|
||||||
@ -304,6 +322,50 @@ dependencies = [
|
|||||||
"bevy_internal",
|
"bevy_internal",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy-inspector-egui"
|
||||||
|
version = "0.26.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d46ba955761969dbc9a79d3583a175609b4e370303bc0f9a5846397dcb7f05fd"
|
||||||
|
dependencies = [
|
||||||
|
"bevy-inspector-egui-derive",
|
||||||
|
"bevy_app",
|
||||||
|
"bevy_asset",
|
||||||
|
"bevy_color",
|
||||||
|
"bevy_core",
|
||||||
|
"bevy_core_pipeline",
|
||||||
|
"bevy_ecs",
|
||||||
|
"bevy_egui",
|
||||||
|
"bevy_hierarchy",
|
||||||
|
"bevy_log",
|
||||||
|
"bevy_math",
|
||||||
|
"bevy_pbr",
|
||||||
|
"bevy_reflect",
|
||||||
|
"bevy_render",
|
||||||
|
"bevy_state",
|
||||||
|
"bevy_time",
|
||||||
|
"bevy_utils",
|
||||||
|
"bevy_window",
|
||||||
|
"bytemuck",
|
||||||
|
"egui",
|
||||||
|
"fuzzy-matcher",
|
||||||
|
"image 0.24.9",
|
||||||
|
"once_cell",
|
||||||
|
"pretty-type-name",
|
||||||
|
"smallvec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy-inspector-egui-derive"
|
||||||
|
version = "0.26.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "06683f27065a27065ef8cebe77d7b347c9d0511a091deafd6dd77c5535434934"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.72",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_a11y"
|
name = "bevy_a11y"
|
||||||
version = "0.14.1"
|
version = "0.14.1"
|
||||||
@ -579,6 +641,29 @@ dependencies = [
|
|||||||
"syn 2.0.72",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bevy_egui"
|
||||||
|
version = "0.29.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "128438a8163e49528207aabf20d3ff0890fd6be0f0054626915995efac87922b"
|
||||||
|
dependencies = [
|
||||||
|
"arboard",
|
||||||
|
"bevy",
|
||||||
|
"bytemuck",
|
||||||
|
"console_log",
|
||||||
|
"crossbeam-channel",
|
||||||
|
"egui",
|
||||||
|
"js-sys",
|
||||||
|
"log",
|
||||||
|
"thread_local",
|
||||||
|
"wasm-bindgen",
|
||||||
|
"wasm-bindgen-futures",
|
||||||
|
"web-sys",
|
||||||
|
"webbrowser",
|
||||||
|
"wgpu-types",
|
||||||
|
"winit",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bevy_encase_derive"
|
name = "bevy_encase_derive"
|
||||||
version = "0.14.1"
|
version = "0.14.1"
|
||||||
@ -901,7 +986,7 @@ dependencies = [
|
|||||||
"encase",
|
"encase",
|
||||||
"futures-lite",
|
"futures-lite",
|
||||||
"hexasphere",
|
"hexasphere",
|
||||||
"image",
|
"image 0.25.2",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
"ktx2",
|
"ktx2",
|
||||||
"naga",
|
"naga",
|
||||||
@ -1380,6 +1465,15 @@ dependencies = [
|
|||||||
"libloading 0.8.5",
|
"libloading 0.8.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clipboard-win"
|
||||||
|
version = "5.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892"
|
||||||
|
dependencies = [
|
||||||
|
"error-code",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "codespan-reporting"
|
name = "codespan-reporting"
|
||||||
version = "0.11.1"
|
version = "0.11.1"
|
||||||
@ -1390,6 +1484,12 @@ dependencies = [
|
|||||||
"unicode-width",
|
"unicode-width",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "color_quant"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "com"
|
name = "com"
|
||||||
version = "0.6.0"
|
version = "0.6.0"
|
||||||
@ -1450,6 +1550,16 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "console_log"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "be8aed40e4edbf4d3b4431ab260b63fdc40f5780a4766824329ea0f1eefe3c0f"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
"web-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "const-fnv1a-hash"
|
name = "const-fnv1a-hash"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@ -1494,10 +1604,20 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "core-foundation-sys"
|
name = "core-foundation"
|
||||||
version = "0.8.6"
|
version = "0.10.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63"
|
||||||
|
dependencies = [
|
||||||
|
"core-foundation-sys",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "core-foundation-sys"
|
||||||
|
version = "0.8.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "core-graphics"
|
name = "core-graphics"
|
||||||
@ -1506,7 +1626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
|
checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"core-foundation",
|
"core-foundation 0.9.4",
|
||||||
"core-graphics-types",
|
"core-graphics-types",
|
||||||
"foreign-types",
|
"foreign-types",
|
||||||
"libc",
|
"libc",
|
||||||
@ -1519,7 +1639,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
|
checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.3.2",
|
"bitflags 1.3.2",
|
||||||
"core-foundation",
|
"core-foundation 0.9.4",
|
||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1655,12 +1775,43 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
|
checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ecolor"
|
||||||
|
version = "0.28.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2e6b451ff1143f6de0f33fc7f1b68fecfd2c7de06e104de96c4514de3f5396f8"
|
||||||
|
dependencies = [
|
||||||
|
"bytemuck",
|
||||||
|
"emath",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "egui"
|
||||||
|
version = "0.28.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "20c97e70a2768de630f161bb5392cbd3874fcf72868f14df0e002e82e06cb798"
|
||||||
|
dependencies = [
|
||||||
|
"ahash",
|
||||||
|
"emath",
|
||||||
|
"epaint",
|
||||||
|
"nohash-hasher",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "either"
|
name = "either"
|
||||||
version = "1.13.0"
|
version = "1.13.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "emath"
|
||||||
|
version = "0.28.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0a6a21708405ea88f63d8309650b4d77431f4bc28fb9d8e6f77d3963b51249e6"
|
||||||
|
dependencies = [
|
||||||
|
"bytemuck",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "encase"
|
name = "encase"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
@ -1693,6 +1844,21 @@ dependencies = [
|
|||||||
"syn 2.0.72",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "epaint"
|
||||||
|
version = "0.28.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3f0dcc0a0771e7500e94cd1cb797bd13c9f23b9409bdc3c824e2cbc562b7fa01"
|
||||||
|
dependencies = [
|
||||||
|
"ab_glyph",
|
||||||
|
"ahash",
|
||||||
|
"bytemuck",
|
||||||
|
"ecolor",
|
||||||
|
"emath",
|
||||||
|
"nohash-hasher",
|
||||||
|
"parking_lot",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "equivalent"
|
name = "equivalent"
|
||||||
version = "1.0.1"
|
version = "1.0.1"
|
||||||
@ -1719,6 +1885,12 @@ dependencies = [
|
|||||||
"windows-sys 0.52.0",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "error-code"
|
||||||
|
version = "3.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "euclid"
|
name = "euclid"
|
||||||
version = "0.22.10"
|
version = "0.22.10"
|
||||||
@ -1852,6 +2024,15 @@ version = "0.3.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
|
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "form_urlencoded"
|
||||||
|
version = "1.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
|
||||||
|
dependencies = [
|
||||||
|
"percent-encoding",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fsevent-sys"
|
name = "fsevent-sys"
|
||||||
version = "4.1.0"
|
version = "4.1.0"
|
||||||
@ -1886,6 +2067,15 @@ dependencies = [
|
|||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fuzzy-matcher"
|
||||||
|
version = "0.3.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
|
||||||
|
dependencies = [
|
||||||
|
"thread_local",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gethostname"
|
name = "gethostname"
|
||||||
version = "0.4.3"
|
version = "0.4.3"
|
||||||
@ -1928,7 +2118,7 @@ version = "0.5.13"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bbb5e8d912059b33b463831c16b838d15c4772d584ce332e4a80f6dffdae2bc1"
|
checksum = "bbb5e8d912059b33b463831c16b838d15c4772d584ce332e4a80f6dffdae2bc1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"core-foundation",
|
"core-foundation 0.9.4",
|
||||||
"inotify 0.10.2",
|
"inotify 0.10.2",
|
||||||
"io-kit-sys",
|
"io-kit-sys",
|
||||||
"js-sys",
|
"js-sys",
|
||||||
@ -2166,6 +2356,37 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "home"
|
||||||
|
version = "0.5.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
|
||||||
|
dependencies = [
|
||||||
|
"windows-sys 0.52.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "idna"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
|
||||||
|
dependencies = [
|
||||||
|
"unicode-bidi",
|
||||||
|
"unicode-normalization",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "image"
|
||||||
|
version = "0.24.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d"
|
||||||
|
dependencies = [
|
||||||
|
"bytemuck",
|
||||||
|
"byteorder",
|
||||||
|
"color_quant",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "image"
|
name = "image"
|
||||||
version = "0.25.2"
|
version = "0.25.2"
|
||||||
@ -2176,6 +2397,7 @@ dependencies = [
|
|||||||
"byteorder-lite",
|
"byteorder-lite",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
"png",
|
"png",
|
||||||
|
"tiff",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2290,6 +2512,12 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jpeg-decoder"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "js-sys"
|
name = "js-sys"
|
||||||
version = "0.3.69"
|
version = "0.3.69"
|
||||||
@ -2692,6 +2920,12 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nohash-hasher"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nom"
|
name = "nom"
|
||||||
version = "7.1.3"
|
version = "7.1.3"
|
||||||
@ -3224,6 +3458,12 @@ version = "0.3.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
|
checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pretty-type-name"
|
||||||
|
version = "1.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f0f73cdaf19b52e6143685c3606206e114a4dfa969d6b14ec3894c88eb38bd4b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro-crate"
|
name = "proc-macro-crate"
|
||||||
version = "3.1.0"
|
version = "3.1.0"
|
||||||
@ -3703,6 +3943,7 @@ name = "the-labyrinth-of-echoes"
|
|||||||
version = "0.0.3"
|
version = "0.0.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bevy",
|
"bevy",
|
||||||
|
"bevy-inspector-egui",
|
||||||
"bevy_prototype_lyon",
|
"bevy_prototype_lyon",
|
||||||
"hexx",
|
"hexx",
|
||||||
"log",
|
"log",
|
||||||
@ -3740,6 +3981,17 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tiff"
|
||||||
|
version = "0.9.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
|
||||||
|
dependencies = [
|
||||||
|
"flate2",
|
||||||
|
"jpeg-decoder",
|
||||||
|
"weezl",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tiny-skia"
|
name = "tiny-skia"
|
||||||
version = "0.11.4"
|
version = "0.11.4"
|
||||||
@ -3902,12 +4154,27 @@ version = "1.0.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf"
|
checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-bidi"
|
||||||
|
version = "0.3.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.12"
|
version = "1.0.12"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicode-normalization"
|
||||||
|
version = "0.1.24"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
|
||||||
|
dependencies = [
|
||||||
|
"tinyvec",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-segmentation"
|
name = "unicode-segmentation"
|
||||||
version = "1.11.0"
|
version = "1.11.0"
|
||||||
@ -3926,6 +4193,17 @@ version = "0.2.4"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
|
checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "url"
|
||||||
|
version = "2.5.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
|
||||||
|
dependencies = [
|
||||||
|
"form_urlencoded",
|
||||||
|
"idna",
|
||||||
|
"percent-encoding",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uuid"
|
name = "uuid"
|
||||||
version = "1.10.0"
|
version = "1.10.0"
|
||||||
@ -4141,6 +4419,7 @@ checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"dlib",
|
"dlib",
|
||||||
"log",
|
"log",
|
||||||
|
"once_cell",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -4164,6 +4443,30 @@ dependencies = [
|
|||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "webbrowser"
|
||||||
|
version = "1.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2e5f07fb9bc8de2ddfe6b24a71a75430673fd679e568c48b52716cef1cfae923"
|
||||||
|
dependencies = [
|
||||||
|
"block2",
|
||||||
|
"core-foundation 0.10.0",
|
||||||
|
"home",
|
||||||
|
"jni",
|
||||||
|
"log",
|
||||||
|
"ndk-context",
|
||||||
|
"objc2",
|
||||||
|
"objc2-foundation",
|
||||||
|
"url",
|
||||||
|
"web-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "weezl"
|
||||||
|
version = "0.1.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wgpu"
|
name = "wgpu"
|
||||||
version = "0.20.1"
|
version = "0.20.1"
|
||||||
@ -4675,7 +4978,7 @@ dependencies = [
|
|||||||
"calloop",
|
"calloop",
|
||||||
"cfg_aliases 0.2.1",
|
"cfg_aliases 0.2.1",
|
||||||
"concurrent-queue",
|
"concurrent-queue",
|
||||||
"core-foundation",
|
"core-foundation 0.9.4",
|
||||||
"core-graphics",
|
"core-graphics",
|
||||||
"cursor-icon",
|
"cursor-icon",
|
||||||
"dpi",
|
"dpi",
|
||||||
|
|||||||
@ -20,6 +20,9 @@ tracing = { version = "0.1", features = [
|
|||||||
hexx = { version = "0.18", features = ["bevy_reflect", "grid"] }
|
hexx = { version = "0.18", features = ["bevy_reflect", "grid"] }
|
||||||
bevy_prototype_lyon = "0.12"
|
bevy_prototype_lyon = "0.12"
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
bevy-inspector-egui = "0.26"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = [
|
default = [
|
||||||
# Default to a native dev build.
|
# Default to a native dev build.
|
||||||
|
|||||||
14
src/hex.rs
14
src/hex.rs
@ -1,14 +0,0 @@
|
|||||||
use bevy::{color::palettes::css::BLACK, prelude::*};
|
|
||||||
|
|
||||||
use bevy_prototype_lyon::{
|
|
||||||
draw::{Fill, Stroke},
|
|
||||||
entity::ShapeBundle,
|
|
||||||
path::PathBuilder,
|
|
||||||
plugin::ShapePlugin,
|
|
||||||
};
|
|
||||||
use rand::{thread_rng, Rng};
|
|
||||||
|
|
||||||
pub(super) fn plugin(app: &mut App) {
|
|
||||||
app.add_plugins(ShapePlugin);
|
|
||||||
app.add_systems(Startup, setup_system);
|
|
||||||
}
|
|
||||||
@ -9,6 +9,8 @@ mod maze;
|
|||||||
mod screens;
|
mod screens;
|
||||||
mod theme;
|
mod theme;
|
||||||
|
|
||||||
|
use std::f32::consts::FRAC_PI_4;
|
||||||
|
|
||||||
use bevy::{
|
use bevy::{
|
||||||
asset::AssetMetaCheck,
|
asset::AssetMetaCheck,
|
||||||
audio::{AudioPlugin, Volume},
|
audio::{AudioPlugin, Volume},
|
||||||
@ -90,7 +92,11 @@ enum AppSet {
|
|||||||
fn spawn_camera(mut commands: Commands) {
|
fn spawn_camera(mut commands: Commands) {
|
||||||
commands.spawn((
|
commands.spawn((
|
||||||
Name::new("Camera"),
|
Name::new("Camera"),
|
||||||
Camera2dBundle::default(),
|
Camera3dBundle {
|
||||||
|
transform: Transform::from_xyz(0., 5., 10.).looking_at(Vec3::ZERO, Vec3::Y),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
// Camera2dBundle::default(),
|
||||||
// Render all UI to this camera.
|
// Render all UI to this camera.
|
||||||
// Not strictly necessary since we only use one camera,
|
// Not strictly necessary since we only use one camera,
|
||||||
// but if we don't use this component, our UI will disappear as soon
|
// but if we don't use this component, our UI will disappear as soon
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
use std::usize;
|
use std::{f32::consts::PI, usize};
|
||||||
|
|
||||||
use bevy::{
|
use bevy::{
|
||||||
color::palettes::css::{BLACK, GREEN, RED},
|
color::palettes::css::{BLACK, GREEN, RED, SILVER},
|
||||||
|
pbr::wireframe::{Wireframe, WireframeConfig, WireframePlugin},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
|
render::{mesh::PrimitiveTopology, render_asset::RenderAssetUsages},
|
||||||
utils::hashbrown::HashMap,
|
utils::hashbrown::HashMap,
|
||||||
};
|
};
|
||||||
|
|
||||||
use bevy_prototype_lyon::{
|
use bevy_prototype_lyon::{
|
||||||
draw::{Fill, Stroke},
|
draw::{Fill, Stroke},
|
||||||
entity::ShapeBundle,
|
entity::ShapeBundle,
|
||||||
@ -13,7 +14,6 @@ use bevy_prototype_lyon::{
|
|||||||
plugin::ShapePlugin,
|
plugin::ShapePlugin,
|
||||||
};
|
};
|
||||||
use hexx::{EdgeDirection, Hex};
|
use hexx::{EdgeDirection, Hex};
|
||||||
use log::info;
|
|
||||||
use rand::{prelude::SliceRandom, rngs::ThreadRng, thread_rng};
|
use rand::{prelude::SliceRandom, rngs::ThreadRng, thread_rng};
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
@ -22,9 +22,28 @@ use super::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
pub(super) fn plugin(app: &mut App) {
|
pub(super) fn plugin(app: &mut App) {
|
||||||
app.add_plugins(ShapePlugin);
|
app.add_plugins((ShapePlugin, WireframePlugin));
|
||||||
app.init_resource::<MazeConfig>();
|
app.init_resource::<MazeConfig>();
|
||||||
app.init_resource::<Layout>();
|
app.init_resource::<Layout>();
|
||||||
|
app.insert_resource(WireframeConfig {
|
||||||
|
global: false,
|
||||||
|
..default()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(super) fn spawn_light(mut commands: Commands) {
|
||||||
|
commands.spawn((
|
||||||
|
Name::new("Light Source"),
|
||||||
|
PointLightBundle {
|
||||||
|
point_light: PointLight {
|
||||||
|
intensity: 5000.,
|
||||||
|
shadows_enabled: true,
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
transform: Transform::from_xyz(5., 10., 5.),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn spawn_hex_grid(mut commands: Commands, config: Res<MazeConfig>) {
|
pub(super) fn spawn_hex_grid(mut commands: Commands, config: Res<MazeConfig>) {
|
||||||
@ -109,7 +128,7 @@ fn remove_wall_between(
|
|||||||
|
|
||||||
fn add_hex_tile(
|
fn add_hex_tile(
|
||||||
commands: &mut Commands,
|
commands: &mut Commands,
|
||||||
position: Vec2,
|
position: Vec3,
|
||||||
size: f32,
|
size: f32,
|
||||||
tile: &Tile,
|
tile: &Tile,
|
||||||
walls: &Walls,
|
walls: &Walls,
|
||||||
@ -122,7 +141,7 @@ fn add_hex_tile(
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|v| {
|
.map(|v| {
|
||||||
let mut layout = layout.clone();
|
let mut layout = layout.clone();
|
||||||
layout.origin = position;
|
layout.origin = position.xy();
|
||||||
layout.hex_size = Vec2::splat(size);
|
layout.hex_size = Vec2::splat(size);
|
||||||
layout.hex_to_world_pos(v.origin + v.direction)
|
layout.hex_to_world_pos(v.origin + v.direction)
|
||||||
})
|
})
|
||||||
@ -137,34 +156,35 @@ fn add_hex_tile(
|
|||||||
let hexagon = path_builder.build();
|
let hexagon = path_builder.build();
|
||||||
|
|
||||||
// Create the hexagon fill
|
// Create the hexagon fill
|
||||||
commands.spawn((
|
commands
|
||||||
ShapeBundle {
|
.spawn((
|
||||||
path: hexagon,
|
ShapeBundle {
|
||||||
spatial: SpatialBundle {
|
path: hexagon,
|
||||||
transform: Transform::from_xyz(position.x, position.y, 0.),
|
spatial: SpatialBundle {
|
||||||
|
transform: Transform::from_xyz(position.x, position.y, 0.),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
..default()
|
..default()
|
||||||
},
|
},
|
||||||
..default()
|
Fill::color(fill_color),
|
||||||
},
|
))
|
||||||
Fill::color(fill_color),
|
.with_children(|p| {
|
||||||
));
|
p.spawn(Text2dBundle {
|
||||||
// .with_children(|p| {
|
text: Text {
|
||||||
// p.spawn(Text2dBundle {
|
sections: vec![TextSection {
|
||||||
// text: Text {
|
value: tile.to_string(),
|
||||||
// sections: vec![TextSection {
|
style: TextStyle {
|
||||||
// value: tile.to_string(),
|
font_size: 16.,
|
||||||
// style: TextStyle {
|
color: Color::BLACK,
|
||||||
// font_size: 16.,
|
..default()
|
||||||
// color: Color::BLACK,
|
},
|
||||||
// ..default()
|
}],
|
||||||
// },
|
..default()
|
||||||
// }],
|
},
|
||||||
// ..default()
|
transform: Transform::from_xyz(position.x * 2., position.y * 2., 1.),
|
||||||
// },
|
..default()
|
||||||
// transform: Transform::from_xyz(position.x * 2., position.y * 2., 1.),
|
});
|
||||||
// ..default()
|
});
|
||||||
// });
|
|
||||||
// });
|
|
||||||
|
|
||||||
// Draw walls
|
// Draw walls
|
||||||
for direction in EdgeDirection::iter() {
|
for direction in EdgeDirection::iter() {
|
||||||
@ -199,7 +219,7 @@ pub(super) fn render_maze(
|
|||||||
config: Res<MazeConfig>,
|
config: Res<MazeConfig>,
|
||||||
) {
|
) {
|
||||||
for (tile, walls) in query.iter() {
|
for (tile, walls) in query.iter() {
|
||||||
let world_pos = layout.hex_to_world_pos(tile.hex);
|
let world_pos = layout.hex_to_world_pos(tile.hex).extend(0.);
|
||||||
let fill_color = match tile.hex {
|
let fill_color = match tile.hex {
|
||||||
pos if pos == config.start_pos => GREEN.into(),
|
pos if pos == config.start_pos => GREEN.into(),
|
||||||
pos if pos == config.end_pos => RED.into(),
|
pos if pos == config.end_pos => RED.into(),
|
||||||
|
|||||||
@ -2,8 +2,9 @@ use bevy::{
|
|||||||
ecs::{system::RunSystemOnce, world::Command},
|
ecs::{system::RunSystemOnce, world::Command},
|
||||||
prelude::*,
|
prelude::*,
|
||||||
};
|
};
|
||||||
use grid::{generate_maze, plugin, render_maze, spawn_hex_grid};
|
use grid::{generate_maze, plugin, render_maze, spawn_hex_grid, spawn_light};
|
||||||
pub mod grid;
|
pub mod grid;
|
||||||
|
pub mod prism;
|
||||||
pub mod resource;
|
pub mod resource;
|
||||||
pub mod tile;
|
pub mod tile;
|
||||||
|
|
||||||
@ -17,9 +18,11 @@ impl Plugin for MazePlugin {
|
|||||||
|
|
||||||
impl Command for MazePlugin {
|
impl Command for MazePlugin {
|
||||||
fn apply(self, world: &mut World) {
|
fn apply(self, world: &mut World) {
|
||||||
world.run_system_once(spawn_hex_grid);
|
// world.run_system_once(spawn_hex_grid);
|
||||||
world.run_system_once(generate_maze);
|
// world.run_system_once(generate_maze);
|
||||||
world.run_system_once(render_maze);
|
// world.run_system_once(render_maze);
|
||||||
|
world.run_system_once(spawn_light);
|
||||||
|
world.run_system_once(prism::setup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
64
src/maze/prism.rs
Normal file
64
src/maze/prism.rs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
use bevy::prelude::*;
|
||||||
|
use std::f32::consts::FRAC_PI_2;
|
||||||
|
|
||||||
|
#[derive(Debug, Reflect, Component)]
|
||||||
|
#[reflect(Component)]
|
||||||
|
struct Prism {
|
||||||
|
radius: f32,
|
||||||
|
height: f32,
|
||||||
|
}
|
||||||
|
|
||||||
|
struct PrismParams {
|
||||||
|
positions: Vec3,
|
||||||
|
radius: f32,
|
||||||
|
height: f32,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(super) fn setup(
|
||||||
|
mut commands: Commands,
|
||||||
|
mut meshes: ResMut<Assets<Mesh>>,
|
||||||
|
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||||
|
) {
|
||||||
|
let prism_material = materials.add(Color::WHITE);
|
||||||
|
|
||||||
|
let prisms = vec![
|
||||||
|
PrismParams {
|
||||||
|
positions: Vec3::new(-3., 0., 0.),
|
||||||
|
radius: 1.,
|
||||||
|
height: 2.,
|
||||||
|
},
|
||||||
|
PrismParams {
|
||||||
|
positions: Vec3::new(0., 0., 0.),
|
||||||
|
radius: 1.5,
|
||||||
|
height: 2.5,
|
||||||
|
},
|
||||||
|
PrismParams {
|
||||||
|
positions: Vec3::new(3., 0., 0.),
|
||||||
|
radius: 0.8,
|
||||||
|
height: 1.5,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
for params in prisms {
|
||||||
|
let hexagon = RegularPolygon {
|
||||||
|
sides: 6,
|
||||||
|
circumcircle: Circle::new(params.radius),
|
||||||
|
};
|
||||||
|
let prism_shape = Extrusion::new(hexagon, params.height);
|
||||||
|
let prism_mesh = meshes.add(Mesh::from(prism_shape));
|
||||||
|
|
||||||
|
commands.spawn((
|
||||||
|
PbrBundle {
|
||||||
|
mesh: prism_mesh,
|
||||||
|
material: prism_material.clone(),
|
||||||
|
transform: Transform::from_translation(params.positions)
|
||||||
|
.with_rotation(Quat::from_rotation_x(FRAC_PI_2)),
|
||||||
|
..default()
|
||||||
|
},
|
||||||
|
Prism {
|
||||||
|
radius: params.radius,
|
||||||
|
height: params.height,
|
||||||
|
},
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user