Commit Graph

622 Commits

Author SHA1 Message Date
Savanni D'Gerinel 8d183d6d8c Build some of the framework for the bike application
This now sends a set of lights to the dashboard from a pico. I had to
adjust some of the colors as they do not look nearly as good in lights
as they do in the screen. There is no real application loop yet, no the
ability to get feedback from external controls.
2024-07-08 09:29:32 -04:00
Savanni D'Gerinel 0b949111d2 Switch to a fixed point arithmatic library 2024-07-08 09:28:40 -04:00
Savanni D'Gerinel 6164cb3b39 Refactor the bike library until it compiles with no_std
Theoretically, this is the first step to getting to running on the pico
2024-07-08 09:28:40 -04:00
Savanni D'Gerinel 22f0f9061c Rotate the right side
The actual bike is going to be a long loop which folds from the end of
the left side to the back end of the right side. This requires that the
colors get moved around for proper mirroring.
2024-07-08 09:28:40 -04:00
Savanni D'Gerinel 0bb5e62f96 Set up a bunch of animations and some state transitions! 2024-07-08 09:28:40 -04:00
Savanni D'Gerinel 06aedc34bb Now I'm able to send messages from the UI to the core 2024-07-08 09:28:40 -04:00
Savanni D'Gerinel 84b077e20c Build the core of the application. 2024-07-08 09:28:40 -04:00
Savanni D'Gerinel fc2e88add2 Set up a GTK simulator for the bike lights engine 2024-07-08 09:28:38 -04:00
Savanni D'Gerinel 15c4ae9bad Update the review tree when navigating 2024-05-07 08:49:49 -04:00
Savanni D'Gerinel 7dd531b493 It is now possible to move backwards and forwards on the mainline of a tree 2024-05-07 07:53:15 -04:00
Savanni D'Gerinel cbfb3f2e37 Clean up tests 2024-05-01 09:36:48 -04:00
Savanni D'Gerinel 9540a2c5bb Highlight the current node and make all nodes a bit larger 2024-04-30 23:34:16 -04:00
Savanni D'Gerinel 6165d65977 Make the review tree scrollable 2024-04-30 23:28:12 -04:00
Savanni D'Gerinel 4f8a1636c1 Set up a view model for the game review and highlight current node 2024-04-30 23:27:05 -04:00
Savanni D'Gerinel 20b02fbd90 Update the Nix derivation 2024-04-30 22:26:12 -04:00
Savanni D'Gerinel 278ec27b4e Linting 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 8b7add37c1 Switch from slab_tree to nary_tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 5441a3c441 Adapt the app to the new slab tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel b1374229f3 Calculate out the depth and width of each node 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel bc5042c004 Start propogating the slab_tree up to OTG 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 0534143d6b Finish implementing GameTree.Clone and PartialEq 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel d7f5269e15 Begin implementing traits for a game record 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel c913e9da37 Convert the recursive parse tree to a slab GameTree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel c50bd652f1 Switch from my custom Tree setup to a slab tree in GameRecord 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 093e1f7f8a Start writing functions for finding a node within the tree 2024-04-30 22:25:01 -04:00
Savanni D'Gerinel 3c94f906a6 Update Cargo.nix 2024-04-19 12:27:17 -04:00
Savanni D'Gerinel 0aecaee760 Use pre-loaded images 2024-04-05 10:47:16 -04:00
Savanni D'Gerinel baeb458126 Create a resource manager that preloads the images 2024-04-05 10:06:52 -04:00
Savanni D'Gerinel da144a58ec Revise the graphics 2024-04-05 09:15:20 -04:00
Savanni D'Gerinel f09af67193 Add images for fancier stones 2024-04-01 00:14:15 -04:00
Savanni D'Gerinel 32391a46e7 Render the board in the background 2024-03-31 19:59:44 -04:00
Savanni D'Gerinel 0a62c96b0f Clippy 2024-03-31 19:36:44 -04:00
Savanni D'Gerinel 78863ee709 Cleanups 2024-03-31 18:16:41 -04:00
Savanni D'Gerinel 5cdcf0499c Improve ident calculation to help with tree drawing 2024-03-31 16:19:09 -04:00
Savanni D'Gerinel b982f2c1cc Start doing a bare basic rendering of nodes in a game tree 2024-03-31 14:09:48 -04:00
Savanni D'Gerinel 46b25cc6c5 Set up a BFS iterator over the node tree 2024-03-31 13:35:23 -04:00
Savanni D'Gerinel 9fbc630500 Game tree becomes a tree of UUIDs, not GameNodes
Doing this avoids reference lifetime hell
2024-03-30 11:00:54 -04:00
Savanni D'Gerinel b481d5d058 Adjust the coordinates calculated to be zero-based 2024-03-29 09:29:32 -04:00
Savanni D'Gerinel 7a06b8cf39 Work out how to calculate the horizontal position of each node 2024-03-29 09:10:38 -04:00
Savanni D'Gerinel 3192c0a142 Apply clippy to otg-gtk 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel acf7ca0c9a Resolve clippy warnings on otg-core 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel 64138b9e90 Resolve clippy warnings on SGF 2024-03-26 09:17:26 -04:00
Savanni D'Gerinel e587d269e9 Start on the foundations of a tree-drawing algorithm
I don't actually know what I'm doing. I've done some reading and from
that I'm doing experiments until I can better understand what I've read.
2024-03-26 09:17:26 -04:00
Savanni D'Gerinel 57aadd7597 Create the drawing area for the review tree 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel b70d927eac Render the board with the completed game state. 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 3a7f204883 Add more test data and ensure the mainline is returned even with branches 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 642351f248 Return the mainline of a game that has no branches in it. 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel d9bb9d92e5 Apply moves to the abstract board
To get here, I had to also build some conversion functions and make a
lot of things within the game record public
2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 30e7bdb817 Render the grid of the goban 2024-03-26 09:17:25 -04:00
Savanni D'Gerinel 556f91b70b Set the size of the drawing area 2024-03-26 09:17:25 -04:00