- Added "hide cursor" preference. This just causes the mouse pointer to disappear automatically after a few seconds when over the Game window, and reappear when moved (you'll see the same behavior when watching a YouTube video, for example). This was actually a feature many years ago, but removed when it caused problems. In all likelihood my code was buggy, but I removed it instead of chasing it down.
- Fixed a bug when player images are missing (from version 3.4).
- Removed some obsolete code and updated additional places where paths were being created using "/" or "\" instead of using proper os-specific methods (this will help should we ever get the TD to run on MacOS or Linux).
- Realized many places we show a file dialog were actually implemented incorrectly, and fixed them.
- Discovered that the loading of tournaments when running stats had slowed WAY down. Figured this was due to me changing file I/O back to synchronous instead of asynchronous. Returned this part to asynchronous and didn't see any improvement. Finally realized the introduction of a package that allows for proper detection of file encodings (which is required since some files saved with the TD could be encoded with ASCII, UTF-8, or UTF-16) caused this. Found a workaround to return it to normal speed and still use the encoding detection.
- Added 10 new screen transitions because I can't help myself.
- Started working on restyling the scrollbars on the built-in screens (Player Rankings, Seating Chart, etc), since we can now do this.
- Fixed the <timer> token, which previously used VML (no longer supported on any browser), to use SVG.
Most time was spent working on the layout. I experimented using flexbox and it turns out the Chrome rendering issue I was trying to avoid is also present when using flexbox or grid layout. So it doesn't help to retool the layout in this way. I spent quite a bit of time experimenting, testing, and going back and forth between using "zoom" versus "scale" for layout scaling. I found a new issue with "zoom" that ultimately pushed me to decide to move ahead using "scale".
zoom: actually looks good, but doesn't work on iframes. I can probably work around the iframe issue. But also noticed that using zoom can change the way the layout looks. That is, a scaled down version of the screen using "zoom" may not look exactly like a smaller version, but may have spacing changes within the layout.
scale: Looks great, works with iframes, but introduces gaps between elements.
So to give you an idea of the "introduces gaps" issue with using "scale", here is the default layout scaled to 640x480:
Notice the line below the description? That shouldn't be there. Also, the lines below "No Limit Texas Hold 'Em", "Next Round: No Limit Texas Hold 'Em", and "Blinds $15/$30" shouldn't be there.
If I turn off borders, the issue is even more pronounced. There should be NO white lines in this image:
I decided that I could probably modify the layouts to avoid this (mostly) and just live with it as a Chrome bug until they finally fix it. Shortly after that I realized that having property sets be part of columns and rows would be required, which is not a simple change. It might be the right thing to do eventually, but I don't want to make that kind of change yet.
But today through some additional google-fu I finally found that I am not the only person who has seen this issue. It was submitted to Google in June of 2017, so I'm not holding my breath on it being fixed anytime soon. However, the same search came with a workaround, which I
*think* will work for us. When I apply the workaround, the layout looks like this:
And with borders turned off:
Yay!
I just got back from a vacation, so I've got to get my head back around where I'm at in this process. Making progress every day and getting much closer.