Terminal & Mainframe
Terminal is the workspace you use to see a fleet, plan missions, watch video, and review what happened. Mainframe is the service behind it: it keeps the shared state, stores history, checks permissions, and runs mission tasking. Modules connect simulators, aircraft, sensors, and other systems to Mainframe.
Start with the route that matches what you want to do:
| I want to… | Start here |
|---|---|
| Open the workspace and understand what I see | Your first session |
| Run the project on my laptop | Local development |
| Understand the architecture or build a module | How the system fits together |
| Run staging on a server | Deploy staging |
| Diagnose missing data or broken video | Monitoring and troubleshooting |
One shared operational picture
Section titled “One shared operational picture”A module announces an entity, such as an aircraft or radar, and the capabilities it supports. Mainframe validates its data, records it, and sends updates to connected workspaces. When an operator issues a command, Mainframe checks the operator’s access and the entity’s command policy before forwarding it.
Live video takes a separate path through SRS, the media server. Mainframe manages access and recording indexes. The media indexer uploads closed recordings to a private S3 bucket so you can replay them later.
Development, staging, and hardware
Section titled “Development, staging, and hardware”Local development includes known test accounts and a virtual fleet. Staging uses generated credentials, managed object storage, and explicitly seeded missions. Its auto-operator is restricted to virtual aircraft with SIM-STG- serial numbers from the world-sim provider. Real aircraft can share Mainframe without entering that selection.
Hardware behavior depends on the connected module, aircraft, firmware, and configured authority. A control shown as unavailable reflects those constraints. A successful software test is separate from a verified flight on actual hardware.
Implementation plans, design reviews, and historical acceptance notes live in the repository’s dev-docs/ directory. This site describes the current interfaces and the steps a developer or operator needs.