Toying With This Week (Dec 6 - Dec 12)
Added 2020-12-07 03:11:12 +0000 UTCCode Refactoring
So it turned out that math.js is...huge. Like as large of the rest XToys combined. There's a lesson there about paying attention to what you import. So I spent a while cutting down what I use from that package and how and it's a third of the size now and the site loads much faster.
I also finally cleaned up the Bluetooth connection code into a clean single common base for all the Bluetooth toys and reducing the number of device specific bugs as a result.
Toy Connection State Sync
This ended up draining the rest of last week. I couldn't go ahead with storing per connection toy state until I cleaned up how I handled toy connection state in general.
And then if I'm now storing that data it made sense to clean up the networking code.
And if I'm storing toy state per user I should also store who that user is and give the host at a glance view of who's all connected (needs to be done before I get to in-app chat anyway).
And if I'm doing all that I may as well finish the other session settings I've been intending of being able to toggle which users are allowed to control the toys and the option to manually approve access to the session.
...so no. Toy connection state still doesn't work. But I'm hoping by the end of this week that bit as well as all the networking bits to actually be ready for a 1.0 release will be finished! Hosted sessions seem to be where most of the usage of XToys is currently (duh there's a pandemic) so I'm glad I'm finally getting it finished. It's just such a slow tedious part to work on.
Other Stuff
I don't think I'm going to work on anything else in XToys aside from the networking code. I might have access to a Vibease toy this week or next and start integrating it. I might think about maybe finishing the guides. That's about it for the week.