32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# /client/docs
|
|
|
|
Client-specific documentation. Scoped to the Godot project.
|
|
|
|
Put here:
|
|
|
|
- Scene tree / autoload structure
|
|
- Input model — menu vs free-text boundary, which must be visible (§15)
|
|
- Combat wiring — deterministic damage, per-encounter seeding (§10)
|
|
- Canon log data structure and fact-harvesting (§11)
|
|
- HTTP client + fallback-degradation handling (§13)
|
|
|
|
Cross-cutting design (anything touching both client and api) goes in the root [`/docs`](../../docs), not here.
|
|
|
|
## Narrate live smoke (M2 client HTTP loop)
|
|
|
|
The `narrate_harness` scene is a throwaway proof of the client → `/dm/narrate`
|
|
loop. It is not the game UI.
|
|
|
|
**Prereqs:** the proxy running and Ollama reachable.
|
|
|
|
1. Start the proxy: from `api/`, `uvicorn app.main:app --port 8000` (with the
|
|
`.env` from `.env.example`; Ollama up at `OLLAMA_BASE_URL`).
|
|
2. In the Godot editor, open `res://scenes/narrate_harness.tscn` and run it (F6).
|
|
3. Click **Narrate this scene**. Expect grounded prose in the Narrator's voice
|
|
(referencing Greywater / Brannoc / the washed-out bridge), tags stripped, and
|
|
`facts harvested: N` with N ≥ 0.
|
|
4. **Degraded path:** stop the proxy and click again. Expect the authored
|
|
fallback line and `(degraded)` in the status — never an error.
|
|
|
|
Override the proxy URL with the `coc_rpg/proxy_base_url` project setting.
|