Better look & feel, discovered Filament
Captain's Log: Stardate 77609.5
Today I did a lot of look-and-feel work on Anukari's basic GUI elements. The main thing that got me started was that I've long felt that the default JUCE typefaces are much too small, especially for tooltips. So I went through and changed all the typefaces to a more readable size, and in so doing, expanded the size of some of the menu components and so forth.
I also did some work on the precision slider look and feel. I know I said I was done with the sliders, but this morning I finally had my wife do some user testing with them. Overall she found them pretty easy to use, but she did mention that there was one thing that confused her: when she spun the thumbwheel, it moved just the lower bound for one of the interval sliders. This is because the thumbwheel does precision adjustments for whatever the last element you interacted with was. This is desirable so that you can precision-adjust just the lower/upper bounds.
So to make this interaction a little bit more obvious, I changed things so that the active slider element (lower bound, upper bound, both) is highlighted. That way when the thumbwheel moves it, it makes more sense why. I also implemented a simple animation for mouse hovers, so it's obvious what parts of the slider you can interact with. Now these sliders are feeling really good.
Captain's Log: Supplemental Actually there is one more piece of development news. Yesterday I came across a 3D rendering library by Google called Filament. I've done a fair bit of reading, and it seems that for my use cases it is going to be far superior to DiligentEngine, which is the engine that I was formerly planning to use to make the graphics cross-platform. Plus, unlike DiligentEngine, it is free.
DiligentEngine is very powerful, but from day one I have absolutely detested the APIs. There's nothing wrong with them per se, but they are built in a more Windows-y style that I just hate working with (imagine a field named "ptex2DPreintegratedGGXVar").
But it's not just that I don't like the DiligentEngine APIs. Filament is a little bit higher-level, and it is vastly simpler to set up. I'm really excited about this discovery (and mystified as to how I didn't find it earlier), since it should let me improve the graphics and get prepped for Mac sooner than I was expecting.
Here's a screenshot of how the GUI is looking these days