User interface improvements
Most panes are now resizable to your heart's content by dragging their edge.
The asset tree widget gained a proper icon for the "Open in new window" button, and very long names are now properly ellipsed.
Dialogs now support client-side validation so you'll be greeted with a nice informative message before the dialog closes rather than afterwards.
Resigned game splash screen
The default game splash screen has been redesigned to feature our mascott, Leonard. The screen resizes automatically based on the viewport width so it should look great both on desktops as well as mobile phones, even in portrait mode.
If your game can't be loaded for any reason, an informative message will now be displayed, be it because the build wasn't found, there was a script compilation error or even if WebGL couldn't be initialized.
Script editor improvements
When hovering code, a tooltip will now appear providing useful type information about whatever your cursor is pointing at.
We merged the workers responsible for auto-completion and error reporting (for lower memory usage) and made them persistent for faster error reporting and auto-completion.
The auto-completion popup doesn't blink anymore and it provides type and signature information about the choices it offers.
Debugging, restored!
We're using source maps to let you debug using the original TypeScript code of your scripts even though they are compiled to JavaScript (ES5) when running the browser. Sadly, this was broken in Chrome 43 because source maps can no longer be loaded from blob URLs. so we switched to data URLs.
It's actually a little nicer since the scripts will now appear in a folder bearing the name of your game rather than in a (no domain) node.
Builds are served on a separate port
Serving builds on the same port as the client led to funny things like Sup.Storage.clear() clearing your server authentication settings. So the builds are now served on port 4238 by default. You can configure this in the launcher settings.
Color picker
When tinting sprites, models or text renderers, you'll now be presented with a native color picker rather than a simple text field.
Camera ordering and layers
When working with multiple cameras, you can now explicitely define their rendering order (which one appears on top) with the depth setting and correspondig API methods. Previously, the cameras were ordered by their position in the actor tree, but this isn't very convenient.
A rendering layer system has been added. Each actor now belongs to a layer and you will soon be able to customize which layers a camera should render (Elisée wasn't able to finish that part in time). This will be particularly useful for rendering your game's user interface with a separate camera without having to move the related actors far away from the in-game actors.
Mouse picking in the scene editor
You can now (finally!) select actors by clicking on them in the scene editor. Transform handles to move, rotate and scale things around are coming very soon!
glTF import fixed and improved
It turns out the glTF animated 3D model importer was broken in the latest release.
Apparently no one uses it at the moment since no one complained ;).
The long-standing 90° rotation work-around for animations has been removed and replaced with support for any Y-axis orientation. Any existing glTF model will need to be reimported (or it'll have a -90° rotation around the X axis). Sorry about that, we try to minimize breakage when possible but hey, this is early access!
Prefabs didn't make the cut, sorry!
A prefab (scene-in-scene) system has been implemented but we've decided to disable it at the last minute because of concerns about the approach. They are implemented as a special component rather than an actor setting, which after some thought might come back and bite us later.
This issue should be dealt with in time for the next release.
Under the hood
As with each release, we're continuing to brush up the codebase and try to avoid accumulating technical debt. It may not look like much but all those clean ups add up and help us keep Superpowers stable and fun to hack on. With our open source release drawing closer, this is even more important :)
Most editors have been split in multiple files for easier navigation.
While all of the code in the three main repositories of Superpowers had been ported to TypeScript, we still had a few CoffeeScript dependencies. perfect-resize, tab-strip, dnd-tree-view and operational-transform have now been ported too, so we were able to remove coffeeify entirely.
All editors using the game engine now update and play animations in a framerate-independent fashion.