# 2024-12-18 - Implement Manual Card Draw

## Problem
The user reported that clicking on the library or using the "Draw Card" context menu option had no effect. The frontend was correctly emitting the `DRAW_CARD` action (via `game_action` channel/event), but the `GameManager` (which handles manual/legacy actions) had no case handler for it, causing the action to be ignored.

## Root Cause
1.  **Missing Handler**: The `GameManager.handleAction` switch statement lacked a `case 'DRAW_CARD'`.
2.  **Access Control**: The `RulesEngine.drawCard` method was `private`, preventing external invocation even if the handler existed.

## Solution
1.  **Made `drawCard` Public**: Updated `RulesEngine.ts` to change `drawCard` visibility from `private` to `public`.
2.  **Added Handler**: Updated `GameManager.ts` to include a `case 'DRAW_CARD'` in `handleAction`. This handler instantiates a `RulesEngine` for the current game and calls `engine.drawCard(actorId)`.

## Outcome
Users can now manually draw cards from their library interactions (click or context menu) during gameplay.
