Commit Graph

668 Commits

Author SHA1 Message Date
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
savanni c296c742ca Set up the infrastructure to play music (#29)
This is the most bare-bones setup I could imagine. Pressing a button next to the track in the UI starts up a stream for that track. However it doesn't do anything to stop other tracks that are currently playing.

Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#29
2023-03-10 14:35:18 +00:00
Savanni D'Gerinel ec13842fe4 Tweak a few of the accent shades 2023-03-04 17:08:04 -05:00
Savanni D'Gerinel 09595b99c6 Lay out a now-playing card 2023-03-04 17:06:11 -05:00
Savanni D'Gerinel 8300b84525 Extensive styling coloration 2023-03-04 16:38:14 -05:00
Savanni D'Gerinel 7fe9a68062 Improve styling for track cards and add the component building blocks 2023-03-02 10:43:23 -05:00
Savanni D'Gerinel 81779c9fc2 Start differentiating between mime types of files and scanning mpeg files 2023-03-02 10:43:09 -05:00
savanni 226329ab6d Convert glade components to Rust and add the palette (#26)
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#26
2023-03-01 14:28:38 +00:00
savanni 1016ba756c Set up some basic web components and basically format a track card (#25)
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#25
2023-03-01 14:20:58 +00:00
savanni 52ca039f45 Render a file list from the filesystem (#24)
This MR scans the filesystem in the specified directory. It assembles a list of files from the scan and then presents that entire list to the UI. The UI then renders it.

Resolves: https://www.pivotaltracker.com/story/show/184466979
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#24
2023-02-26 03:17:00 +00:00
savanni 4163ccb5c2 Draw terrains within their relevant positions on the hex grid (#22)
Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#22
2023-02-12 03:24:54 +00:00
Savanni D'Gerinel 363a4632b1 Add license to Flow 2023-02-11 13:05:13 -05:00
savanni e60a2fbc30 Start building a music player server (#17)
The very beginnings, with a very basic application architecture, for a music playing server on a headless system.

This also adds my new Flow library, which I'll be wanting to use in a variety of places.

Co-authored-by: Savanni D'Gerinel <savanni@luminescent-dreams.com>
Reviewed-on: savanni/tools#17
2023-02-11 17:59:15 +00:00
Savanni D'Gerinel cca1b9c3ba Add the copyright notice to the readme 2023-02-06 09:41:40 -05:00
Savanni D'Gerinel a8d8210252 Add the copyright notice to the hex-grid main 2023-02-06 09:39:04 -05:00
Savanni D'Gerinel 214463f6b4 Import my hex-grid project 2023-02-06 09:36:02 -05:00
Savanni D'Gerinel 411e0261fc Update the project dependencies 2023-02-06 09:25:50 -05:00
Savanni D'Gerinel 12e9067c14 Add the GPL to the project 2023-02-06 09:25:11 -05:00
Savanni D'Gerinel c5721c1e87 Add a program that generates an empty map 2023-01-22 16:50:56 -05:00
Savanni D'Gerinel f17dd5b89d Clean up the read and write operations
maps no longer need to be serializable. This allows for both a serializable form and a non-serializable form.
2023-01-21 11:23:32 -05:00
Savanni D'Gerinel ac5d8e0c75 Make maps carry real data that is both readable and writeable. 2023-01-21 10:53:21 -05:00