eros
23a0cafe18
refactor(backend): split handle_socket and make rooms map async-safe
...
Replace std::sync::Mutex with tokio::sync::Mutex; extract try_join_room, register_player, spawn_forwarder, broadcast_room_state, spawn_message_handler, remove_player.
Use Game::process_throw in the message handler.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 10:49:56 -07:00
eros
1f673b4eba
refactor(backend): encapsulate throw lifecycle and clean dead code in game.rs
...
Add Game::process_throw to centralize throw→simulation→scoring→state flow.
Remove dead room_tx field, simplify add_player, and rename end_ends_or_continue.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 10:46:12 -07:00
eros
27e524a418
test: add end-to-end WebSocket test suite
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 08:18:16 -07:00
eros
86153894ac
feat: add Vite TypeScript frontend for curling game
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 08:18:13 -07:00
eros
5e0c188d9b
feat: add Rust Axum backend with WebSocket game server
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 08:18:07 -07:00
eros
0df556ff46
docs: add README and project gitignore
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-06-24 08:17:05 -07:00