Skip to content

Assignment - Venky#133

Open
kamlekar wants to merge 19 commits into
everest-engineering:mainfrom
kamlekar:assignment
Open

Assignment - Venky#133
kamlekar wants to merge 19 commits into
everest-engineering:mainfrom
kamlekar:assignment

Conversation

@kamlekar

Copy link
Copy Markdown

Summary

This PR completes the full Scribble game loop across multiple feature increments. It adds lobby/host management (US1-US4), game rounds, a drawing canvas, and guessing/scoring with game end logic. A series of bug fixes and spec artifacts accompany the implementation.
Commits

  1. 1a4202c - Implement lobby and host management (US1-US4)
  2. 26a8b67–8be6df0 - Game rounds design, specs, and implementation plan
  3. bf441fa–f97a5d4 - Drawing canvas (Stroke/CanvasState types, canvas API, Canvas component, stroke sync, clear action)
  4. d4a866c–39617aa - Guessing, scoring, game end; bug fixes (React key, clamp coords, drawer leave/host transfer, try/catch wrapping)
    Files Changed
    122 files changed with ~13,000 additions and 77 deletions.
    Backend:
  • backend/src/api/rooms.ts, router.ts, schemas.ts — new canvas and game round routes, updated schemas
  • backend/src/models/game.ts, backend/src/models/canvas.ts — game round and stroke data models
  • backend/src/services/canvasService.ts, roundService.ts, roomStore.ts — business logic for strokes, rounds, and scoring
  • backend/src/services/roomStore.test.ts — test updates
    Frontend:
  • frontend/src/components/Canvas.tsx, GuessForm.tsx, GuessHistory.tsx, ResultPanel.tsx, Scoreboard.tsx — new/updated components for drawing and guessing
  • frontend/src/pages/GamePage.tsx, LobbyPage.tsx, CreateRoomPage.tsx, JoinRoomPage.tsx — updated pages for the full game flow
  • frontend/src/services/api.ts, frontend/src/state/roomStore.ts — API client and state store updates
    Spec/Specify artifacts:
  • Specs for lobby & host management, game rounds, drawing canvas, guessing/scoring/game end, and fix-game-view
  • .specify/ — Speckit workflow, templates, scripts, and git extension
  • .opencode/commands/ — Speckit CLI commands
  • Bug report at specs/bugs/001-found-bugs.md
    Related Specs
  • specs/001-lobby-host-management/
  • specs/002-game-rounds/
  • specs/003-drawing-canvas/
  • specs/004-guessing-scoring-game-end/
  • specs/005-fix-game-view/
  • specs/bugs/001-found-bugs.md

Contributor

kamlekar added 19 commits June 8, 2026 19:34
- US1: Host creates room with hostId, host badge in lobby
- US2: Inline name validation on join/create forms
- US3: Auto-polling lobby with 2s interval
- US4: Host starts game with word assignment and role selection
- Fix API_BASE_URL default value
- Update all tasks to [x]
…uickstart, tasks

- Create research.md with 7 resolved design decisions
- Create data-model.md with role-aware word visibility model
- Create contracts/api.md with role-filtered endpoint docs
- Create quickstart.md with 6 validation scenarios
- Create tasks.md with 16 tasks across 3 user stories
- Update spec.md with 5 clarification answers
- Update plan.md with accurate source structure
- Update research.md drawer-disconnect to match spec
- T001: Add pollError state to roomStore, display on LobbyPage
- T002: Consolidate GamePage mount useEffect, add finished-state redirect
- T003: Build verification passes
- Q1: Canvas lifecycle → per-round auto-clear
- Q2: Stroke identity → client-generated UUID
- Q3: Stroke completion → mouse-up trigger
- Q4: Poll failure UX → subtle non-blocking indicator
- Q5: Drawing data retention → end-of-round discard
… API, Canvas component, stroke sync, clear action)
Move specs/bugs/001-found-bugs.md into
specs/005-fix-game-view/checklists/ and update plan.md
and tasks.md to reference the bug fixes.
Remove specs/bugs/ directory.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant