Commit graph

11 Commits

Autor SHA1 Nachricht Datum
Claude Dev
2be1f6a37d UI Overhaul: Groessere Elemente, bessere InfoBox-Platzierung
PANEL (links):
- 240px breit (war 200px)
- Checkboxen 16x16px (war 12x12)
- Dots 10px (war 8px)
- Layer-Namen 13px (war 11px)
- Counts 12px (war 10px)
- Mehr Padding pro Toggle-Zeile

INFOBOX (bei Klick):
- Links neben dem Panel platziert (254px vom Rand)
- 420px breit, max 60vh hoch, scrollbar
- Kollidiert nicht mit Panel oder Sidebar
- Groesserer Titel (14px), mehr Padding

PUNKTE AUF DEM GLOBUS:
- Flugzeuge: 3/4/5px (war 2/2.5/3)
- Schiffe: 3/4/5px (war 2/2.5/3)
- Militaer: 6px (war 4)
- Katastrophen: 10px (war 8)
- Erdbeben: 6-15px (war 4-10)
- GDELT: 7px (war 5)
- ISS: 14px (war 10)
- Cluster: +30% groesser

HEADER + FOOTER:
- Header 48px (war 44px)
- Footer 32px (war 28px)
- Titel 15px, Stats 12px
- Lage-Select + Suche groesser
2026-03-24 23:41:25 +01:00
Claude Dev
bfa74ec992 Militaerschiff-Datenbank mit Bildern + Klassifizierung
Neue Datei milship_db.py:
- MMSI-Laenderzuordnung (200+ Laendercodes)
- Schiffsklassen-Datenbank (Nimitz, Arleigh-Burke, Gorshkov,
  Type 052D, Queen Elizabeth, F125, Charles de Gaulle)
- Bilder aus Wikimedia Commons (frei lizenziert)
- Klassifizierung nach MMSI-Prefix + Schiffsname

Klick auf Militaerschiff zeigt:
- Foto der Schiffsklasse (wenn verfuegbar)
- Klassenname und Schiffstyp
- Herkunftsland (aus MMSI)
- MMSI, SOG, COG, Heading

API: GET /api/ships/military liefert alle Militaerschiffe
mit Klassifizierung und Bild-URLs.
2026-03-24 23:27:32 +01:00
Claude Dev
4b731823e6 Schiffsverkehr: Typ-Filter, Kurslinien, Dark Ships
SCHIFFSTYP-FILTER:
- 6 Kategorien: Tanker (rot), Cargo (orange), Passagier (gruen),
  Fischerei (blau), Militaer (magenta), Sonstige (grau)
- Einzeln ein-/ausblendbar via Checkboxen im Panel
- Farbkodierte Punkte nach Schiffstyp

KURSLINIEN-PROJEKTION:
- Zuschaltbar per Checkbox
- Zeigt 30min-Vorausprojektion basierend auf COG + SOG
- Farblich passend zum Schiffstyp, halbtransparent

DARK SHIPS ERKENNUNG:
- Backend erkennt Schiffe die >10min kein AIS-Update senden
- Positionshistorie (letzte 10 Positionen) gespeichert
- API-Endpoint: GET /api/ships/dark
- Verdaechtig wenn vorher aktiv (SOG>0.5) und jetzt still

Backend: ship_type aus AISStream MetaData gespeichert,
AIS-Typcode zu Kategorie klassifiziert (IMO Standard).
2026-03-24 23:21:06 +01:00
Claude Dev
07574d3c8f Fix: Kamera-Zoom bei Klick nicht mehr zu nah
Cluster-Klick Distanzen erhoeht: far 2.000->4.000km, medium 500->1.500km.
trackedEntity auf undefined gesetzt vor selectedEntity (verhindert Auto-Tracking).
2026-03-24 12:57:08 +01:00
Claude Dev
7b13829d7f Zoom-adaptive Darstellung: Cluster bei Uebersicht, Details bei Zoom
Flugverkehr + Schiffsverkehr:
- Weit (>5.000km): 5-Grad-Raster-Cluster mit Anzahl-Labels
- Mittel (1.000-5.000km): 2-Grad-Raster-Cluster
- Nah (<1.000km): Einzelne Punkte, Klick zeigt Details

Cluster: Punktgroesse proportional zu sqrt(Anzahl), weisses Count-Label.
Klick auf Cluster zoomt rein. Klick auf Einzelpunkt zeigt Info.
Kamera-Listener reagiert auf Zoom-Aenderungen (20% Schwelle).
2026-03-24 12:35:50 +01:00
Claude Dev
d3c1de9d5d Flights+Ships: PointPrimitiveCollection statt Entity API
Entity API (6.500+ Objekte mit Point+Label+Description) war zu schwer.
PointPrimitiveCollection ist WebGL/GPU-beschleunigt im CLIENT-Browser
und kann hunderttausende Punkte fluessig darstellen.

Klick-Details ueber ScreenSpaceEventHandler mit naechstem-Punkt-Suche.
Kein Server-GPU noetig — alles rendert im Browser des Users.
2026-03-24 12:33:11 +01:00
Claude Dev
7015a9e512 Flights+Ships: Alle Daten dargestellt, Clustering, Status-Anzeige
Flights: OpenSky liefert 6.500+ global, korrekte Hoehenkonvertierung
(ft->m), Cesium Entity-Clustering bei 30px/5min, Labels nur < 800km.
Status-Text zeigt Anzahl nach Laden.

Ships: Entity-Clustering aktiviert (25px/5min), Labels nur < 300km.
Status-Text zeigt Anzahl.

Beide Layer zeigen jetzt ALLE Daten komplett — Ukraine, Belarus,
Nahost, Afrika, Russland, China alles enthalten.
2026-03-24 12:29:39 +01:00
Claude Dev
6f4c5ab3a6 Ladebalken bei Layer-Aktivierung + Ortsnamen-Rendering verbessert
- Animierter Ladebalken unter jedem Layer-Toggle bei Datenabruf
- Status-Text (Lade Daten.../Fehler beim Laden)
- Fetch-Wrapper: nur 401 redirected zum Login, nicht 403
- Ortsnamen: minimumLevel, tileWidth/Height, LINEAR Texture-Filter
  fuer konsistente Schriftgroessen beim Laden
2026-03-24 12:22:21 +01:00
Claude Dev
bbf6c3d54b Fix: Marker durch Globus-Rueckseite sichtbar
disableDepthTestDistance entfernt — Punkte werden jetzt korrekt
vom Globus verdeckt und nur auf der sichtbaren Seite angezeigt.
2026-03-24 11:35:20 +01:00
Claude Dev
e946d9d52e Fix: Marker-Schleifen bei Globus-Bewegung
CLAMP_TO_GROUND durch NONE ersetzt bei Schiffen, Erdbeben, GDELT.
CLAMP_TO_GROUND verursacht Positionsneuberechnung gegen Terrain
bei jeder Kamerabewegung, was zu sichtbarem Mitschleifen fuehrt.
2026-03-24 11:33:31 +01:00
Claude Dev
30410f95dc AegisSight Globe: Initiales Release
Eigenstaendige GEOINT-Anwendung mit CesiumJS 3D-Globus.
Echtzeit-Datenlayer: Flugverkehr (airplanes.live, 64 Stuetzpunkte),
Schiffsverkehr (AISStream.io WebSocket), Erdbeben (USGS),
Nachrichten (GDELT GEO). FastAPI Backend, taktisches Dark-UI.
2026-03-24 11:21:27 +01:00