Blueprints are at the core of each exporter package. Blueprints define how exported code looks and can access all functionality Supernova has to offer. Most importantly, they have access to the Supernova Universal Data Model which describes every aspect of a design in a unified way, no matter the design source.
Blueprints are enabled by Blazar, a programming language developed specifically with code generation in mind. It is very similar to other templating languages, such as handlebars, so you'll feel at home when developing in it, with minimal time investment upfront.
However, Blazar is far more powerful than most templating languages, containing most of the functionality you'd expect from a full-fledged programming language, allowing you to build very complex procedures with ease.
It also comes with very specific features oriented toward code generation and some that are specifically enabled by the Supernova engine, like the ability to compute complicated layouts on the fly.
Lastly, to develop blueprints, Supernova comes with a robust toolchain supporting development, including a dedicated editor, smart autocomplete, debugging tools, and full developer documentation.
In the following chapters, you'll learn everything about blueprints, how they are used in Supernova, and what powers they give you.
Blueprints adjust to your needs and can be used for many different purposes, from generating static code to dynamic code that changes based on the project you use it with, to blueprints that compute data for later use.
Blueprints can be developed using Supernova's integrated editor or in any other text editor. Editing inside Supernova is preferred due to many extra developer tools available there.
Let's explore how blueprints function.