weasel is a crate to help with development of turn based games.
The idea behind this crate is to provide a structured and safe framework to manage the game state.
Users can create a battle and evolve it by applying events. Then, weasel takes care of keeping a historical timeline. It also help with serializing/deserializing save files or sharing and verifying events between clients and server.
The game logic is defined through traits, which is nice because it can benefit from Rust's type system and compile time checks.
You can jump to the examples to see how it works in practice.
I just released the first version, many improvements will come in the future. I'd be glad if anyone would like to contribute!