Savanni D'Gerinel
92ca170a24
Switch from GameTree to go::Game in Kifu
2023-07-26 20:29:12 -04:00
Savanni D'Gerinel
c51fced23a
Rename go-sgf to sgf. Add make instructions
2023-07-26 19:06:59 -04:00
Savanni D'Gerinel
084a558740
Start showing the list of games in the database
2023-07-25 23:27:36 -04:00
Savanni D'Gerinel
744511a552
Set up test code that loads the games database
2023-07-25 22:49:43 -04:00
Savanni D'Gerinel
c8d21d0e25
Make it possible to share a gametree across the API
2023-07-25 21:08:22 -04:00
Savanni D'Gerinel
1b9a8eee67
Rename new_game to home
2023-07-24 19:43:22 -04:00
Savanni D'Gerinel
4b30bf288a
Make GameResult parsing slightly more flexible
2023-07-21 10:47:30 -04:00
Savanni D'Gerinel
90b0f830e0
Start building an interface to the database
2023-07-20 00:55:24 -04:00
Savanni D'Gerinel
ba814fd899
Add example games for tests
2023-07-20 00:16:18 -04:00
savanni
d9531c69ad
Create a configuration system for the Kifu ( #46 )
...
This is a nice, typesafe configuration system.
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#46
2023-07-20 03:57:19 +00:00
Savanni D'Gerinel
b15658dd0c
Clean up warnings
2023-06-16 09:03:17 -04:00
Savanni D'Gerinel
9266387833
Communicate name and rank from the UI to the core
2023-06-15 22:20:59 -04:00
Savanni D'Gerinel
ebb7062041
Go back to creating a new game
2023-06-15 00:09:50 -04:00
Savanni D'Gerinel
d0db274110
Create a launch screen that shows player name and rank
2023-06-14 23:49:03 -04:00
Savanni D'Gerinel
32ed1a2464
Add a rule for starting the screenplay
2023-06-14 23:48:09 -04:00
Savanni D'Gerinel
6456389eef
Apply performance tracing to various functions
2023-06-14 23:47:12 -04:00
Savanni D'Gerinel
ef045117be
Start on the NewGame page
2023-05-26 00:16:40 -04:00
Savanni D'Gerinel
6f6579b7a7
Try caching the background
2023-05-25 13:09:39 +00:00
Savanni D'Gerinel
a779220173
Remove dead code
2023-05-16 10:21:57 -04:00
Savanni D'Gerinel
343969a898
Render stones on the board
2023-05-16 10:07:52 -04:00
Savanni D'Gerinel
6c87d23537
Start making the UI state really send messages to and recieve response from the core
2023-05-15 23:59:41 -04:00
Savanni D'Gerinel
140ad0f22c
Render ghost stones
2023-05-15 22:20:40 -04:00
Savanni D'Gerinel
6c4226ec66
Render the Go board with star points
2023-05-13 22:16:24 -04:00
Savanni D'Gerinel
b86a618b34
Adjust the Makefile dependency calculations
2023-05-13 14:22:26 -04:00
Savanni D'Gerinel
297e7f70c4
Rearrange the entire kifu directory tree
2023-05-13 14:02:24 -04:00
Savanni D'Gerinel
68cec8bc12
Add an updated icon
2023-05-13 12:47:09 -04:00
Savanni D'Gerinel
ef396f3bfb
Code review cleanups
2023-05-13 12:29:57 -04:00
Savanni D'Gerinel
1e65219401
Start setting up the basic board
2023-05-13 12:09:59 -04:00
Savanni D'Gerinel
0b0bd1e14b
Create the GoBoard custom element
...
There's nothing in it, but it's still present
2023-05-11 10:32:48 -04:00
Savanni D'Gerinel
b321c03297
Set up type-safe call and response
2023-05-11 09:39:31 -04:00
Savanni D'Gerinel
c87ab6da7f
Switch to a new main entry
2023-05-10 09:42:02 -04:00
Savanni D'Gerinel
ab97f266bb
Set up a Javascript workspace
2023-05-10 09:41:39 -04:00
Savanni D'Gerinel
fdbde131e8
Try linking together the wasm ffi and the pwa
2023-05-09 09:58:38 -04:00
Savanni D'Gerinel
9a6da002e2
Set up a working build environment
2023-05-07 13:13:20 -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
17050ed4d6
Demo wasm build. First ever PWA app.
2023-05-07 11:02:57 -04:00
Savanni D'Gerinel
97c52de2cf
Set up a demo wasm build
2023-05-07 11:02:57 -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
4590bc6688
Adjust margins and the size of the stones
2023-04-06 23:26:46 -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
59a8f252da
Optimize board updates
2023-04-06 22:13:09 -04:00
Savanni D'Gerinel
8df649d6cd
Place stones on the board
2023-04-06 21:52:39 -04:00
Savanni D'Gerinel
481226e8c6
Detect mouse clicks on the board
2023-04-05 09:48:33 -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
a8a9c49f02
Fixes resource compilation problems
...
Adds glib_build_tools crate, and adds glib (which provides glib-compile-*) to kifu-gtk.
2023-04-04 12:25:22 -04:00
Savanni D'Gerinel
829b300ca0
Remove the test app. Never needed it.
2023-04-04 01:07:20 -04:00
Savanni D'Gerinel
e32f103dd4
Build with crate2nix
2023-04-04 01:03:08 -04:00
Savanni D'Gerinel
35850b60b3
Add a wood texture background
2023-03-30 22:38:48 -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
c2e7399e55
Add the playing field to the main app
2023-03-25 09:24:36 -04:00
Savanni D'Gerinel
d430fd82e6
Draw the goban
2023-03-25 09:00:56 -04:00
Savanni D'Gerinel
62a178e168
Restrict view model screenplay functions behind the screenplay feature
2023-03-24 10:24:46 -04:00
Savanni D'Gerinel
cbae0f47fc
Add a placeholder for the goban itself
2023-03-24 10:14:01 -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
Savanni D'Gerinel
da6cf800ec
Initial app designs
2023-03-18 23:32:43 -04:00