Commit Graph

479 Commits

Author SHA1 Message Date
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
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