Skip to content

Scribble Assignment - Sainath Bottupally#136

Open
Sai-everest wants to merge 37 commits into
everest-engineering:mainfrom
Sai-everest:scribble-lab
Open

Scribble Assignment - Sainath Bottupally#136
Sai-everest wants to merge 37 commits into
everest-engineering:mainfrom
Sai-everest:scribble-lab

Conversation

@Sai-everest

Copy link
Copy Markdown

Summary

  • 001 — Room Creation & Join: Host tracking, name/join validation, room isolation, auto-polling lobby, host-only start, host transfer on leave, idle room cleanup.
  • 002 — Game Start & Drawer: Transition to playing, host-as-drawer assignment, deterministic secret word (rocket), drawer-only word visibility, guesser placeholders, game-page polling, mid-round reset on host leave.
  • 003 — Drawing, Guessing & Scoring: Interactive canvas with normalized coordinates, clear canvas, guess submission with trim/case-insensitive validation, 100-point scoring, ordered guess history, live scoreboard, drawer-guess blocking.
  • 004 — Round Results & Restart: results state, auto-end when all guessers correct, host-only manual end/restart, word reveal to all, results UI with scores/history/canvas, join rejection in results, idle cleanup extended.

Contributor

Sai-everest and others added 30 commits June 11, 2026 08:46
- Add canvas drawing/clearing with normalized coordinates

- Add guess submission with trim, case-insensitive, empty rejection

- Add guess history synced via polling

- Add scoreboard with 100 pts for first correct guess

- Handle drawer-leave mid-round by resetting state to lobby
- Add research.md, data-model.md, contracts/api.md, quickstart.md
- Fill plan.md with Technical Context, Constitution Check, Project Structure, File-Level Changes
- Update agent context to reference feature 004 plan
Sai-everest and others added 7 commits June 12, 2026 09:58
…nd-results-restart

- data-model.md: restrict endRound to playing state (H1)

- tasks.md: update T005 to include API layer 409; T009 adds zero-non-drawer guard (H2, H3)

- spec.md: replace secretWord/resultScreen with currentWord (M1, M2)

see: speckit.analyze remediation edits for H1, H2, H3, M1, M2
- Add 'results' RoomStatus across backend and frontend
- Implement endRound() service and POST /:code/end endpoint (host-only)
- Implement restartGame() service and POST /:code/restart endpoint (host-only)
- Auto-transition to results when all non-drawers guess correctly
- Reveal currentWord in snapshot when status is 'results'
- Reject joins in results state (409)
- Clean up idle results rooms
- Add results UI with scoreboard, guess history, final drawing
- Add host-only End Round and Restart Game buttons
- Extend polling to cover 'results' state
- 003-draw-guess-score: validate and update api-data-model, requirements, and tasks checklists
- 004-round-results-restart: validate and update api-data-model, requirements, and tasks checklists
- All 22 CHK items verified for 004; all 27 CHK items verified for 003
- All tasks marked complete; builds and tests pass (50 backend, 3 frontend)
Previously submitGuess waited for all non-drawers to guess correctly
before transitioning to results status. Now the room transitions to
results immediately on the first correct guess, matching spec
expectations.

Also updates all affected spec docs (003, 004) and reflection to
reflect the first-correct-guess round-end behavior.
Addresses PR review feedback: discovery/scaffold analysis was only
present as research.md, not as a dedicated discovery document with
explicitly listed gaps and assumptions.

Each discovery.md includes:
- Scaffold analysis (what the starter already had)
- Gaps (incomplete behaviors)
- Assumptions
- Relevant files table
- Resolved open questions/unknowns
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