Files
settled-reach/docs/sprints/sprint-4/client.md
T
jpmschweitzerandClaude Opus 4.6 bccdcfcdcb docs(docs): add frontmatter to all sprint briefings
Standardized YAML frontmatter on all 115 sprint briefing files across
sprints 1-26 with title, description, type, status, sprint number, and
team fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 00:15:45 +01:00

61 lines
2.7 KiB
Markdown

---
title: "Sprint 4 — Client Briefing"
description: "Interaction prompt carry-over from Sprint 3, content-focused sprint"
type: sprint
status: archived
sprint: 4
team: "client"
---
# Sprint 4: Feel — Client Tasks
**Goal:** Content conversion and authoring begins — wiki to YAML, content packs, monologue pool
**Branch:** `client`
**Agents:** Stig (client dev), Tyre (architecture), Hoshe (QA)
## Carry-over from Sprint 3
| # | Title | Status | Notes |
|---|-------|--------|-------|
| #405 | Interaction prompt — client extensible prompt system | in_progress | Stig has this. Server-side blocker (#404) is done. |
## New Tickets
None. Sprint 4 is content-focused. Client work resumes in Sprint 5 when content systems need rendering support.
## Key Decisions
- `decisions/architecture.md` — D-020 (IPC protocol, ObserverSnapshot)
- Workshop outputs: v0.1 interaction verb spec (#402, done in Sprint 3)
## Notes
**Interaction prompt (#405 carry-over):**
Client-side interaction prompt designed for extensibility. v0.1: single context-sensitive E prompt. Architecture supports v0.2 multi-verb menu.
- **What exists:**
- Server proximity detection + `InteractionOptions` component (#404, done in Sprint 3)
- ObserverSnapshot v3 protocol extension (sends interaction data to client)
- Existing HUD rendering at `client/scripts/rendering/hud.gd`
- **What to deliver:** Client-side prompt system that reads `InteractionOptions` from server state and displays appropriate UI. v0.1 behavior: show "E: Talk" or "E: Examine" (picks first/best verb automatically). Must be architecturally ready for v0.2 multi-verb context menu without rewrite.
- **Integration:** Ties into existing input handling (`client/scripts/autoloads/input_handler.gd`). When E is pressed and prompt is active, send interaction command to server via IPC bridge.
- **Files:** New GDScript file at `client/scripts/rendering/interaction_prompt.gd`, integration into existing `hud.gd`
- **Definition of done:** Prompt appears when player is near interactable entity. Pressing E triggers interaction. Prompt updates when available verbs change. No multi-verb menu yet (that's v0.2) but architecture supports it.
This is the last client infrastructure piece before content rendering begins. Sprint 5 will have dialogue rendering, knowledge panel UI, and other content-driven features.
## Dependency Chain
```
#405 (interaction prompt) → Sprint 5 dialogue rendering
```
## PR Workflow
When ready to submit, create a PR with `tea` CLI. **All flags are required** to avoid TTY prompts (see CLAUDE.md "Gitea access" section):
```bash
tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(client): description" --description "body" --base main --head client
```