
خريطة استخبارات تكتيكية متعددة المجالات ثلاثية الأبعاد — سفن حية، رحلات جوية، أقمار صناعية، كابلات وطقس فضائي في المتصفح. تنظيف زمني، إعادة سيناريو، كشف الشذوذ القائم على الفيزياء.
خريطة ثلاثية الأبعاد في الوقت الفعلي للأشياء المتحركة في العالم: حركة السفن الحية (AIS)، الطائرات، الأقمار الصناعية، الكابلات البحرية، الموانئ، نقاط الاختناق، والطقس الفضائي — معروضة كسحابة تضاريسية تحتوي على 1.5 مليون نقطة مع محاكاة الليل والنهار والمحيطات، وعمل كاميرا سينمائي. بُنيت باستخدام Three.js ووحدات ES النقية. لا توجد خطوة بناء، ولا إطار عمل.
▶ عرض حي — لا حاجة للتسجيل: انقر VIEW DEMO على الشاشة الافتتاحية للحركة الاصطناعية، أو الصق مفتاحًا مجانيًا من aisstream.io لحركة السفن العالمية الحية.

git clone https://github.com/jamalrfordii-arch/Vanguard-Map.git
cd Vanguard-Map
npx serve . # or: python -m http.server 3000
افتح http://localhost:3000 في متصفح Chromium مع تسريع الأجهزة.
بيانات السفن الحية (مجانًا): يطلب التطبيق مفتاح API من aisstream.io عند التحميل الأول — تسجيل مجاني، المفتاح يبقى في localStorage في متصفحك.
بلاط التضاريس عالي الدقة (اختياري): احصل على رمز مجاني من cesium.com/ion ← Access Tokens، ثم في أدوات المطور: localStorage.setItem('vg1_cesium_token', 'YOUR_TOKEN'). بدون ذلك، تستخدم الخريطة تضاريس سحابة النقاط في جميع مستويات التكبير.
الرحلات الجوية والمساعد الذكي (اختياري): يتطلب الوكيل المحلي — node flight-proxy.js في طرفية ثانية. بدونها تبقى تلك الطبقات صامتة؛ كل شيء آخر يعمل.
تعمل الخريطة على ساعة محاكاة ومصادر بيانات قابلة للتوصيل — وحدة تحكم أدوات المطور:
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)
تستخدم السفن الاصطناعية أرقام MMSI محجوزة 999… وهي مبرمجة في scenarios/*.json.
node tests/invariants.test.mjs
مدير واحد لكل مجال (aisManager, flightManager, satelliteManager, …)، يتواصلون فقط عبر أحداث DOM من نوع vg1:* — لا استيرادات متبادلة. جميع تقارير المواقع تمر عبر بوابة فحص الفيزياء (invariants.js) قبل أن تتمكن من تحريك كيان. راجع CLAUDE.md لخريطة الوحدة الكاملة وقواعد المساهمة.
افتح مشكلة على GitHub — تقارير الأخطاء، أفكار الميزات، وتقارير "هذا يعمل بمعدل N إطار في الثانية على جهازي" كلها مفيدة.