/* @component-map * App — Main container, handles view switching and layout * ScoreBar — Displays score, best, and level stats * GameBoard — The 8x8 grid board with drag-drop placement * SidePanel — Shows next piece, lines, and combo info * PieceTray — The three draggable piece slots * GameOverlay — Start/game-over modal * ComboDisplay — Floating combo text animation * GhostPiece — The piece that follows the cursor during drag * @end-component-map */ import { ScoreBar } from './components/ScoreBar.jsx'; import { GameBoard } from './components/GameBoard.jsx'; import { SidePanel } from './components/SidePanel.jsx'; import { PieceTray } from './components/PieceTray.jsx'; import { GameOverlay } from './components/GameOverlay.jsx'; import { ComboDisplay } from './components/ComboDisplay.jsx'; import { GhostPiece } from './components/GhostPiece.jsx'; function AppInner() { return ( <>

⬛ BLOCK BLAST

✦ Drag a piece onto the board to place it · Fill rows & columns to clear them!
); } function App() { return ; } ReactDOM.createRoot(document.getElementById("root")).render();