Skip to content

Conversation

@chrisreddington
Copy link
Contributor

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.

- 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.
Copy link
Contributor

Copilot AI left a 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_move MCP 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

@chrisreddington chrisreddington merged commit b782c50 into github-samples:main Nov 27, 2025
2 checks passed
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