Commit Graph

536 Commits

Author SHA1 Message Date
Savanni D'Gerinel 9fbc630500 Game tree becomes a tree of UUIDs, not GameNodes
Doing this avoids reference lifetime hell
2024-03-30 11:00:54 -04:00
Savanni D'Gerinel b481d5d058 Adjust the coordinates calculated to be zero-based 2024-03-29 09:29:32 -04:00
Savanni D'Gerinel 7a06b8cf39 Work out how to calculate the horizontal position of each node 2024-03-29 09:10:38 -04:00
Savanni D'Gerinel 3192c0a142 Apply clippy to otg-gtk 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel acf7ca0c9a Resolve clippy warnings on otg-core 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel 64138b9e90 Resolve clippy warnings on SGF 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel e587d269e9 Start on the foundations of a tree-drawing algorithm
I don't actually know what I'm doing. I've done some reading and from
that I'm doing experiments until I can better understand what I've read.
2024-03-26 09:17:26 -04:00
Savanni D'Gerinel 57aadd7597 Create the drawing area for the review tree 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel b70d927eac Render the board with the completed game state. 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 3a7f204883 Add more test data and ensure the mainline is returned even with branches 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 642351f248 Return the mainline of a game that has no branches in it. 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel d9bb9d92e5 Apply moves to the abstract board
To get here, I had to also build some conversion functions and make a
lot of things within the game record public
2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 30e7bdb817 Render the grid of the goban 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 556f91b70b Set the size of the drawing area 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 894575b0fb Start on the new Goban component 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel d964ab0d2f Minimal linting 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 74c8eb6861 Document the Goban representation in Core 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 3aac3b8393 Rename Game to GameRecord for disambiguation. 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 295f0a0411 Create the game review page and work on navigating to it with a navigation stack 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel e694ba74ca Update to Rust 1.77 2024-03-26 09:14:28 -04:00
Savanni D'Gerinel 5f9cd2622a Fix Cargo.nix 2024-03-26 09:06:08 -04:00
Savanni D'Gerinel 48271389ad Rename Kifu to On The Grid 2024-03-22 08:19:14 -04:00
Savanni D'Gerinel 49571b0f82 Show real information in the library view 2024-03-21 23:30:24 -04:00
Savanni D'Gerinel 89a289a1ae Make games serializable through Serde 2024-03-21 23:23:47 -04:00
Savanni D'Gerinel fe082773e3 Set up the library view again 2024-03-21 23:16:10 -04:00
Savanni D'Gerinel db9efbaedd Move the settings view model back into the core 2024-03-21 23:14:25 -04:00
Savanni D'Gerinel 1d959117aa Write a little app to demonstrate reading an an SGF file 2024-03-21 23:12:30 -04:00
Savanni D'Gerinel a5990a2a30 Ensure that the territory property is accepted 2024-03-21 22:49:24 -04:00
Savanni D'Gerinel bd6d5b62e3 Reduce the recursion amount of parser Node to GameNode 2024-03-21 22:49:24 -04:00
Savanni D'Gerinel 82c1765513 Write the more semantic Game interpreter 2024-03-21 22:49:24 -04:00
Savanni D'Gerinel de54ec676f Make sure the settings get saved 2024-03-21 17:01:40 -04:00
Savanni D'Gerinel 5612c89a61 Thread signals through all of the settings dialog 2024-03-21 08:43:08 -04:00
Savanni D'Gerinel c3c144e035 Set up the preferences UI with the path to the games library 2024-03-19 10:08:43 -04:00
Savanni D'Gerinel 05a6dcf3af Set up the initial settings screen 2024-03-15 14:07:55 -04:00
Savanni D'Gerinel b98e0bdcea Strip kifu down even further and revamp the app_window structure 2024-03-15 10:49:25 -04:00
Savanni D'Gerinel 3d4a298dc1 Write some documentation for the LocalObserver 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 2d7fbb9a4b Add the placeholders for game review and settings 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 3a5cb17e09 Extract notification receiving into an observer 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel f6c82cbcb0 Ensure the game_view_model handler aborts when the view_model gets dropped 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 74b00d94b1 Set up the notifications pattern for view models 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel ddf83b3018 GameViewModel now subscribes directly to the Core 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel a1f41a440f Remove typeshare from kifu 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel e838f601ca Set up a placeholder for the GameViewModel 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 1b0a90a332 Create the placeholder for the database view model 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 4dc6e3151b Remove everything related to the kifu typescript code 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 79cec6e21d Switch to async channels and disable most of the existing runtime api 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel 32cc74edfa Set up gio settings 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel d3d3260091 Create a flake that can run the Kifu app 2024-02-28 04:42:57 +00:00
Savanni D'Gerinel a1441f7bb1 Bump versions to 0.6.0 2024-02-19 18:47:48 -05:00
Savanni D'Gerinel 9e7350b087 Add an about page that calls out gtk-rs and the GUI development book 2024-02-19 18:41:38 -05:00