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
d74c9ebcad
Add the nix flake for the cyberpunk splash screen
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
ad6b006e1c
Parse the countdown parameter
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
70b34f41b5
Start handling command line parameters
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
78acebbf06
Extract state management and add play and pause
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
dad38590f4
Set up keyboard handling
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
0d6cd2a247
Add screen resize support and animation timeout
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
a2eec878a2
Add a slash meter
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
d8ac8fba01
Count down the clock
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
ea5c8cdb78
Add the clock and some extra lines
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
d1b257e631
Clean up the asymetric cutout line
2023-04-13 23:14:28 +00:00
Savanni D'Gerinel
268acb615f
Start building a rendering for a cyberpunk-style splash screen
2023-04-13 23:14:28 +00: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
0240132153
Switch to the rustup toolchain specification for Rust
2023-04-04 01:02:24 -04:00
Savanni D'Gerinel
cb16d73342
Switch to using rustup to pin the rust toolchain
2023-03-30 22:52:59 -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
f23d7e9d7e
Add some documentation
2023-03-22 09:31:10 -04:00
Savanni D'Gerinel
44171393ef
Create the screenplay library
...
This is a library that helps out with visualizing GTK scenes
2023-03-22 09:31:10 -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
Savanni D'Gerinel
92393875dc
Update the flake
2023-03-18 20:15:55 -04:00
Savanni D'Gerinel
1b61689de6
Add a utility program that prints out all the icon names in the gnome theme
2023-03-11 20:17:04 -05:00
Savanni D'Gerinel
7c56a2907f
Finish the red spectrum
2023-03-11 15:22:46 -05:00
Savanni D'Gerinel
40cce7ce00
Add a playback stop button
2023-03-11 15:15:14 -05:00
Savanni D'Gerinel
725c96bc1b
Work out improved error reporting
2023-03-11 15:15:09 -05:00
Savanni D'Gerinel
8260b4e2f3
Overhaul the threading model to use more async tasks and less threads
2023-03-11 13:02:52 -05:00