Scoreo Version 2.0
A big update to Scoreo has been a work in progress for a long time now, and I'm finally ready to release it. I wasn't happy with how the catalyst version of the Mac app worked, so this build introduces a fully native Mac app written 100% in SwiftUI.
There were two big obstacles for the new version. First, the graphs I had built previously were entirely in UIKit, and second the way I had built the player score interface as a vertical table of horizontally scrolling rows didn't work at all on MacOS.
So I took the opportunity to experiment with the new Grids in SwiftUI which were perfect for this usage. I can layer horizontal grids with headers and footers for the player name and total inside a big vertical grid with a header with the round titles. This works fantastic on both macOS and iOS, is easier to interact with, and makes it much much easier to integrate the text fields inline in the table.
I decided to try rebuilding the graphs in SwiftUI as well to keep as much code as possible shared between the platforms. This took a fair bit of work, but in the end is quite a big simpler than the original UIKit graphs.
There is still a lot I'd like to improve in this release. There's some things that don't look quite right on the graphs, and a few interface optimizations and power-user features that are missing in this release, but it's been a long time since I pushed an update to Scoreo and it's long since time for me to deploy something.
Hopefully now that everything is standardized in SwiftUI and working great on all platforms it will be easier for me to push little updates and features more often.