"""frontend/server — Gradio-served turn endpoint wrapping the finished backend engine. Modules: session.py GameSession: staged chaos -> one dispatcher call -> advance -> RenderState render_state.py engine state -> schemas/render_state.schema.json dict (pure view) app.py FastAPI app: POST /turn, POST /model, static SPA + sprites, gr.mount_gradio_app test_server.py headless test driver (FakeLLM stub, schema validation, determinism) The backend in /backend is CANON — these modules only import it (sys.path insert), never modify it. """