메르카토르 지도 위 3D 항공기 추적기
VANGUARD1은 선박, 항공기, 위성, 해저 케이블 등 전 세계 이동 객체를 실시간으로 시각화하는 3D 전술 정보 맵입니다. Three.js 기반으로 프레임워크나 빌드 과정 없이 구현되었으며, 개발자 콘솔에서 시뮬레이션 시간 제어와 물리 법칙 위반(위장/순간이동) 탐지 기능을 지원합니다. 실시간 AIS 데이터와 시나리오 재생 기능을 통해 군사·물류 분석 등 다양한 도메인에서 활용할 수 있는 오픈소스 프로젝트입니다.
VANGUARD1 — 다중 도메인 전술 정보 맵 (Multi-Domain Tactical Intelligence Map)
전 세계 이동 객체의 실시간 3D 맵: 실시간 선박 트래픽(AIS), 항공기, 위성, 해저 케이블, 항구, 해협 등 병목 구간, 우주 날씨를 주야 효과, 해양 시뮬레이션, 시네마틱 카메라 워크와 함께 150만 개 점 구름(point cloud) 지형으로 렌더링합니다. Three.js와 순수 ES 모듈로 제작되었습니다. 빌드 단계도, 프레임워크도 없습니다.
▶ 실시간 데모 — 가입 불필요: 시작 화면에서 VIEW DEMO를 클릭하면 가상 트래픽을 볼 수 있고, 무료 aisstream.io 키를 붙여넣으면 글로벌 실시간 선박 데이터를 볼 수 있습니다.
실행해보기
git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git cd Vanguard-Map npx serve .
또는: python -m http.server 3000
하드웨어 가속이 활성화된 Chromium 브라우저에서 http://localhost:3000 을 엽니다.
실시간 선박 데이터(무료): 앱은 첫 로드 시 aisstream.io API 키 입력을 요청합니다 — 무료 가입이며, 키는 브라우저의 localStorage에 저장됩니다.
고해상도 지형 타일(선택 사항): cesium.com/ion → Access Tokens에서 무료 토큰을 발급받은 후, DevTools에서 localStorage.setItem('vg1_cesium_token', 'YOUR_TOKEN')을 실행합니다. 이 토큰이 없으면 모든 확대 수준에서 점 구름 지형을 사용합니다.
항공편 및 AI 보조 파일럿(선택 사항): 로컬 프록시가 필요합니다 — 두 번째 터미널에서 node flight-proxy.js를 실행하세요. 이 프록시 없으면 해당 레이어는 비활성 상태로 유지되며, 나머지 모든 기능은 정상 작동합니다.
시간 제어 및 시나리오
이 맵은 시뮬레이션 시계와 플러그인 가능한 데이터 소스로 작동합니다 — DevTools 콘솔:
simClock.setTime('2026-05-10T12:00:00Z') // 세계를 임의 시점으로 이동 simClock.setRate(60) // 실제 1초 = 시뮬레이션 1분 vg1Scenario.load('./scenarios/hormuz-demo.json') // 스크립트된 가상 선박 주입 vg1Scenario.record(); vg1Scenario.save() // 실시간 AIS를 NDJSON으로 캡처 vg1Scenario.replay('./captures/x.ndjson') // 캡처본 재생 vg1Invariants.stats() // 물리 법칙 위반 원장(스푸핑/순간이동 탐지)
가상 선박은 예약된 999... MMSI를 사용하며 scenarios/*.json에 스크립트로 작성됩니다.
테스트
node tests/invariants.test.mjs
아키텍처
도메인별로 하나의 매니저(aisManager, flightManager, satelliteManager, …)가 있으며, vg1:* DOM 이벤트로만 통신합니다 — 크로스 임포트는 없습니다. 모든 위치 보고서는 엔티티를 이동시키기 전에 물리 불변량 게이트(invariants.js)를 통과합니다. 전체 모듈 맵과 기여 규칙은 CLAUDE.md를 참조하세요.
피드백
GitHub Issue를 열어주세요 — 버그 보고, 기능 아이디어, "내 컴퓨터에서 N fps로 실행됨" 보고 모두 유용합니다.