# 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 ```