Create crate for gui

This commit is contained in:
fluo10 2025-05-14 08:01:14 +09:00
parent 381f3ffcfc
commit 40450c72fe
4 changed files with 479 additions and 1 deletions

460
Cargo.lock generated
View file

@ -131,6 +131,17 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71938f30533e4d95a6d17aa530939da3842c2ab6f4f84b9dae68447e4129f74a"
[[package]]
name = "assert_type_match"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f548ad2c4031f2902e3edc1f29c29e835829437de49562d8eb5dc5584d3a1043"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "async-attributes"
version = "1.1.2"
@ -369,6 +380,9 @@ name = "async-task"
version = "4.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
dependencies = [
"portable-atomic",
]
[[package]]
name = "async-trait"
@ -395,6 +409,9 @@ name = "atomic-waker"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
dependencies = [
"portable-atomic",
]
[[package]]
name = "autocfg"
@ -492,6 +509,280 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1"
[[package]]
name = "bevy"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a5cd3b24a5adb7c7378da7b3eea47639877643d11b6b087fc8a8094f2528615"
dependencies = [
"bevy_internal",
]
[[package]]
name = "bevy_app"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2b6267ac23a9947d5b2725ff047a1e1add70076d85fa9fb73d044ab9bea1f3c"
dependencies = [
"bevy_derive",
"bevy_ecs",
"bevy_platform",
"bevy_reflect",
"bevy_tasks",
"bevy_utils",
"cfg-if",
"downcast-rs",
"log",
"thiserror 2.0.12",
"variadics_please",
]
[[package]]
name = "bevy_derive"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f626531b9c05c25a758ede228727bd11c2c2c8498ecbed9925044386d525a2a3"
dependencies = [
"bevy_macro_utils",
"quote",
"syn 2.0.100",
]
[[package]]
name = "bevy_diagnostic"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048a1ff3944a534b8472516866284181eef0a75b6dd4d39b6e5925715e350766"
dependencies = [
"bevy_app",
"bevy_ecs",
"bevy_platform",
"bevy_tasks",
"bevy_time",
"bevy_utils",
"const-fnv1a-hash",
"log",
]
[[package]]
name = "bevy_ecs"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9e807b5d9aab3bb8dfe47e7a44c9ff088bad2ceefe299b80ac77609a87fe9d4"
dependencies = [
"bevy_ecs_macros",
"bevy_platform",
"bevy_ptr",
"bevy_reflect",
"bevy_tasks",
"bevy_utils",
"bitflags",
"bumpalo",
"concurrent-queue",
"derive_more",
"disqualified",
"fixedbitset",
"indexmap",
"log",
"nonmax",
"smallvec",
"thiserror 2.0.12",
"variadics_please",
]
[[package]]
name = "bevy_ecs_macros"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "467d7bb98aeb8dd30f36e6a773000c12a891d4f1bee2adc3841ec89cc8eaf54e"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "bevy_input"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "763410715714f3d4d2dcdf077af276e2e4ea93fd8081b183d446d060ea95baaa"
dependencies = [
"bevy_app",
"bevy_ecs",
"bevy_math",
"bevy_platform",
"bevy_reflect",
"bevy_utils",
"derive_more",
"log",
"thiserror 2.0.12",
]
[[package]]
name = "bevy_internal"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "526ffd64c58004cb97308826e896c07d0e23dc056c243b97492e31cdf72e2830"
dependencies = [
"bevy_app",
"bevy_derive",
"bevy_diagnostic",
"bevy_ecs",
"bevy_input",
"bevy_math",
"bevy_platform",
"bevy_ptr",
"bevy_reflect",
"bevy_tasks",
"bevy_time",
"bevy_transform",
"bevy_utils",
]
[[package]]
name = "bevy_macro_utils"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2473db70d8785b5c75d6dd951a2e51e9be2c2311122db9692c79c9d887517b"
dependencies = [
"parking_lot",
"proc-macro2",
"quote",
"syn 2.0.100",
"toml_edit",
]
[[package]]
name = "bevy_math"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1a3a926d02dc501c6156a047510bdb538dcb1fa744eeba13c824b73ba88de55"
dependencies = [
"bevy_reflect",
"derive_more",
"glam",
"itertools",
"libm",
"rand 0.8.5",
"rand_distr",
"serde",
"smallvec",
"thiserror 2.0.12",
"variadics_please",
]
[[package]]
name = "bevy_platform"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704db2c11b7bc31093df4fbbdd3769f9606a6a5287149f4b51f2680f25834ebc"
dependencies = [
"cfg-if",
"foldhash",
"hashbrown",
"portable-atomic",
"portable-atomic-util",
"serde",
"spin",
]
[[package]]
name = "bevy_ptr"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f1275dfb4cfef4ffc90c3fa75408964864facf833acc932413d52aa5364ba4"
[[package]]
name = "bevy_reflect"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "607ebacc31029cf2f39ac330eabf1d4bc411b159528ec08dbe6b0593eaccfd41"
dependencies = [
"assert_type_match",
"bevy_platform",
"bevy_ptr",
"bevy_reflect_derive",
"bevy_utils",
"derive_more",
"disqualified",
"downcast-rs",
"erased-serde",
"foldhash",
"glam",
"serde",
"smallvec",
"thiserror 2.0.12",
"variadics_please",
]
[[package]]
name = "bevy_reflect_derive"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf35e45e4eb239018369f63f2adc2107a54c329f9276d020e01eee1625b0238b"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
"quote",
"syn 2.0.100",
"uuid",
]
[[package]]
name = "bevy_tasks"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "444c450b65e108855f42ecb6db0c041a56ea7d7f10cc6222f0ca95e9536a7d19"
dependencies = [
"async-task",
"atomic-waker",
"bevy_platform",
"cfg-if",
"crossbeam-queue",
"derive_more",
"futures-lite",
"heapless",
]
[[package]]
name = "bevy_time"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456369ca10f8e039aaf273332744674844827854833ee29e28f9e161702f2f55"
dependencies = [
"bevy_app",
"bevy_ecs",
"bevy_platform",
"bevy_reflect",
"log",
]
[[package]]
name = "bevy_transform"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8479cdd5461246943956a7c8347e4e5d6ff857e57add889fb50eee0b5c26ab48"
dependencies = [
"bevy_app",
"bevy_ecs",
"bevy_math",
"bevy_reflect",
"bevy_tasks",
"derive_more",
"serde",
"thiserror 2.0.12",
]
[[package]]
name = "bevy_utils"
version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac2da3b3c1f94dadefcbe837aaa4aa119fcea37f7bdc5307eb05b4ede1921e24"
dependencies = [
"bevy_platform",
]
[[package]]
name = "bitflags"
version = "2.9.0"
@ -538,6 +829,12 @@ version = "3.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
[[package]]
name = "bytemuck"
version = "1.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c"
[[package]]
name = "byteorder"
version = "1.5.0"
@ -658,8 +955,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
dependencies = [
"crossbeam-utils",
"portable-atomic",
]
[[package]]
name = "const-fnv1a-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32b13ea120a812beba79e34316b3942a857c86ec1593cb34f27bb28272ce2cca"
[[package]]
name = "const-oid"
version = "0.9.6"
@ -857,6 +1161,27 @@ dependencies = [
"zeroize",
]
[[package]]
name = "derive_more"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05"
dependencies = [
"derive_more-impl",
]
[[package]]
name = "derive_more-impl"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
"unicode-xid",
]
[[package]]
name = "digest"
version = "0.10.7"
@ -901,6 +1226,12 @@ dependencies = [
"syn 2.0.100",
]
[[package]]
name = "disqualified"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9c272297e804878a2a4b707cfcfc6d2328b5bb936944613b4fdf2b9269afdfd"
[[package]]
name = "dotenv"
version = "0.15.0"
@ -913,6 +1244,12 @@ version = "0.15.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
[[package]]
name = "downcast-rs"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea8a8b81cacc08888170eef4d13b775126db426d0b348bee9d18c2c1eaf123cf"
[[package]]
name = "either"
version = "1.15.0"
@ -937,6 +1274,16 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "erased-serde"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
dependencies = [
"serde",
"typeid",
]
[[package]]
name = "errno"
version = "0.3.11"
@ -1000,6 +1347,12 @@ version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "fixedbitset"
version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99"
[[package]]
name = "flume"
version = "0.11.1"
@ -1203,6 +1556,17 @@ version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
[[package]]
name = "glam"
version = "0.29.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8babf46d4c1c9d92deac9f7be466f76dfc4482b6452fc5024b5e8daf6ffeb3ee"
dependencies = [
"bytemuck",
"libm",
"serde",
]
[[package]]
name = "glob"
version = "0.3.2"
@ -1235,6 +1599,15 @@ dependencies = [
"thiserror 1.0.69",
]
[[package]]
name = "hash32"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606"
dependencies = [
"byteorder",
]
[[package]]
name = "hashbrown"
version = "0.15.2"
@ -1244,6 +1617,7 @@ dependencies = [
"allocator-api2",
"equivalent",
"foldhash",
"serde",
]
[[package]]
@ -1255,6 +1629,17 @@ dependencies = [
"hashbrown",
]
[[package]]
name = "heapless"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad"
dependencies = [
"hash32",
"portable-atomic",
"stable_deref_trait",
]
[[package]]
name = "heck"
version = "0.4.1"
@ -1584,6 +1969,15 @@ version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "itertools"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.15"
@ -1821,6 +2215,12 @@ dependencies = [
"tempfile",
]
[[package]]
name = "nonmax"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51"
[[package]]
name = "num-bigint-dig"
version = "0.8.4"
@ -2178,6 +2578,21 @@ dependencies = [
"windows-sys 0.59.0",
]
[[package]]
name = "portable-atomic"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
[[package]]
name = "portable-atomic-util"
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
dependencies = [
"portable-atomic",
]
[[package]]
name = "ppv-lite86"
version = "0.2.21"
@ -2279,6 +2694,15 @@ dependencies = [
"toml",
]
[[package]]
name = "progress-pile-gui"
version = "0.1.0"
dependencies = [
"bevy",
"progress-pile-client",
"wasm-bindgen",
]
[[package]]
name = "progress-pile-migration"
version = "0.1.0"
@ -2383,6 +2807,16 @@ dependencies = [
"getrandom 0.3.2",
]
[[package]]
name = "rand_distr"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
dependencies = [
"num-traits",
"rand 0.8.5",
]
[[package]]
name = "redox_syscall"
version = "0.5.11"
@ -2911,6 +3345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
dependencies = [
"lock_api",
"portable-atomic",
]
[[package]]
@ -3516,6 +3951,12 @@ dependencies = [
"utf-8",
]
[[package]]
name = "typeid"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
[[package]]
name = "typenum"
version = "1.18.0"
@ -3555,6 +3996,12 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
[[package]]
name = "unicode-xid"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "untrusted"
version = "0.9.0"
@ -3603,7 +4050,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9"
dependencies = [
"getrandom 0.3.2",
"js-sys",
"serde",
"wasm-bindgen",
]
[[package]]
@ -3612,6 +4061,17 @@ version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5"
[[package]]
name = "variadics_please"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41b6d82be61465f97d42bd1d15bf20f3b0a3a0905018f38f9d6f6962055b0b5c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.100",
]
[[package]]
name = "vcpkg"
version = "0.2.15"

View file

@ -6,7 +6,7 @@ edition = "2024"
[features]
default = ["desktop"]
desktop = ["dep:clap", "progress-pile-core/desktop", "dep:progress-pile-migration", "dep:sea-orm", "tokio/io-util", "tokio/fs"]
wasm = []
web = []
[dependencies]
chrono.workspace = true

View file

@ -0,0 +1,15 @@
[package]
name = "progress-pile-gui"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
[features]
web = ["progress-pile-client/web", "dep:wasm-bindgen" ]
desktop = ["progress-pile-client/desktop"]
[dependencies]
bevy = { version = "0.16.0", default-features = false }
progress-pile-client.workspace = true
wasm-bindgen = { version = "0.2.100", optional = true }

View file

@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}