MRPCI/mrpci-core/Cargo.toml
m3ultra c83c90711d MRPCI v0.1 — the SCI-generation Monster Robot Party engine
Headless core (mrpci-core) + macroquad GUI (mrpci), inheriting MRPGI's
Command/Event bus architecture and jumping a Sierra generation:

- 256-color palettes with live median-cut quantization + palette cycling
- four screens: visual / priority / control / hotspot
- A* pathfinding with LOS-verified edges and line-exact path following
- perspective scale tables (actors shrink toward the horizon)
- point-and-click verb bar AND a text parser, one shared verb pipeline
- rhai room scripts (on_enter/on_verb/on_trigger + after() tick timers)
- deterministic 30Hz cycles, seeded RNG — byte-identical script replays
- checkpoint at room entry; death rewinds instead of restarting
- save-anywhere slots; multi-voice chip synth; JSONL/HTTP/MCP surfaces
- demo game: Neon Precinct (3 rooms, 25 points, one merciful fusebox)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 22:52:39 +10:00

23 lines
989 B
TOML

[package]
name = "mrpci-core"
version = "0.1.0"
edition = "2021"
description = "MRPCI headless engine core — the SCI-generation sim: 256-color rooms, walkbox pathfinding, rhai scripts, and the command/event bus. 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
# Room logic. "sync" keeps the engine Send+Sync (the HTTP surface shares
# GameState across threads); "no_time" bans wall-clock from scripts, so a
# replayed script is bit-identical — the whole CPU-speed-bug class, deleted.
rhai = { version = "1", features = ["sync", "no_time"] }
# Native-only: the HTTP surface doesn't exist in browser builds.
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tiny_http = "0.12" # the --serve control surface
[[bin]]
name = "mrpci-headless"
path = "src/bin/mrpci-headless/main.rs"