| """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. | |
| """ | |