Read-only mirror of https://github.com/Swiss-Armed-Forces/theia_scenario_editor — Gruppe Verteidigung. Issues & pull requests at the source.
  • TypeScript 92.2%
  • JavaScript 5.4%
  • CSS 2.3%
  • HTML 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-08 11:50:16 +02:00
.claude/skills/run-app Feature: Cruise Missile 2026-10-08 11:50:16 +02:00
public Vite create 2026-07-22 09:46:38 +02:00
src Feature: Cruise Missile 2026-10-08 11:50:16 +02:00
.gitignore Vite create 2026-07-22 09:46:38 +02:00
.oxlintrc.json Vite create 2026-07-22 09:46:38 +02:00
index.html General layout and map working 2026-07-22 11:15:53 +02:00
package-lock.json Bump version to v0.3.0 2026-09-18 18:25:17 +02:00
package.json Bump version to v0.3.0 2026-09-18 18:25:17 +02:00
README.md Feature: Cruise Missile 2026-10-08 11:50:16 +02:00
tsconfig.app.json Update tsconfig 2026-07-22 15:23:47 +02:00
tsconfig.json Vite create 2026-07-22 09:46:38 +02:00
tsconfig.node.json Vite create 2026-07-22 09:46:38 +02:00
vite.config.ts Vite create 2026-07-22 09:46:38 +02:00

Theia Scenario Editor

A graphical editor for building Theia scenarios: placing sensors and effectors, and assembling an order of battle (orbat).

For the concepts behind what you're editing (physics model, system architecture), see the theia_backend documentation.

Installation

npm install

The editor talks to a theia_backend server for terrain models, PCL transmitter data, default sensor configurations, and coverage calculations. It expects that backend server at http://localhost:8000 (not currently configurable). Start it in standalone mode — see the backend's running the server docs — before starting the editor.

Running

npm run dev

Serves the editor at http://localhost:5173. Stop it with Ctrl+C.

Missiles

The editor has two kinds of missile, each with its own button, list and settings form. Both are placed with two map clicks: launch point, then target.

  • Ballistic missiles (+ Ballistic Missile) fly a ballistic arc.
  • Cruise missiles (+ Cruise Missile) follow the terrain at a set height above ground, within configurable climb and descent angle limits, and finish with a terminal dive onto the target. Out-of-range values in the settings form are flagged and not applied.

For both, the map only shows the straight line between launch point and target. The actual flight path is computed by the backend when the scenario is simulated. For the cruise missile's flight model and parameters, see the backend's doc/source/concepts/cruise_missile.rst.

Offline map tiles

By default, map tiles are fetched live from public OpenStreetMap/ArcGIS servers. A local/offline tile server fallback exists (localhost:8080) for use without internet access.

Note

TODO: document how to set up the local tile server.