Pack Authoring

A pack is a fixed 8-slot container that maps actions onto the pads in Pad Mode. Each slot holds one action, or is empty. The pack file is the source of truth; pad mode just renders whichever pack is currently active.

This page covers the authoring side: creating packs, renaming them, editing their metadata, and assigning actions to slots. Pad Mode covers the runtime side, from turning Pad Mode on to firing pads from a hardware controller.


Where packs live

Pack files have the .fpack extension and live in your library folder (Documents/Fusor/ by default) under Packs/:

<library>/
  Packs/
    set-1-warmup.fpack
    closing-set.fpack

Each .fpack is a small JSON document with a fixed eight-slot array. Slots reference actions by their stable actionId, so renaming an action or moving its file doesn't break the pack. Deleting an action removes it from every pack that referenced it the next time those packs are read.


The Packs list view

Open the Library popover and switch to Actions → Packs. The Packs sub-tab is a table with two data columns and two icon columns:

ColumnNotes
NameThe pack's display name. The active pack is rendered in bold blue.
ActionsHow many slots are filled (0–8).
Hamburger iconShow actions — filters the Actions sub-tab to this pack's contents
Info iconPack details — opens the pack's form, the same view the right-click menu's Details reaches

The header carries a single action:

  • + New Pack (blue plus icon) — prompts for a pack name; creates an empty pack file on disk and adds it to the list.

Right-click menu

Right-click a pack row for the per-pack menu:

ItemWhat it does
Show ActionsFilters the Actions sub-tab to only this pack's contents.
Edit Pad SlotsOpens the slot editor (see below).
DetailsOpens the pack's metadata form (Name / Notes).
Set Active (or Set Active (switch))Makes this pack the one Pad Mode renders. The label reads "switch" when a different pack is already active.
DeactivateVisible only on the currently-active pack. Clears the active selection; Pad Mode shows "No active pack" until a pack is set active again.
DeleteRemoves the .fpack file from disk, after a confirmation prompt.

The active pack persists across app restarts.


The pack form (Details)

The info icon on the row, or right-click → Details, opens the pack's form view. (Double-clicking a row runs Show Actions instead.) The form has a small fixed shape:

FieldEditable?Notes
NameYes (click to edit)Saves on blur. The on-disk filename is regenerated from the name; the pack's packId is preserved across renames. Renaming to a name that already exists is rejected with an error.
Short nameYes (click to edit)The compact label used where there isn't room for the full name. Saves on blur.
ActionsNoNumber of filled slots (read-only).
NotesYes (click to edit, multi-line)Free-form notes about the pack — what set it's for, what venue, what mood. Saves on blur.
CreatedNoRelative date the pack was created.

Edits autosave on blur, the same as the action and fusor detail views, so there's no Save button.


The Pad Slot Editor

Right-click a pack → Edit Pad Slots to open the slot editor. The editor is a two-column overlay inside the Library popover:

ColumnWhat it shows
LeftThe eight numbered slots (1–8), stacked top to bottom. Filled slots show the action's name and an X to clear; empty slots show "empty" in italic.
RightA Filter actions… text input above a list of every library action not already in this pack.

The header carries the pack name, a back arrow to return to the Packs list, and a <filled>/8 counter on the right.

Drag-and-drop

The slot editor is drag-driven:

  • Add an action to a slot. Drag the action from the right column onto any slot. If the slot is empty, the action lands there. If the slot is occupied, the existing action is bumped out, but the new action is still added.
  • Move a slot. Drag a filled slot onto another slot to move the action. If the target is empty, the source slot empties; if the target is occupied, the two swap.
  • Clear a slot. Click the X on the right end of the slot row.

The drag-over target highlights with a dashed blue border so you can see where the drop will land.

All slot edits write to disk immediately. There's no Save button on the slot editor.

When the action list is empty

The right column shows one of two empty messages:

  • "All actions assigned" — every action in the library is already in this pack. (The pack is full at eight, so this only happens if the library has eight or fewer actions.)
  • "No matches" — the filter input is hiding everything; clear the filter to see the actions again.

Authoring loop

A typical session goes:

  1. Library → Actions → Packs → + New Pack. Name it for the set or context.
  2. Right-click the new pack → Edit Pad Slots.
  3. Drag actions from the right column onto the slots. Reorder by dragging slot-to-slot.
  4. Back arrow to return to the Packs list.
  5. Right-click → Set Active so Pad Mode uses this pack.
  6. Toggle Pad Mode from the menubar (the grid icon in the session group). The pads now reflect this pack. See Pad Mode for the runtime walkthrough.

You can keep multiple packs in the library and switch between them at performance time via right-click → Set Active.


Tips

  • Group actions by context, not by type. A warm-up pack and a closing pack will share some actions and differ on others. Packs are cheap; make as many as you need.
  • A slot is one action. There's no compound-pad type, so if you want two things to happen on one pad press, author a single .faction that contains both steps and assign that.
  • Renaming an action doesn't break any pack that references it; renames are looked up by actionId, not by file name.
  • The .fpack file is small JSON, safe to keep under version control alongside your .faction and .fusor files.

Where to next