← All work

CASE STUDY - SOLICIS - ANONYMISED

A real-time 3D globe for training.

Instructors prepare a session on a 3D globe, then aircraft, vehicles and drones move across it in real time. The platform is built to plug into live data later. Instructors prepare a session on a 3D globe, then aircraft, vehicles and drones move across it in real time.

Role
Technical leadTechnical lead, front & back
Scope
Front & back architecture
Team
5 developers
When
2021 - 2024
Stack
Cesium JS, Three.js, Angular, Node.js, WebSocketCesium JS, Three.js, Angular, Node.js
Training session 07● paused

Cesium JS - live positions over WebSocket

T+00:14:32

Recreated demo. Not the client's product.

01 - HOW A SESSION RUNS

Prepare, run, go live.

  1. T+00

    Prepare

    Draw shapes and zones on the globe and place platforms by drag and drop to build the session.

  2. T+01

    Run

    Aircraft, vehicles and drones move in real time. Positions stream over WebSocket and are computed continuously.

  3. NEXT

    Go live

    The same engine is designed to plug into live data feeds later.

02 - UNDER THE HOOD

What made it hard.

  1. 01

    In-house GeoPackage

    A custom GeoPackage implementation to load and serve the map data the globe needs.

  2. 02

    Taming a 60 fps stream

    The simulator pushed every platform's position over WebSocket 60 times a second, far more than the render needed. We added a buffer and position estimation with trajectory correction, so movement stays smooth without processing every update.

  3. 03

    Drag-and-drop session prep

    Sessions are drawn and prepared by drag and drop, straight on the globe.