Terminology
The Fluxta words these docs use.
Fluxta has a small vocabulary, and the rest of these docs lean on it. This page is a reference, not a prerequisite: skim it once and come back when a word does not land.
What the user sees
- Deck — the grid of buttons the user interacts with, on the desktop app or on a phone connected to it.
- Board — one screen of the deck. A user can have many and navigate between them.
- Item — one button on a Board. This is the thing a user presses.
- State — a named look for an Item: its title, icon, and colour. An Item can have several States and switch between them, which is how a button shows that something is on or off.
These are not yours to change
A plugin never creates Boards or Items, and never changes how one looks. It contributes behaviour; the user decides where that behaviour goes.
What runs
- Trigger — what starts an Item's behaviour. Each Item keeps a separate list
of Actions per trigger, so pressing and holding can do different things. The
triggers are
press,release,hold, andrepeat. - Action — one step of behaviour. Some Actions are built into Fluxta ("Next State", "If/Else"); the rest come from plugins. The Actions a plugin declares are the main thing it contributes.
- Action list — the ordered steps under one trigger. The user builds it; Fluxta runs it top to bottom.
- Run — one execution of an Action list, start to finish. Steps inside a Run are sequential: Fluxta awaits each Action before starting the next. Separate Runs are independent and can overlap, which is why a handler must tolerate concurrency.
- Event — an app-wide automation that runs its own Action list when something happens in the outside world, instead of when a button is pressed.
- Event Source — a happening a plugin declares and announces, such as
chat-messageorscene-changed. A user picks one when creating an Event. An Event Source can carry typed Event Fields — who sent it, what it said — which the user can filter on.
What your plugin contributes
- Manifest —
manifest.json, the file that declares everything the plugin offers. Fluxta reads it to populate the UI, and ignores anything the code registers that the manifest did not declare. See the manifest reference. - Background process — the Node.js program Fluxta starts from the
manifest's
main. It holds the plugin's connections and runs its Actions. - Action Editor — the settings form for one placed Action, shown when the user edits that button. It runs as a web page in a sandboxed iframe.
- Plugin Editor — the settings page for the plugin as a whole, shown in the app's settings. Also a sandboxed iframe.
- Action settings — what the user configured for one placement of an Action.
Each placement has its own. The Action Editor writes them; the Action receives
them as
ctx.settings. - Plugin settings — one set of settings for the whole plugin, shared by every placement: an API token, a hostname. Readable and writable from both the background process and the editors.
Values that flow between steps
- Run Variable — a value one Action produces for later steps of the same
Run. The Action declares what it can produce in the manifest and returns it
from
onTrigger; a later step reads it by address, written{{plugin.action.key}}. It lives only for that Run. See Run Variables. - Value Source — a fact a plugin exposes for an If/Else step to branch on, such as "is OBS connected" or "is a timer running on this button". There are two kinds: one the plugin pushes ahead of time, and one Fluxta asks for at the moment the condition is evaluated. See Value Sources.
- Options Source — a live list a plugin supplies to fill a dropdown while the user is editing: the scenes that currently exist, the audio inputs available. It saves the user from typing a value by hand. See Operand options.
Getting it to users
- Marketplace — the in-app browser where users find and install plugins.
- Development link — a pointer from Fluxta to a local build folder, so the
app runs the code you are working on instead of an installed copy.
fluxta restartsets it up andfluxta unlinkremoves it. See Development.