Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pcmtg.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Objective

With the core combat Engine Room sealed, the application must evolve into a cohesive web platform. Sprint 10 focuses on infinite retention loops and macroeconomic visibility.

PHASE 0: Docs-as-Code Migration [COMPLETED]

  • Mintlify initialized.
  • Project Bible migrated to local .mdx files.
  • Local llms.txt established as the strict architectural guardrail.

PHASE 1: The App Shell & The GIP Flagpole [COMPLETED]

  • Refactor frontend/app/layout.tsx into a persistent global wrapper.
  • Build the <GipFlagpole /> component: A visual representation of the four ideological quadrants ranked dynamically on a vertical axis.
  • Backend Hook: Requires a lightweight macro_state mirror in Firestore to bypass heavy SQL polling from the client.

PHASE 2: Global Modals & Tactical Retreat [COMPLETED]

  • Construct the Main Menu landing page (/).
  • Implement global React Context Modals for “Player Wallet” and “Player Profile”, accessible without unmounting the active game state.
  • Add an “Exit / Tactical Retreat” button to the Debate Arena for graceful queue exiting.

🎉 Sprint 10 Officially Concluded!

All five phases of Sprint 10: Infinite Loops & Macro Visibility are 100% complete and fully verified in the local workspace. The core architectural elements (from the App Shell sidebar GIP Flagpole, persistent React Context profile/wallet overlays, the lobby matchmaking entryway, and the secure simultaneous action reveals to the interactive 30s shot clock) have been built and committed. The Engine is sealed. The Arena is live. Onward to the next sprint!

PHASE 3: Faction & Deck Selection (The Entryway) [COMPLETED]

  • Pre-match Entryway UI built at /arena.
  • Sleek, dark-mode 2x2 selection matrix using Tailwind CSS v4 to select quadrant faction with custom hover/selected glows.
  • Selectable tactical decks with individual stat meters.
  • Premium 3.5s “Finding Contenders” spinner state with sequential, engaging status updates.
  • Secure backend endpoint POST /debate/inject-ghosts to initialize live lobbies, allocate player hands matching their selected quadrant, and inject 3 active Ghost players from the remaining quadrants.

PHASE 4: The Shot Clock, Ghost Orchestration & Critical Logic Fix [COMPLETED]

  • Prisoner’s Dilemma Simultaneous Hidden Action: Modified POST /debate/inject-ghosts to secure bot moves in the secure_data/solution subcollection instead of exposing them in public playedCards.
  • Simultaneous Reveal & Resolution: Updated /play-card and /vote routes to retrieve hidden moves, merge them into playedCards simultaneously, and transition to RESOLVING on player action.
  • 30s Shot Clock: Implemented high-fidelity 30-second countdown in page.tsx with dynamic visual indicators and automated default play fallbacks.
  • Bot Simulation Orchestrator: Constructed random staggered bot locking-in timeouts with premium animated holographic “Thinking…” and custom faction-colored glowing “Locked In!” UI status cards.
  • Math Overlay Transition: Seamlessly integrated MathResolutionOverlay to trigger and unmount perfectly on table resolution state shifts.