From b011b13180b8761cfee78700788945fbb2834362 Mon Sep 17 00:00:00 2001 From: core Date: Sun, 9 Mar 2025 18:38:09 -0400 Subject: [PATCH] client persistence --- Cargo.lock | 50 ++++++++++- crates/client/Cargo.toml | 3 +- crates/client/dist/index.html | 6 +- ...66.js => wxbox-client-4ab39f9996332d21.js} | 54 +++++++++--- .../wxbox-client-4ab39f9996332d21_bg.wasm | Bin 0 -> 9910364 bytes .../wxbox-client-80142735797f0966_bg.wasm | Bin 4523557 -> 0 bytes crates/client/src/app.rs | 34 ++++++- crates/client/src/map.rs | 83 ++++++++++++++---- crates/client/src/map/render.rs | 3 +- crates/client/src/map/tiles.rs | 5 +- 10 files changed, 200 insertions(+), 38 deletions(-) rename crates/client/dist/{wxbox-client-80142735797f0966.js => wxbox-client-4ab39f9996332d21.js} (96%) create mode 100644 crates/client/dist/wxbox-client-4ab39f9996332d21_bg.wasm delete mode 100644 crates/client/dist/wxbox-client-80142735797f0966_bg.wasm diff --git a/Cargo.lock b/Cargo.lock index ac7da51..3248668 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,6 +23,10 @@ name = "accesskit" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3d3b8f9bae46a948369bc4a03e815d4ed6d616bd00de4051133a5019dc31c5a" +dependencies = [ + "enumn", + "serde", +] [[package]] name = "accesskit_atspi_common" @@ -138,7 +142,7 @@ dependencies = [ "actix-service", "actix-utils", "ahash", - "base64", + "base64 0.22.1", "bitflags 2.9.0", "brotli", "bytes", @@ -317,6 +321,7 @@ dependencies = [ "cfg-if", "getrandom", "once_cell", + "serde", "version_check", "zerocopy", ] @@ -708,6 +713,12 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + [[package]] name = "base64" version = "0.22.1" @@ -1221,6 +1232,7 @@ checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1" dependencies = [ "bytemuck", "emath", + "serde", ] [[package]] @@ -1239,6 +1251,7 @@ dependencies = [ "glow", "glutin", "glutin-winit", + "home", "image", "js-sys", "log", @@ -1249,6 +1262,8 @@ dependencies = [ "percent-encoding", "profiling", "raw-window-handle", + "ron", + "serde", "static_assertions", "wasm-bindgen", "wasm-bindgen-futures", @@ -1273,6 +1288,8 @@ dependencies = [ "log", "nohash-hasher", "profiling", + "ron", + "serde", ] [[package]] @@ -1309,6 +1326,7 @@ dependencies = [ "log", "profiling", "raw-window-handle", + "serde", "smithay-clipboard", "web-time", "webbrowser", @@ -1360,6 +1378,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b" dependencies = [ "bytemuck", + "serde", ] [[package]] @@ -1404,6 +1423,17 @@ dependencies = [ "syn", ] +[[package]] +name = "enumn" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "epaint" version = "0.31.1" @@ -1420,6 +1450,7 @@ dependencies = [ "nohash-hasher", "parking_lot", "profiling", + "serde", ] [[package]] @@ -3404,7 +3435,7 @@ version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "encoding_rs", "futures-core", @@ -3462,6 +3493,18 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "ron" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" +dependencies = [ + "base64 0.21.7", + "bitflags 2.9.0", + "serde", + "serde_derive", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -4382,7 +4425,7 @@ version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ - "base64", + "base64 0.22.1", "flate2", "log", "once_cell", @@ -5200,6 +5243,7 @@ dependencies = [ "image", "nalgebra-glm", "poll-promise", + "serde", "tracing", "tracing-subscriber", "tracing-web", diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 043a431..85d091d 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] tracing = "0.1" tracing-subscriber = "0.3" -eframe = { version = "0.31" } +eframe = { version = "0.31", features = ["persistence"] } glow = "*" egui_glow = "0.31" egui = "0.31" @@ -15,6 +15,7 @@ ehttp = "0.5" image = "0.25" bytemuck = "1.22" nalgebra-glm = "0.19" +serde = { version = "1", features = ["derive"] } [target.'cfg(target_arch = "wasm32")'.dependencies] tracing-web = "0.1" diff --git a/crates/client/dist/index.html b/crates/client/dist/index.html index af80c98..6c17341 100644 --- a/crates/client/dist/index.html +++ b/crates/client/dist/index.html @@ -94,7 +94,7 @@ } } - + @@ -111,8 +111,8 @@