-
Notifications
You must be signed in to change notification settings - Fork 14
Add 3D Tic-Tac-Toe and enhance game functionality #46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Introduced TicTacToeBoard3D component for a 3D game experience. - Updated TicTacToePage to include a toggle for 3D mode, saving preference in localStorage. - Enhanced GameControls to support toggling between 2D and 3D views. - Updated package.json dependencies for React Three Fiber and related libraries. - Improved UI feedback for AI turns in the 3D board.
… Tic-Tac-Toe and Rock Paper Scissors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a 3D visualization for Tic-Tac-Toe using React Three Fiber, allowing users to toggle between 2D and 3D views. It also adds functionality for players to make moves via chat in the MCP server, enhances documentation structure with clearer purpose statements, and adds comprehensive guidelines for creating GitHub Copilot custom agents.
- 3D Tic-Tac-Toe: New TicTacToeBoard3D component with interactive 3D rendering, orbit controls, and celebratory effects
- Chat-based moves: New
make_player_moveMCP tool for submitting moves via chat interface - Documentation improvements: Restructured instruction files with "Purpose" sections and new custom agent creation guidelines
- Deep linking: Added route handlers for direct game links (
/games/tic-tac-toe/[id]and/games/rock-paper-scissors/[id])
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| web/src/components/ui/GameControls.tsx | Added toggle button for switching between 2D/3D views with props for callback and mode state |
| web/src/components/games/TicTacToeBoard3D.tsx | New 3D board component using react-three-fiber with interactive cells, hover effects, and win animations |
| web/src/app/games/tic-tac-toe/page.tsx | Added 3D mode state management, localStorage persistence, and conditional rendering between 2D/3D boards |
| web/src/app/games/tic-tac-toe/[id]/page.tsx | New route for deep linking to specific games |
| web/src/app/games/rock-paper-scissors/page.tsx | Added support for initialGameId prop for deep linking |
| web/src/app/games/rock-paper-scissors/[id]/page.tsx | New route for deep linking to RPS games |
| web/package.json | Added Three.js and React Three ecosystem dependencies |
| package.json | Added @github/copilot dependency and formatting fixes to workspace scripts |
| package-lock.json | Dependency updates and additions for 3D rendering libraries |
| mcp-server/src/handlers/tool-handlers.ts | Added make_player_move tool definition and handler |
| mcp-server/src/handlers/game-operations.ts | Implemented makePlayerMove function for chat-based move submission |
| docs/3D_TIC_TAC_TOE_IMPLEMENTATION_PLAN.md | New comprehensive implementation plan for 3D feature |
| .github/instructions/*.instructions.md | Restructured with "Purpose" sections for clarity |
| .github/instructions/custom-agents.instructions.md | New comprehensive guide for creating Copilot custom agents |
| .github/instructions/copilot-instructions.instructions.md | New guide for writing instruction files |
| .github/copilot-instructions.md | Restructured with clearer sections and concise directives |
| .github/agents/game-player.agent.md | New game player agent for playing turn-based games via chat |
Introduce a 3D Tic-Tac-Toe experience with a toggle feature, allowing users to switch between 2D and 3D views. Update game controls and enhance visual feedback for AI turns. Improve documentation and testing guidelines, and implement functionality for handling player moves via chat. Add guidelines for creating GitHub Copilot custom agents and enhance the overall structure of instruction files. Update dependencies to support new features.