The following features are currently available. Checked features are already fully implemented, while unchecked is in progress.
The language is mostly fully capable of all functionality you'll need and we are now focused on improving the convenience and speed with which you write the Blueprints.
Ability to export any code output, regardless of the language
Access to Supernova Computing Engine (layout, animations, and others)
Access to Supernova Rendering Engine (assets)
Access to Supernova Universal Data Model
Statically defined content
Dynamically defined and computed content
Data transformers
String transformers and String Lib
Numeric transformers and Math Lib
Array and dictionary transformers
Support transformers
Control Flows
If, else if, else, chaining
Switch, cases, default, chaining
Loops and iterators, including recursive ones
Injections and inclusions
Debug flows
Scoped variables and constants
Global variables
Global, multi-blueprint variables and context passing
Injectable blueprints, nested blueprints, emitted blueprints
Pre-defined functions, transformers for all common tasks
Pre-defined functions to retrieve any piece of the data model
Single and multi-line comments
Full UTF-8 support
Option to produce multiple results/files from a single blueprint
Boolean logic using functions such as @and, @or, and others
Math library using functions such as @sum, @add, and others
Boolean operators such as &, |, >, <, >=, <=, ==, !=, !, nil
Math library using operators *, +, -, /
Custom functions
Note that Boolean and Math operations are fully supported, only shorthand syntax using operators is still work in progress. And finally, because it deserves its own category:
Ability to merge existing code with auto-generated one (code guards)
When developing blueprints, it is vitally important to have all the best tools to make the development a breeze. Blazar ships with a toolchain that allows you to quickly build, test, and ship blueprints, speeding up your developer efficiency dramatically.
Suggestions and autocomplete engine, even for incomplete blueprints
Blueprint to file system mapping
Debugging and error handling
Syntax highlight, even for incomplete blueprints
Debug console
Breakpoints
In the following parts, we'll go through what all functions, transformers, and flows are available. If you are interested in a specific functionality, use the search field at the top of the page to find it.
We are always on the hunt for additions to the language that will make your life easier. If you have ideas as to what you'd like to do with Blueprints down the road, please let us know!