Savanni D'Gerinel
|
46b25cc6c5
|
Set up a BFS iterator over the node tree
|
2024-03-31 13:35:23 -04:00 |
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 |