# Developer Guide

**URL:** https://backstage.severedcircuits.com/c/developers/developer-guide/20.md

[Latest](https://backstage.severedcircuits.com/latest.md) · [Categories](https://backstage.severedcircuits.com/categories.md) · [Tags](https://backstage.severedcircuits.com/tags.md)

---

## [Axion developer guide](https://backstage.severedcircuits.com/t/axion-developer-guide/44)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/axion-developer-guide/44 "2026-10-19T01:02:28Z")

</div>

Build, test, and package LV2 devices and Vue UIs that run on Axion. Axion is an open platform. Any device you build as an LV2 or VST3 plugin (a distortion, a modulation, an amp model, a utility) runs on the hardware exa…

---

## [Axion SDK](https://backstage.severedcircuits.com/t/axion-sdk/39)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/axion-sdk/39 "2026-10-19T01:02:27Z")

</div>

The module a device UI imports: parameters, meters, hardware encoders, and LEDs. A device UI talks to the platform through two surfaces: axionSDK: a module you import composables and helpers from. This is the recommen…

---

## [Testing](https://backstage.severedcircuits.com/t/testing/60)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/testing/60 "2026-10-19T01:02:31Z")

</div>

Unit-test your DSP as plain C++ and verify it is real-time safe. Because your DSP is separate from the backend wrapper (see Building a Device), most of it is testable as ordinary C++, with no host and no audio hardware.…

---

## [Reference](https://backstage.severedcircuits.com/t/reference/57)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/reference/57 "2026-10-19T01:02:31Z")

</div>

Precise reference for the manifest and the UI SDK. Exact, tabular reference for the pieces you use across the guide. Where earlier chapters gave the narrative, these give the details. Manifest schema: every recognized…

---

## [Manifest Schema](https://backstage.severedcircuits.com/t/manifest-schema/55)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/manifest-schema/55 "2026-10-19T01:02:30Z")

</div>

Every recognized manifest.json field, the backend blocks, and the parameter spec. manifest.json describes a device to Axion. Field names are camelCase. Unknown fields are preserved but not schema-validated (see Extra fi…

---

## [axionSDK (UI)](https://backstage.severedcircuits.com/t/axionsdk-ui/53)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/axionsdk-ui/53 "2026-10-19T01:02:30Z")

</div>

The complete export list of the axionSDK module available to device UIs. axionSDK is a virtual module registered for vue3-sfc-loader, so a device SFC imports from it directly: import { useDeviceInstance, useMeterData, …

---

## [Packaging](https://backstage.severedcircuits.com/t/packaging/52)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/packaging/52 "2026-10-19T01:02:30Z")

</div>

Install layout, presets, distribution, and the security boundary for third-party devices. A device is distributed as its bundle folder. Once copied onto the unit, it lands in a predictable layout that Axion discovers an…

---

## [Presets](https://backstage.severedcircuits.com/t/presets/50)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/presets/50 "2026-10-19T01:02:29Z")

</div>

Ship presets inside your device bundle: where they live and the file format. A preset is a named set of parameter values for one device. A third-party device ships its presets inside its bundle’s presets/ folder; Axion …

---

## [Distribution](https://backstage.severedcircuits.com/t/distribution/49)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/distribution/49 "2026-10-19T01:02:29Z")

</div>

Assemble the bundle, hand it to a user, and verify it. To hand a device to someone else, you ship its bundle: a folder named after the device that the user copies onto the unit. This page covers what goes in it, how a u…

---

## [Building a Device](https://backstage.severedcircuits.com/t/building-a-device/48)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/building-a-device/48 "2026-10-19T01:02:29Z")

</div>

Choose a backend, write real-time-safe DSP, and describe it with a manifest. A third-party device’s audio backend is one of two things: Backend When to use it You export LV2 The default for portable effects/amp…

---

## [VST3 & Existing Plugins](https://backstage.severedcircuits.com/t/vst3-existing-plugins/47)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/vst3-existing-plugins/47 "2026-10-19T01:02:29Z")

</div>

Wrap an existing VST3 as a device: a Linux VST3, or a Windows VST3 installed through Axion’s installer. If you already have a VST3 (your own, or a third party’s), you can ship it as an Axion device without rewriting the…

---

## [Real-Time Safety](https://backstage.severedcircuits.com/t/real-time-safety/46)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/real-time-safety/46 "2026-10-19T01:02:29Z")

</div>

The one hard rule of the audio thread, and the patterns that keep a device glitch-free. Axion’s audio runs on a dedicated real-time audio thread (48 kHz, small buffers). Your audio callback runs there, and breaking the …

---

## [Create an LV2 Device](https://backstage.severedcircuits.com/t/create-an-lv2-device/45)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/create-an-lv2-device/45 "2026-10-19T01:02:28Z")

</div>

Build, describe, and install an LV2 device end to end, using the Axion 8-Band EQ as the template. This walkthrough builds a complete LV2 device modeled on the Axion 8-Band EQ, a real, shipping device. Copy its shape and…

---

## [Glossary](https://backstage.severedcircuits.com/t/glossary/43)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/glossary/43 "2026-10-19T01:02:28Z")

</div>

Terms used throughout the developer guide. Terms used throughout this guide. B Backend: A device’s audio implementation: an LV2 bundle or a VST3. Declared in the manifest’s backend block. Bundle: The self-contained di…

---

## [Getting Started](https://backstage.severedcircuits.com/t/getting-started/42)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/getting-started/42 "2026-10-19T01:02:28Z")

</div>

What you build for Axion, how a device bundle is shaped, and the toolchain you need. This guide is for developers extending Axion with new devices. By the end of the first chapter you’ll have built and installed a worki…

---

## [Custom UI](https://backstage.severedcircuits.com/t/custom-ui/41)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/custom-ui/41 "2026-10-19T01:02:28Z")

</div>

Give a device a branded touchscreen panel: a Vue 3 SFC using the axionSDK. A device’s UI is a Vue 3 single-file component (SFC). You ship the raw .vue file in your bundle; Axion fetches and compiles it at runtime with v…

---

## [Worked Example: Green Scream](https://backstage.severedcircuits.com/t/worked-example-green-scream/40)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/worked-example-green-scream/40 "2026-10-19T01:02:27Z")

</div>

A line-by-line tour of a real device UI: photographic panel, knobs, bypass, and the shared parameter dock. The Green Scream overdrive (an example bundle named green-scream) is a compact, complete device UI: a photograph…

---

## [Styling](https://backstage.severedcircuits.com/t/styling/38)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/styling/38 "2026-10-19T01:02:27Z")

</div>

Designing a device panel for the touchscreen: full-bleed layout, touch targets, the user’s color scheme, and assets. Device UIs are built for a physical touchscreen, not a desktop window. That shapes every layout decisi…

---

## [Shared UI Components](https://backstage.severedcircuits.com/t/shared-ui-components/37)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/shared-ui-components/37 "2026-10-19T01:02:27Z")

</div>

The built-in UI controls (UIKnob, UIFader, meters, and more) that a device UI can drop in without importing. Axion ships a set of touchscreen-ready controls (knobs, faders, meters, toggles, and layout helpers) that the …

---

## [Focus Mode](https://backstage.severedcircuits.com/t/focus-mode/36)

<div class="topic-metadata">

**Author:** [@severed](https://backstage.severedcircuits.com/u/severed)\
**Replies:** 0\
**Last updated:** [October 19, 2026, 1:02am UTC](https://backstage.severedcircuits.com/t/focus-mode/36 "2026-10-19T01:02:26Z")

</div>

Take over the footswitch bar from a full-screen UI with the FocusMode component. Focus Mode is the on-screen footswitch bar that appears along the bottom of the screen when a full-screen view wants to remap the physical…
