Savanni D'Gerinel
|
bcc34ce4f6
|
Switch from my custom Tree setup to a slab tree in GameRecord
|
2024-04-19 08:03:40 -04:00 |
Savanni D'Gerinel
|
511f1080a7
|
Start writing functions for finding a node within the tree
|
2024-04-09 22:56:10 -04:00 |
Savanni D'Gerinel
|
0aecaee760
|
Use pre-loaded images
|
2024-04-05 10:47:16 -04:00 |
Savanni D'Gerinel
|
baeb458126
|
Create a resource manager that preloads the images
|
2024-04-05 10:06:52 -04:00 |
Savanni D'Gerinel
|
da144a58ec
|
Revise the graphics
|
2024-04-05 09:15:20 -04:00 |
Savanni D'Gerinel
|
f09af67193
|
Add images for fancier stones
|
2024-04-01 00:14:15 -04:00 |
Savanni D'Gerinel
|
32391a46e7
|
Render the board in the background
|
2024-03-31 19:59:44 -04:00 |
Savanni D'Gerinel
|
0a62c96b0f
|
Clippy
|
2024-03-31 19:36:44 -04:00 |
Savanni D'Gerinel
|
78863ee709
|
Cleanups
|
2024-03-31 18:16:41 -04:00 |
Savanni D'Gerinel
|
5cdcf0499c
|
Improve ident calculation to help with tree drawing
|
2024-03-31 16:19:09 -04:00 |
Savanni D'Gerinel
|
b982f2c1cc
|
Start doing a bare basic rendering of nodes in a game tree
|
2024-03-31 14:09:48 -04:00 |
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 |