Redesign web battle system from buffered to streaming architecture: Backend Changes: - New SSEOutput class for real-time event streaming to clients - GameSession::streamBattle() for SSE-based battle execution - Enhanced Screen::delay() to support SSE timing and buffering modes - New /api/game/battle-stream endpoint handling SSE connections Frontend Changes: - Enhanced sendInput() to detect battle command (input "1") - New streamBattle() function using EventSource for SSE connections - Real-time log display matching terminal experience - Event handlers for start, message, complete, error events Benefits: ✓ Real-time streaming instead of waiting for complete battle ✓ Web frontend experience identical to terminal ✓ Lightweight implementation without WebSocket ✓ Automatic browser reconnection support ✓ ANSI colors fully preserved ✓ Backward compatible for non-battle screens 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .idea | ||
| bin | ||
| src | ||
| test | ||
| web | ||
| .DS_Store | ||
| .gitignore | ||
| box.json | ||
| build-phar.php | ||
| build.sh | ||
| composer.json | ||
| composer.lock | ||
| save.json | ||
| start-server.sh | ||