I’ve been working on an implementation of Minesweeper in Reagent. Once I got a working game with all the features I wanted, I decided to add height/width controls for a variable grid size. This ended up revealing a huge performance hit on very large grids, and giving me an opportunity to learn more about Reagent’s various features for managing state. I believe the problem was simply that every square was being rerendered every time due to dereffing the same atom.
I think I came up with a solution using cursors, but I could use some feedback on whether I’m using the right approach. I feel that I might be missing some obvious things, or doing some rather silly things. I’d really appreciate it, thanks!