
Carte de renseignement tactique multi-domaine 3D — navires, vols, satellites, câbles et météo spatiale en direct dans le navigateur. Exploration temporelle, relecture de scénario, détection d'anomalies basée sur la physique.
Une carte 3D en temps réel des choses en mouvement dans le monde : trafic maritime en direct (AIS), aéronefs, satellites, câbles sous-marins, ports, points de passage stratégiques et météorologie spatiale — rendue sous forme d'un nuage de terrain de 1,5 million de points avec jour/nuit, simulation océanique et travail cinématographique de la caméra. Construit avec Three.js et des modules ES bruts. Pas d'étape de construction, pas de framework.
▶ Démo en direct — aucune inscription nécessaire : cliquez sur VIEW DEMO sur l'écran d'ouverture pour le trafic synthétique, ou collez une clé aisstream.io gratuite pour les données mondiales de navires en direct.

git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git
cd Vanguard-Map
npx serve . # or: python -m http.server 3000
Ouvrez http://localhost:3000 dans un navigateur Chromium avec accélération matérielle.
Données de navires en direct (gratuites) : l'application demande une clé API aisstream.io API lors du premier chargement — inscription gratuite, la clé reste dans le localStorage de votre navigateur.
Tuiles de terrain haute résolution (optionnelles) : obtenez un jeton gratuit sur
cesium.com/ion → Access Tokens, puis dans DevTools :
localStorage.setItem('vg1_cesium_token', 'VOTRE_TOKEN'). Sans cela, la carte utilise
le terrain en nuage de points à tous les niveaux de zoom.
Vols et copilote IA (optionnel) : nécessitent le proxy local —
node flight-proxy.js dans un second terminal. Sans cela, ces couches restent silencieuses ;
tout le reste fonctionne.
La carte fonctionne sur une horloge simulée et des sources de données enfichables — console DevTools :
simClock.setTime('2026-05-10T12:00:00Z') // scrub the world to any moment
simClock.setRate(60) // 1 real second = 1 sim minute
vg1Scenario.load('./scenarios/hormuz-demo.json') // inject scripted synthetic vessels
vg1Scenario.record(); vg1Scenario.save() // capture live AIS to NDJSON
vg1Scenario.replay('./captures/x.ndjson') // replay a capture
vg1Invariants.stats() // physics-violation ledger (spoof/teleport detection)
Les navires synthétiques utilisent des MMSI réservés 999... et sont scriptés dans scenarios/*.json.
node tests/invariants.test.mjs
Un gestionnaire par domaine (aisManager, flightManager, satelliteManager, …),
communiquant uniquement via des événements DOM vg1:* — pas d'imports croisés. Tous les rapports de position
passent par une porte d'invariant physique (invariants.js) avant de pouvoir déplacer une entité.
Voir CLAUDE.md pour la carte complète des modules et les règles de contribution.
Ouvrez une Issue GitHub — les signalements de bogues, les idées de fonctionnalités et les rapports "cela tournait à N fps sur ma machine" sont tous utiles.