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>
52 lines
2.5 KiB
Markdown
52 lines
2.5 KiB
Markdown
# 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
|
|
```
|