Settings
Terminal → Settings… (⌘,) has three rails. Terminal holds this browser’s preferences: General (theme, launch height, pin names, attitude colours), Keyboard (the key ramp and every binding), Controller (a USB gamepad or DualSense), Timeline (the bar under the workspace and its default window), Video (which overlays draw on every feed, the latency compensation and the guide style; see Video and replay) and Voice (the microphone, the output device, the input volume with its meter, and the browser’s echo cancellation, noise suppression and auto gain — shared by every voice room you are in; see Voice). They apply as you change them and live in this browser only.
Keyboard and Controller list every action and every entry, including the ones computed from data: each panel (Map, Fleet…), each aircraft (V03 · Vanagas 03), each saved layout (Layout: Night), each chat group (Chat: Ops) and each pin name (Pin Bravo at Aircraft). The lists follow the data: save a layout and its row is there without a reload. A binding whose entry is not present right now (a layout since deleted, a pin name removed, a room not yet loaded) is kept as a dormant row, shown muted with not present and an unbind button, and it fires again the moment the entry returns. Rows marked held are held actions: the key or pad button acts while it is down and lets go when it is released (Peek Tabs shows the tab strips while Hide Tabs is on; Talk in <room> and Talk in Every Room transmit in a push-to-talk room, see Voice).
Pin names (General) are the names offered by the pin entries on keys and pad buttons: A B C D by default, any number from one to twelve, each up to 20 characters without dots. Add a name with Enter, remove it with ×; renaming is remove and add, and a binding to the old name goes dormant until a name like it returns.
Mainframe holds the deployment’s shared settings, one document per section, read by every service that used to read a constant or an environment variable:
| Section | What it changes | Applies |
|---|---|---|
| Operations | Autonomy (rule taskings propose or act) and the launch battery minimum Terminal enforces | at once |
| Coverage | Which geofence bounds the coverage grid, which border line forms the strip, the cell size, the freshness horizon, the fade horizon of the map’s coverage-age fog, the strip width | within seconds; the section shows the cell count and warns near the server’s limit |
| Media | The default record policy, recording retention, overrides by aircraft or tag, the longest video clip and how long clips are kept | at once; retention at the next daily run |
| Retention | State, telemetry and bulk horizons | at the next daily run (daily chip) |
| Workspace | The workspace name (the sign-in card), the layout a new Terminal starts with, a map centre when no marking decides it | at once |
| Comms | How long chat messages and their files are kept (Keep messages, 90 days), the largest chat upload (Upload limit, 25 MB) |
retention at the next daily run (daily chip); the upload limit at once |
| Groups | The chat groups: a name, an id fixed at creation, tags a grant’s tag scope can follow |
at once |
| Rooms | The voice rooms, the same way | at once |
Access holds the account and, for administrators, the deployment’s users, roles, keys, audit log and the Security section; see Access.
| Section | What it changes | Applies |
|---|---|---|
| Security | Session age, login rate limit (after restart), password minimum length, the two-factor requirement, passkeys and single sign-on (after restart), personal key maximum age |
at once unless chipped |
A setting that only a restart applies carries an after restart chip.
Who can edit
Section titled “Who can edit”Every signed-in role reads the Mainframe rail; only administrators can save. Other roles see the rows with a read only chip and disabled controls. A principal without read access sees the Terminal rail alone.
Groups and Rooms are lists rather than forms: New group / New room asks for a name (the id follows it until you change it; it never changes afterwards) and tags; the row menu offers Rename… and Delete, which never asks — the toast offers Undo. Every Terminal sees a change at once. Only administrators write; everyone else sees a read only chip and disabled controls.
The other Mainframe sections are a form: change rows, then Save (or Revert). Saves are compare-and-set. If another administrator saved first, the footer reads Changed by <name> · Reload; Reload replaces your draft with their document, nothing merges. Every saved change is an event (settings.changed) in the Events panel naming the section, the fields with their old and new values, and who saved.
Initial values
Section titled “Initial values”The first boot seeds each section from mainframe.config.ts and the environment (MAINFRAME_AUTONOMY, the retention and media horizons). After that the documents are the source: changing those environment variables has no effect on an initialised database. See Configuration.