- Write sprint 17 briefings for server, client, copy, visual, joint - Add Knowledge Flow & NPC Boundaries workshop brief - Close Q-025 (KG cap/eviction not needed at current scale) - Assign 9 tickets to Sprint 17: Tell Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.9 KiB
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 <id> 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:
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(client): sprint 17 description" --description "body" --base main --head client