Savanni D'Gerinel
ef396f3bfb
Code review cleanups
2023-05-13 12:29:57 -04:00
Savanni D'Gerinel
b321c03297
Set up type-safe call and response
2023-05-11 09:39:31 -04:00
Savanni D'Gerinel
60b0f1b736
This is a working version of kifu-pwa
2023-05-07 12:31:48 -04:00
Savanni D'Gerinel
0dd7344a09
Typeshare the data types to typescript
2023-05-07 12:30:33 -04:00
Savanni D'Gerinel
904a866de0
Experiments with creating a wasm binding for kifu-core
2023-05-07 11:05:43 -04:00
Savanni D'Gerinel
fee2e598d3
Remove a debug print
2023-05-03 22:34:10 -04:00
Savanni D'Gerinel
889c3cec94
Don't share liberties with the UI
...
I'm currently not able to calculate them, so I've set them back to None
2023-05-03 22:28:37 -04:00
Savanni D'Gerinel
06157604b9
Implemented self_capture and ko rules
2023-05-03 22:22:22 -04:00
Savanni D'Gerinel
d68e088500
Implement the self-capture rule
2023-05-03 20:49:20 -04:00
Savanni D'Gerinel
27d87fcd02
Eliminate the explicit grid
2023-05-03 20:42:03 -04:00
Savanni D'Gerinel
edcf20cc25
Set up makefiles for the Kifu app
2023-05-03 20:29:49 -04:00
Savanni D'Gerinel
78af31f6f9
Overhaul the board representation
...
Groups become more first-class objects, where the grid becomes useful for quick lookups of values.
2023-04-28 01:21:23 -04:00
Savanni D'Gerinel
52e27318fe
Add code to try to handle removing captured stones from the board
2023-04-27 21:53:54 -04:00
Savanni D'Gerinel
e746190a4a
Add coordinates to the board printout
2023-04-27 19:13:06 -04:00
Savanni D'Gerinel
300704297f
Add a renderable field for liberties
2023-04-27 18:56:59 -04:00
Savanni D'Gerinel
3cd39af060
Clean up the liberty sharing test
2023-04-14 09:06:41 -04:00
Savanni D'Gerinel
037484e7b4
Count liberties
2023-04-13 22:38:35 -04:00
Savanni D'Gerinel
6d51ae8479
Add tests
2023-04-13 19:43:40 -04:00
Savanni D'Gerinel
26db170c79
Do some cleanups and allow the cursor to move off the board
2023-04-06 22:29:15 -04:00
Savanni D'Gerinel
8df649d6cd
Place stones on the board
2023-04-06 21:52:39 -04:00
Savanni D'Gerinel
b64eda7efd
Don't render ghost stones on unplayable or filled spaces
2023-04-05 09:25:08 -04:00
Savanni D'Gerinel
553d3f8496
Rename Goban to Board and create the IntersectionElement
2023-04-05 09:13:50 -04:00
Savanni D'Gerinel
b236ee54ab
Render a ghost stone over the current cursor location
2023-03-30 22:38:40 -04:00
Savanni D'Gerinel
d430fd82e6
Draw the goban
2023-03-25 09:00:56 -04:00
Savanni D'Gerinel
b8493b7fe7
Write an initial Playing Field
2023-03-24 09:59:04 -04:00
savanni
ea02e614dd
Render the chat element ( #34 )
...
Closes:
- [Render the chat](https://www.pivotaltracker.com/story/show/184743852 )
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#34
2023-03-23 03:11:56 +00:00
Savanni D'Gerinel
68096ec743
Add a basic rendering for a player card
2023-03-22 10:59:44 -04:00
Savanni D'Gerinel
db80f47e8b
Add the current player color to the playing field view model
2023-03-21 10:00:46 -04:00
Savanni D'Gerinel
f31f622d6f
Make the connection between the core and the gtk app
...
Set up the core run loop and the GTK loop. To make this work, I'm taking direct control of the Tokio runtime.
Since the GTK thread wants to be the main one, it's easier to manually spawn the runtime handlers and to spawn new tasks to handle communication with the core. I added a basic struct to own the runtime, the core, and communication between the core and GTK
2023-03-21 10:00:11 -04:00