--- title: "Sprint 1 — Client Briefing" description: "MessagePack GDScript serialization, LocalBridge GDScript implementation" type: sprint status: archived sprint: 1 team: "client" --- # 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 ` 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. ## 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 ```