Brand system · unlisted

Skeleton.

The parts of an aka instrument that are not the instrument: one palette, one LookAndFeel, and the blocks a plugin gets assembled out of. It is a JUCE module, consumed by pinned tag the same way JUCE itself is. Everything on this page is derived from the same source that writes globals.css, so it cannot describe a palette the plugins are not compiling against.

9 blocks · 15 chassis colours · 2 themes

Blocks

4 of 9 shipping

What skeleton ships today. The shelf is deliberately short — this is the inventory a no-code builder would eventually compose from, and naming what is missing is more useful than implying it exists.

PaletteThe active theme and accent, and every colour that follows. Generated from the site's token source, so the plugins and the website cannot disagree.ships
LookAndFeelOne implementation replacing three. Rotary, linear slider, combo box, label, button and the font ramp — the seven overrides all three plugins had written separately.ships
KnobThe house rotary: arc, spoke, mono caption and a live value with magnitude-aware formatting. Tooltip, double-click reset, wheel and fine drag, right-click menu.ships
ModAssignHostThree methods a plugin implements so Knob can offer mod-assign without skeleton ever learning what a modulation matrix is. The pattern every future block follows.ships
paintPanelA panel with a header strip and a tinted module tab, returning the inner bounds to lay controls into. Lifted from enzyme, the only one of the three that had factored it out.partial
DeviceTabsPage switching along the top of the editor. Exists in i4 and moves here with the reskin, once there is a consumer to verify it against.planned
MetersOutput and header meters. bleep and i4 each have one; neither is generic yet.planned
PixelRackThe mark as a JUCE component — the site's engine ported, then fed live sequencer, grain or layer state instead of time alone.planned
OverlaysThe detail and cheatsheet overlays i4 uses to explain a parameter without leaving the page.planned

Chassis

generated

The plugin vocabulary, and the site token each colour comes from. Two names for the same idea is how the three plugins drifted apart in the first place, so the mapping lives in exactly one place and both the C++ emitter and this page read it. Each swatch shows dark then light.

bgDeep--background0xff0a0a09
bgPanel--card0xff111110
bgScreendeclared — plugins only0xff020201
divider--border over --card0xff292928
trackDim--muted0xff181817
textDim--muted-foreground0xff898987
textMidinterpolated0xffb8b9b6
textHi--foreground0xffeaeae8
textOnAccent--primary-foreground0xff0c0c0b
record--accent-rose0xffec7380
recordSoft--accent-rose, knocked back0xff733d42
selected--accent-amber0xfff0be67
selectedSft--accent-amber, knocked back0xff755f37
active--accent-green0xff69b57f
activeSoft--accent-green, knocked back0xff395b42

Accents

dark theme

Five accents at three strengths. An instrument picks one and spends no other — the same rule the site follows, where each plugin owns exactly one and puts it on a single status dot. soft and glow are the accent composited over the panel at 45% and 18%, flattened here because C++ needs an opaque word.

bluebase · soft · glow
greenbase · soft · glow
amberbase · soft · glow
rosebase · soft · glow
violetbase · soft · glow

Using it

cmake

Skeleton lives in the akaVST repository rather than one of its own; a plugin pulls that one directory out of it.

FetchContent_Declare(akaVST
    GIT_REPOSITORY https://github.com/akaieuan/akaVST.git
    GIT_TAG skeleton-v0.1.0
    GIT_SUBMODULES ""
    SOURCE_SUBDIR skeleton)
FetchContent_MakeAvailable(akaVST)

target_link_libraries(YourPlugin PRIVATE aka_skeleton)

# then, once, in the editor:
aka::LookAndFeel::setAccent (aka::accentRose);

GIT_SUBMODULES ""is not optional: CMake initialises submodules by default, so without it a plugin fetching akaVST also clones bleep, enzyme and i4 — including whichever one is doing the fetching. The block also has to come after the plugin's own JUCE fetch, since skeleton only fetches JUCE when it cannot already see it.