I'm a beginner Rust programmer and currently embarking on a project to create a terminal-based board game. While I've started to get a handle on the unique aspects of Rust, I'm finding the ownership and borrowing rules to be a challenging (but rewarding) learning curve. I'm aware that the choices I make for my project's architecture can heavily influence how well these Rust features are leveraged.
I've decided to use the "ratatui" library for handling the UI, and I have a question regarding the threading model of this library. I'd like to use multithreading for handling mouse events in my application and would love to hear your insights about how this could work with "ratatui". Could someone help me understand how the threading model of "ratatui" fits into an architecture that plays nice with Rust's ownership and borrowing rules?
Additionally, I'm trying to understand how to best structure my application overall, in terms of game state, rules, and user interaction layers. Any advice or resources would be greatly appreciated!
Lastly, I've been trying to find a good walkthrough or tutorial specifically for "ratatui". While I've read the library's documentation, I think seeing some worked examples or a more in-depth guide would be very beneficial. If anyone knows of such resources, could you kindly share them?
Thank you all for your help. I'm really enjoying learning Rust and being part of this community. Any advice you can provide would be greatly appreciated!