Commit Graph

25 Commits

Author SHA1 Message Date
Savanni D'Gerinel 904a866de0 Experiments with creating a wasm binding for kifu-core 2023-05-07 11:05:43 -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 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 300704297f Add a renderable field for liberties 2023-04-27 18:56:59 -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 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 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