feat(persistence): add high score saving/loading

Add HighScore resource, persistence module with save/load, and
integration tests. Dependencies: serde, serde_json, dirs.
This commit is contained in:
Harald Hoyer 2026-05-07 23:30:59 +02:00
parent 459e8a2353
commit 060a9a2a14
6 changed files with 189 additions and 3 deletions

47
Cargo.lock generated
View file

@ -1638,7 +1638,10 @@ name = "bglga"
version = "0.1.0"
dependencies = [
"bevy",
"dirs",
"fastrand",
"serde",
"serde_json",
]
[[package]]
@ -2189,6 +2192,27 @@ dependencies = [
"unicode-xid",
]
[[package]]
name = "dirs"
version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs-sys"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
dependencies = [
"libc",
"option-ext",
"redox_users",
"windows-sys 0.61.2",
]
[[package]]
name = "dispatch"
version = "0.2.0"
@ -2587,7 +2611,7 @@ dependencies = [
"vec_map",
"wasm-bindgen",
"web-sys",
"windows 0.58.0",
"windows 0.61.3",
]
[[package]]
@ -3376,7 +3400,7 @@ version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]
@ -3710,6 +3734,12 @@ version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "option-ext"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
name = "orbclient"
version = "0.3.48"
@ -4063,6 +4093,17 @@ dependencies = [
"bitflags 2.9.0",
]
[[package]]
name = "redox_users"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
dependencies = [
"getrandom 0.2.15",
"libredox",
"thiserror 2.0.18",
]
[[package]]
name = "regex"
version = "1.11.1"
@ -4172,7 +4213,7 @@ dependencies = [
"errno",
"libc",
"linux-raw-sys 0.12.1",
"windows-sys 0.59.0",
"windows-sys 0.61.2",
]
[[package]]