Like with all good projects, this one's genesis involved some copious amounts of alcohol and a discussion over MSN Messenger about Rubik's cubes and Minesweeper. Obviously, the topic quickly degenerated into combining the two into a 3D Minesweeper and we learned that, while such games already exists, all available options are either Linux-exclusive, expensive, or buggy.
I found the situation absolutely unacceptable, so I ended up spending my winter break on learning the basics of OpenGL and creating the first prototype for Boxes and Bombs, which I called CubeSweeper back then. The result was such as one would expect, update logic tied to framerate, GL_SELECT picking, and about a dozen unnecessary dependencies. Ugh.
This all happened about a decade ago, so I thought it's about time for me to try again and hopefully do a bit less of an awful job this time. Download it here.
Update January 1st, 2013 3:07 PM: Made a mistake in the change log of the previous version, the method that supersedes the BlazeGears.BGTL.parse method is called compileTemplate, not parseTemplate. Made a new release (v1.1.0-s.1) with the fixed change log.
Well, this one took quite a while, mostly because I spent the majority of my time on planning how I'm going to clean up the API. So I'll go crazy on the deprecated label for the next release.
This release renames some members of the API, fixes some bugs, and adds QUnit unit tests for most of the important functionality, so I'll have a harder time introducing new bugs in the future. Also, I removed all eval'd functionality that would cause problems with JavaScript minifiers/compilers that shortens the names of the local variables and arguments.
I realized that (according to the documentation) the updateEntity function was working as expected, so I reverted the last fix made to it. Whoops.
Found a couple of cases where some methods silently fail. Now they throw exceptions instead.
Update February 3rd, 2012 1:41AM: I forgot to update the version number and history in the readme and license files. Made a new release (v1.0.1-s.1) with the fix. The amount of ones here is getting a bit unsettling.
Apparently, I'm unable to follow even my own design documents. Anyway, the BlazeGears.Format class is now properly declared as a singleton, as it meant to be.
After years of tinkering, two renaming, and about six complete rewrites, I think my JavaScript toolkit has reached a state where it can be kicked out of the nest.
Originally, it started out as a supporting toolkit for a CMS, and as the years gone by I stuffed it with more and more of the general functionality that I have been using in most of the websites I created. Eventually, the CMS itself got scrapped, so I stripped out the functionality specific to it and made the interface a bit more suitable for general use.
This is my first attempt at creating a public API, so it will most likely end up getting butchered pretty soon. Probably should't have labeled it stable, yet. Oh well. Download it here.
First!