Skip to content

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

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.

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.