Read-only mirror of https://github.com/Swiss-Armed-Forces/theia_frontend — Gruppe Verteidigung. Issues & pull requests at the source.
  • TypeScript 91.3%
  • CSS 5.1%
  • JavaScript 2.9%
  • HTML 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-05 15:56:15 +02:00
.claude/skills/run-app Add Claude SKILL 2026-08-04 15:45:35 +02:00
public Feature: Add favicon 2026-08-21 08:08:36 +02:00
src Refactoring: Generalise SIDC -> TargetInfo 2026-10-05 15:56:15 +02:00
.gitignore Initialise repo with vite 2026-03-05 16:32:33 +01:00
eslint.config.js Initialise repo with vite 2026-03-05 16:32:33 +01:00
index.html Feature: Add favicon 2026-08-21 08:08:36 +02:00
package-lock.json Bump version to v0.3.0 2026-09-18 18:24:19 +02:00
package.json Bump version to v0.3.0 2026-09-18 18:24:19 +02:00
README.md Update README 2026-10-01 14:31:03 +02:00
tsconfig.app.json Initialise repo with vite 2026-03-05 16:32:33 +01:00
tsconfig.json Initialise repo with vite 2026-03-05 16:32:33 +01:00
tsconfig.node.json Initialise repo with vite 2026-03-05 16:32:33 +01:00
vite.config.ts Initialise repo with vite 2026-03-05 16:32:33 +01:00

Theia Frontend

A live visualisation frontend for a running Theia simulation: situational picture, ground truth, and sensor coverage on a map.

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

Installation

npm install

The frontend polls a theia_backend server for live simulation data. It expects that server at http://localhost:8000 (not currently configurable). Start a scenario simulation interactively — see the backend's running the server docs — before starting the frontend.

Map tiles are fetched live from public OpenStreetMap/ArcGIS servers; no local terrain or tile data is needed for this repository.

Running

npm run dev

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

Development

Regenerating backend communication types

The backend's OpenAPI schema is used to generate typed API bindings. Export it from the backend repo, then regenerate the types:

# in theia_backend
python scripts/export_openapi.py ../theia_frontend/src/hooks/openapi.json

# in theia_frontend
cd src/hooks/
npx openapi-typescript openapi.json -o schema.d.ts