docs(sprints): add Sprint 1 team briefings

Per-team sprint briefings under docs/sprints/sprint-1/ for server,
client, and joint tracks. Each lists assigned tickets, dependencies,
key decisions to read, and implementation notes. Agents use
ticket show <id> for full details.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 18:49:49 +01:00
co-authored by Claude Opus 4.6
parent e8f03b4cd8
commit 116b6c308c
3 changed files with 77 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# Sprint 1: Run — Client Tasks
**Goal:** Get a player-controlled character moving on screen through working IPC bridge.
**Branch:** `client`
**Agents:** Stig (UI), Oscar (networking)
## Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #77 | MessagePack serialization - GDScript | #75 (done) |
| #79 | LocalBridge implementation - GDScript | #77 |
Use `db/connectors/ticket show <id>` for full details.
## Key Decisions
- `decisions/architecture.md` — D-020 (Godot+Rust IPC, MessagePack protocol)
- `decisions/perception.md` — D-015 (camera locked to character), D-016 (monologue display)
## Notes
- #77 first: integrate a MessagePack library for Godot, implement encode/decode for ObserverSnapshot and PlayerInput.
- #79 depends on #77: subprocess spawn, socket connection, message send/receive. Must match the Rust side's transport (Unix socket).
- The existing SimBridge autoload trait is the integration point — LocalBridge implements it.
+26
View File
@@ -0,0 +1,26 @@
# Sprint 1: Run — Joint Tasks
**Goal:** Get a player-controlled character moving on screen through working IPC bridge.
**Branches:** `server` + `client` (merge to main for integration)
## Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #81 | End-to-end connection test | #78, #79 |
| #82 | Tick loop synchronization | #81 |
| #83 | Moving character proof | #82, #236 |
Use `db/connectors/ticket show <id>` for full details.
## Key Decisions
- `decisions/architecture.md` — D-020 (IPC protocol), D-010 (deterministic sim), D-031 (tick timing)
## Notes
- These are strictly sequential and depend on both server and client tickets completing first.
- #81: Godot spawns Rust process, establishes connection, sends ping, receives pong.
- #82: Full game loop — client sends input, server ticks, server sends snapshot, client renders.
- #83: Sprint completion proof — arrow key press moves a sprite on screen through the full pipeline.
+25
View File
@@ -0,0 +1,25 @@
# Sprint 1: Run — Server Tasks
**Goal:** Get a player-controlled character moving on screen through working IPC bridge.
**Branch:** `server`
**Agents:** Dudley (simulation), Oscar (networking)
## Tickets
| # | Title | Blocked by |
|---|-------|------------|
| #78 | LocalBridge implementation - Rust | #76 (done) |
| #236 | Tile collision system | — |
Use `db/connectors/ticket show <id>` for full details.
## Key Decisions
- `decisions/architecture.md` — D-020 (Godot+Rust IPC, MessagePack protocol), D-010 (deterministic sim), D-030 (testability)
## Notes
- #78: Unix socket on Linux, message framing, subprocess management. The Rust-side MessagePack serialization (#76) is already done — build the transport layer on top.
- #236: Walkability map with per-tile blocked/walkable flags. Movement system must check `can_move_to(tile)` before position change. Blocks the final "moving character proof" (#83).
- Both tickets can be worked in parallel — no dependency between them.