Language Features

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.

General Capabilities of the Language

  • 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

Language capabilities

  • 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)

Developing the Blueprints

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!