Files
settled-reach/docs/sprints/sprint-4/client.md
T
jpmschweitzerandClaude Opus 4.6 d1cb0d129d docs(sprints): add sprint 4 "Feel" team briefings
Content conversion and authoring sprint — 19 tickets across copy (8),
server (9), client (1 carry-over), and CI (1). Critical path runs
through wiki→YAML NPC conversion (#398) to content loader (#408).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:02:28 +01:00

2.5 KiB

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):

tea pr create --repo jpmschweitzer/settled-reach --login schweitz --title "feat(client): description" --description "body" --base main --head client