rhai's default feature set is ["std", "ahash/runtime-rng"]. The second half
seeds hash maps from OS entropy, which is a run-to-run variation source
living under a crate whose whole promise is byte-identical replays — and it
pulls getrandom, which has no backend on wasm32-unknown-unknown, so the
browser build could not compile at all.
Dropping it leaves ahash on its compile-time seed. The canonical Neon
Precinct playthrough produces byte-identical events before and after, and
the suite is green.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
AI lane (ported from MRPGI): unknown typed sentences go to a local LLM (MRPCI_AI: ollama default / openrouter / off) that maps them onto already-legal commands; one in flight, polled per tick, hard-off under --script so replays stay byte-identical. Portraits: NPCs/props gain a portrait sprite drawn beside the dialogue window in the GUI (6x) and annotated frames (2x); sergeant + vend-bot faces in the demo. Also: --script + --render-room renders the frame a replay ends on. Verified: 5 test suites green, deterministic 25/25 playthrough, GUI boots.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>