Neue Features: Satelliten-Orbits, Naturkatastrophen, Visual Modes
SATELLITEN (CelesTrak TLE): - Raumstationen (ISS), GPS, Galileo, Wetter, Erdbeobachtung, Starlink - Echtzeit-Positionsberechnung aus Kepler-Elementen (2s Update) - Orbitbahnen als leuchtende Linien (Stationen, GPS, Galileo) - Farbkodiert nach Gruppe (rot=Station, orange=GPS, blau=Galileo) NATURKATASTROPHEN (NASA EONET): - Waldbraende, Vulkane, Stuerme, Fluten, Erdrutsche, Eis - Farbige Punkte mit Emoji-Labels - Klick zeigt Details und Quellen VISUAL MODES: - STD: Standard-Ansicht - NVG: Nachtsicht (gruener Monochrom-Filter) - FLIR: Thermal-Ansicht (invertiert, Infrarot-Look) - CRT: Retro-Monitor (Scanlines, Vignette) 4 neue Dateien: satellites.js, disasters.js, visualmodes.js, data_satellites.py, data_disasters.py
Dieser Commit ist enthalten in:
41
static/js/layers/visualmodes.js
Normale Datei
41
static/js/layers/visualmodes.js
Normale Datei
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* Visual Modes: Nachtsicht (NVG), FLIR Thermal, CRT Scanlines.
|
||||
*/
|
||||
const VisualModes = {
|
||||
_current: 'standard',
|
||||
_overlay: null,
|
||||
|
||||
init() {
|
||||
this._overlay = document.getElementById('visual-overlay');
|
||||
},
|
||||
|
||||
set(mode) {
|
||||
this._current = mode;
|
||||
var container = document.getElementById('cesiumContainer');
|
||||
var overlay = this._overlay;
|
||||
|
||||
// Alle Mode-Klassen entfernen
|
||||
container.className = '';
|
||||
if (overlay) { overlay.className = 'visual-overlay'; overlay.style.display = 'none'; }
|
||||
|
||||
switch (mode) {
|
||||
case 'nvg':
|
||||
container.className = 'vmode-nvg';
|
||||
break;
|
||||
case 'flir':
|
||||
container.className = 'vmode-flir';
|
||||
break;
|
||||
case 'crt':
|
||||
container.className = 'vmode-crt';
|
||||
if (overlay) { overlay.className = 'visual-overlay vmode-crt-overlay'; overlay.style.display = 'block'; }
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// Button-States aktualisieren
|
||||
document.querySelectorAll('.vmode-btn').forEach(function(btn) {
|
||||
btn.classList.toggle('active', btn.dataset.mode === mode);
|
||||
});
|
||||
},
|
||||
};
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren