- mrpgi-core: ureq/tiny_http/threads are native-only deps; the AI lane compiles to an always-off stub on wasm32 (deterministic parser stays). - World::from_memory + assets::cel_from_bytes — boot a game with no filesystem. - mrpgi GUI on wasm: embeds games/lost-fuse via include_dir, boots straight into Play (Tab still opens the editor; saving needs a disk, so web is play + paint-only for now). - web/: index.html shell + macroquad JS loader + build.sh producing a self-contained static web/dist (1.1 MB total, game included). - .cargo/config.toml: --allow-undefined for miniquad's JS imports. Verified in-browser: renders, typed commands reach the parser, click-to-walk works, zero console errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
21 lines
882 B
TOML
21 lines
882 B
TOML
[package]
|
|
name = "mrpgi-core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "MRPGI headless engine core — the sim, parser, renderer and control surfaces. Zero windowing dependencies: a compile error is the guardrail."
|
|
|
|
[dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
image = { version = "0.24", default-features = false, features = ["png"] } # PNG-only: lean builds
|
|
|
|
# Native-only: the AI lane and the HTTP surface don't exist in browser builds
|
|
# (wasm gets the deterministic parser and a baked-in game).
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
ureq = { version = "2", features = ["json", "tls"] } # AI parser lane: Ollama / OpenRouter HTTP
|
|
tiny_http = "0.12" # the --serve control surface; ponytail: swap for axum+WS if streaming push is ever needed
|
|
|
|
[[bin]]
|
|
name = "mrpgi-headless"
|
|
path = "src/bin/mrpgi-headless/main.rs"
|