Savanni D'Gerinel
d0a8be63e9
Change the Tuple to a tuple without field names
...
This helps out when I go to use the same data structure as the backing
for colors.
2024-06-09 14:36:23 -04:00
Savanni D'Gerinel
2a38ca38e1
Extract the types into separate files
...
Not for any reason other than clarity. The number of operations that are
declared for each type is making it difficult to find operations and
difficult to keep the order consistent.
2024-06-09 14:18:46 -04:00
Savanni D'Gerinel
39c947b461
Implement the remaining operations and the projectile simulator
2024-06-09 14:08:01 -04:00
Savanni D'Gerinel
e23a4aacab
Add primitive math operations
2024-06-09 13:19:47 -04:00
Savanni D'Gerinel
01f3e05235
Create the basic Tuple, Point, and Vector types
2024-06-09 12:24:41 -04:00
Savanni D'Gerinel
15c4ae9bad
Update the review tree when navigating
2024-05-07 08:49:49 -04:00
Savanni D'Gerinel
7dd531b493
It is now possible to move backwards and forwards on the mainline of a tree
2024-05-07 07:53:15 -04:00
Savanni D'Gerinel
cbfb3f2e37
Clean up tests
2024-05-01 09:36:48 -04:00
Savanni D'Gerinel
9540a2c5bb
Highlight the current node and make all nodes a bit larger
2024-04-30 23:34:16 -04:00
Savanni D'Gerinel
6165d65977
Make the review tree scrollable
2024-04-30 23:28:12 -04:00
Savanni D'Gerinel
4f8a1636c1
Set up a view model for the game review and highlight current node
2024-04-30 23:27:05 -04:00
Savanni D'Gerinel
20b02fbd90
Update the Nix derivation
2024-04-30 22:26:12 -04:00
Savanni D'Gerinel
278ec27b4e
Linting
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
8b7add37c1
Switch from slab_tree to nary_tree
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
5441a3c441
Adapt the app to the new slab tree
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
b1374229f3
Calculate out the depth and width of each node
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
bc5042c004
Start propogating the slab_tree up to OTG
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
0534143d6b
Finish implementing GameTree.Clone and PartialEq
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
d7f5269e15
Begin implementing traits for a game record
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
c913e9da37
Convert the recursive parse tree to a slab GameTree
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
c50bd652f1
Switch from my custom Tree setup to a slab tree in GameRecord
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
093e1f7f8a
Start writing functions for finding a node within the tree
2024-04-30 22:25:01 -04:00
Savanni D'Gerinel
3c94f906a6
Update Cargo.nix
2024-04-19 12:27:17 -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