- mrpgi-vault (standalone crate): tiny signup/login/world-save service. Argon2 password hashes, random session cookies, JSON-file storage, naive per-IP rate limit, 4MB body cap. tiny_http, no framework, no db. Runs as a container on the dealgod network; nginx proxies /engine/api/ to it. - core: WorldBundle — a whole world (manifest + every room) as one JSON document, with World::to_bundle/apply_bundle. - web bridge: mrpgi_request_save / mrpgi_alloc / mrpgi_world_in exports + an mrpgi_world_saved JS plugin import; the page's SAVE button pulls the live world out of the running engine, LOAD swaps it back in. SAVE_REQUESTED is an AtomicBool on purpose — wasm's thread-less Mutex<bool> is a plain static to LLVM and release builds const-folded the read (the only writer is JS-visible, not IR-visible). - web UI: SIGN IN tab → create account (own username + password) / sign in / Save world / Load world / sign out. Session restores on revisit. Verified live end-to-end through Cloudflare: signup → save → reload → anonymous rejected; throwaway account removed after. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
23 lines
6.7 KiB
D
23 lines
6.7 KiB
D
/Users/johnking/Documents/MRPGI/mrpgi-vault/target/release/deps/serde_json-ec42333137e33df7.d: /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/lib.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/macros.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/error.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/map.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/from.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/index.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/partial_eq.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/io/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/iter.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/number.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/read.rs
|
|
|
|
/Users/johnking/Documents/MRPGI/mrpgi-vault/target/release/deps/libserde_json-ec42333137e33df7.rlib: /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/lib.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/macros.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/error.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/map.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/from.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/index.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/partial_eq.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/io/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/iter.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/number.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/read.rs
|
|
|
|
/Users/johnking/Documents/MRPGI/mrpgi-vault/target/release/deps/libserde_json-ec42333137e33df7.rmeta: /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/lib.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/macros.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/error.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/map.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/de.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/from.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/index.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/partial_eq.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/ser.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/io/mod.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/iter.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/number.rs /Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/read.rs
|
|
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/lib.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/macros.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/de.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/error.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/map.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/ser.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/mod.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/de.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/from.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/index.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/partial_eq.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/value/ser.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/io/mod.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/iter.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/number.rs:
|
|
/Users/johnking/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.150/src/read.rs:
|