Here's the main file of the tictactoe implementation.
https://gist.github.com/paulshen/b04db68c754f73e693cd29a481c...
`update` is similar to React's render function except here it's being called on every interaction (eg mousemove tick) and redrawing the entire screen from scratch! The code runs so fast that this is fine from a perf standpoint. Note that egui has a reactive or continuous mode. You can rerender everything from scratch 60fps (continuous mode) and it'd be fine in most cases.