--- title: "Sprint 17 — Client Briefing" description: "Time display on insert HUD, E-Talk overlay improvement" type: sprint status: archived sprint: 17 team: "client" --- # Sprint 17: Tell — Client Tasks **Goal:** NPCs volunteer information unprompted and express personality through delivery; the player can read time and orientation at a glance from the insert HUD; POI infrastructure lands on the server. **Branch:** `client` **Agents:** Stig (UI), Tyre (arch), Hoshe (QA) ## Carry-over from Sprint 16 None. Sprint 16 client tickets (#540, #543) will close before Sprint 17. ## New Tickets | # | Title | Blocked by | |---|-------|------------| | #263 | Time display on insert HUD | — | | #537 | UX: E-Talk overlay improvement | — | Use `db/connectors/ticket show ` for full details. ## Key Decisions - `decisions/perception.md` — D-019 (camera angle), D-033 (entity color) - `decisions/architecture.md` — D-020 (Godot client + Rust server via IPC) - `decisions/scope.md` — D-051 (diegetic insert/minimap) ## Notes ### #263 — Time display on insert HUD **What exists:** The client has `client/scripts/ui/debug_overlay.gd` for debug display. The insert HUD concept is defined in D-051 but no insert UI code exists yet. `client/scripts/rendering/world_renderer.gd` handles the main rendering pipeline. The server sends `SimulationTime` data in `ObserverSnapshot` (see `server/src/bridge/types.rs`). **What to deliver:** A diegetic time display on the player's insert/HUD. The player needs to know the current game time for routine-based investigation (NPC schedules, shift changes). Should show time in the station's local format, not abstract tick counts. **Design dependency:** #314 (visual, this sprint) produces the insert/HUD wireframe. Coordinate with Araminta's output for placement and visual style. Can start with a placeholder layout and refine after the wireframe lands. **Integration:** Reads `SimulationTime` from the snapshot. No new server work required — time data is already in the protocol. ### #537 — UX: E-Talk overlay improvement **What exists:** The E-Talk interaction overlay appears when adjacent to an NPC. Playtester feedback says it doesn't communicate enough value — the overlay appears but doesn't convey what talking will accomplish or what access tier is available. **What to deliver:** Improve the overlay to show: NPC name (if known from KG), relationship state color (from `RelationshipState` in snapshot), and a hint of available dialogue tier (surface/real/secret based on trust level). The goal is to make the player feel informed before committing to a conversation. **Integration:** All data needed is already in `ObserverSnapshot` — the `VisibleEntity` includes `relationship` state and `known_attributes`. No server changes needed. ## Dependency Chain ``` #263 (Time display) → standalone #537 (E-Talk UX) → standalone Both can run in parallel. ``` ## PR Workflow When ready to submit, create a PR with `tea` CLI: ```bash tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(client): sprint 17 description" --description "body" --base main --head client ```