# 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 ` 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. ## 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(scope): description" --description "body" --base main --head ```