v1.13.0 - 3D-Karte mit Chase-Cam, Gebäudeschatten und Zeit-Slider
Neue Lovelace-Karte: Bosch eBike 3D-Karte
Diese Version ergänzt eine fünfte Lovelace-Karte, bosch-ebike-3d-map-card. Sie startet mit einer Liste der letzten Touren. Beim Klick auf eine Tour öffnet sich eine 3D-Verfolgerkamera-Ansicht mit MapLibre und kostenlosen OpenFreeMap-Vektor-Tiles. Die bestehenden Karten (Map, Heatmap, Calendar, Dashboard) sind unverändert.
Was die Karte zeigt
- Tour-Liste als Einstieg, mit Datum, Titel, Distanz und Dauer
- 3D-Map mit Gebäude-Extrusionen aus OpenStreetMap-Daten via OpenFreeMap
- Chase-Cam: die Kamera folgt dem Bike von hinten, Pitch und Zoom konfigurierbar
- Bike-Marker mit pulsierendem Ring, immer im unteren Drittel des Bildes mit Blick auf die Strecke voraus
- Cast-Shadows von Gebäuden: Sonnenstand-basierte Schatten werden auf den Boden projiziert. Schatten richten sich nach Azimut und Höhe der Sonne zur jeweiligen Slider-Zeit. Tagsüber sichtbar, bei Nacht ausgeblendet.
- Zeit-Slider scrubbbar über die ganze Tour
- Play- und Pause-Button mit proportionaler Wiedergabegeschwindigkeit (Default 60× Echtzeit, eine 1h-Tour läuft in 1 Minute)
- Live-Stats: kumulierte Distanz, Geschwindigkeit, Höhe, alle linear zwischen GPS-Samples interpoliert für ruckelfreien Verlauf
- Zeit- und Sonnen-Chip im Overlay zeigt aktuelle Uhrzeit und Tageslicht-Phase
- Map-Beleuchtung passt sich dem Sonnenstand an: warm bei Sonnenuntergang, kühl-bläulich tagsüber
Glättung gegen Schwindel
Mehrere Glättungs-Stufen sorgen dafür, dass die Kamerafahrt nicht zittert:
- Bearing-Glättung (Default 15-Punkt-Fenster): die Kamera-Drehung wird vorab pro Track-Punkt aus einem gleitenden Mittel der Fahrtrichtungen berechnet. Wrap-Around bei 0°/360° wird korrekt behandelt.
- Track-Positions-Glättung (Default 2-Punkt-Fenster): die GPS-Punkte selbst werden gemittelt, damit GPS-Rauschen nicht in den Kamerapfad durchschlägt. Die sichtbare Track-Linie auf der Karte zeigt unabhängig davon immer die echten rohen GPS-Daten.
- Fraktionale Interpolation zwischen GPS-Samples: bei 1 Hz GPS und 60 fps Wiedergabe werden Position, Bearing, Höhe und Distanz pro Frame linear interpoliert, so dass die Kamera nicht alle 16 Frames auf den nächsten Sample-Punkt schnappt.
Alle drei Stufen sind konfigurierbar.
Karten-Konfig-Optionen
type: custom:bosch-ebike-3d-map-card
title: Tour in 3D
height: 540
default_pitch: 55 # Chase-Cam-Neigung 20-65°
chase_zoom: 17 # Sicht-Distanz, ca. 100 m bei Zoom 17
smooth_window: 15 # Bearing-Glättung
track_smooth_window: 2 # Positions-Glättung
playback_speed: 60 # Echtzeit-Multiplikator
account_id: "" # optional, auf Konto fixieren
bike_id: "" # optional, auf Bike fixierenTechnologie
- MapLibre GL 5.6 wird beim ersten Aufruf der Karte von unpkg.com nachgeladen (ca. 800 KB gzipped, danach gecacht). Lazy-Loading hält die übrigen Karten leichtgewichtig.
- OpenFreeMap Liberty als Vektor-Tile-Quelle, ohne API-Key oder Anmeldung
- NOAA-basierte Sonnenstands-Mathematik mit korrekter Wrap-Around-Behandlung
- Gebäudeschatten als CPU-seitig projizierte konvexe Hüllen, gerendert als flache GeoJSON-Fill-Schicht unter den Gebäude-Extrusionen. Throttle auf 500 ms damit Performance auch in dicht bebauten Innenstädten stabil bleibt.
Bewusst nicht enthalten
- Geländeschatten (Berge, Hügel): bräuchte DEM-Höhendaten als Tile-Source und Ray-Casting im Shader. Geplanter Folge-Schritt, wenn Interesse besteht.
- Satelliten-Ansicht: testweise enthalten, dann wieder entfernt weil die freien Esri-Tiles für die Chase-Cam-Geschwindigkeit zu langsam laden.
Nach dem Update
Browser einmal hart neu laden (Cmd+Shift+R oder Ctrl+Shift+R). Im Card-Picker erscheint die neue Karte unter "Bosch eBike 3D-Karte". Keine Auswirkungen auf bestehende Dashboards.