# Quellen und Lizenzen Stand: 3. November 2026 (Abgleich Ticket 32 gegen `server/`, `apps/web`, `apps/site`, `packages/*` und `scripts/`). Dieses Register ist die eine Stelle für alle Daten-, Kachel-, Textur-, Modell-, Schrift-, Audio- und Softwarequellen der Produktiv-App. Es entstand aus den READMEs der Labore `prototypes/integriert/`, `prototypes/rendering/`, `prototypes/steuerung/` und `prototypes/schirm/`. Die App zeigt Gelände, Luftbilder, Gebäude, Seilbahnen und Startplätze ausschließlich über den eigenen Allowlist-Proxy (`server/routes/tiles.ts`, `obstacles.ts`, `site.ts`). Keine Google-Kacheln, keine API-Schlüssel und keine kostenpflichtigen Konten. Neue Quellen werden im selben Commit hier eingetragen (AGENTS.md) und zusätzlich in `packages/shared/src/data-sources.ts`. Aus dieser strukturierten Liste entsteht die öffentliche Datenseite `/daten` (Ticket 77); maßgeblich bleibt dieses Register. `packages/shared/src/data-sources.test.ts` prüft, dass jede Quelle der Liste hier vorkommt und die Paketversionen zu den `package.json` passen. Nur frei nutzbare Lizenzen (CC0, CC BY, ODbL, OGD, Licence Ouverte); Non-Commercial-, Editorial- und ShareAlike-Assets werden nicht übernommen. ## Geodaten | Quelle | Lizenz / Pflichtangabe | Verwendung und Bearbeitung | | --- | --- | --- | | [AWS/Mapzen Terrarium / Tilezen](https://registry.opendata.aws/terrain-tiles/) | Unterschiedliche Ursprungsdaten; **keine pauschale CC-BY-Lizenz**. Vollständiges [Tilezen-Attributionsregister](https://github.com/tilezen/joerd/blob/master/docs/attribution.md) beachten (u. a. SRTM, EU-DEM und nationale Höhendaten). | Globales DEM; Terrarium-PNG-Dekodierung, Gelände-Mesh und Höhenabfragen im Prototyp. Produktiv zunächst nur Proxy, z0–15. Bei Datenauslieferung regionale Pflichtangaben aus dem Ursprungsregister mitführen. | | [Bayern DOP](https://geodaten.bayern.de/opengeodata/OpenDataDetail.html?pn=dop40) | © Bayerische Vermessungsverwaltung, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Orthofoto; Zuschnitt/Projektion als Geländetextur und Dachatlas. Laufender WMTS-Datenstand, kein festgefrorener Bildjahrgang. | | [basemap.at Orthofoto](https://basemap.at/) | Datenquelle: basemap.at, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Österreichische Orthofotos; Geländetextur. Laufender WMTS-Datenstand. `google3857` ist der Matrixname des österreichischen Dienstes, keine Google-Datenquelle. | | [Orthofoto Südtirol 2023](https://data.civis.bz.it/dataset/ortofoto-2023) | Autonome Provinz Bozen – Südtirol, [CC0](https://creativecommons.org/publicdomain/zero/1.0/); Quellenhinweis freiwillig beibehalten | WMTS-Layer `p_bz-Orthoimagery:Aerial-2023-RGB`, Geländetextur. Lizenz laut amtlichem CKAN-Datensatz (`cc-zero`). | | [EOX Sentinel-2 cloudless 2016](https://tiles.maps.eox.at/wmts/1.0.0/WMTSCapabilities.xml) | Sentinel-2 cloudless 2016 by EOX IT Services GmbH, contains modified Copernicus Sentinel data 2016; [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Nur Layer `s2cloudless_3857`, Jahrgang **2016**, bis z14. Neuere NC-Jahrgänge sind ausgeschlossen, auch als Fallback. | | [swisstopo SWISSIMAGE](https://www.swisstopo.admin.ch/en/orthoimages-swissimage) / [WMTS](https://wmts.geo.admin.ch/) | [Open Government Data](https://www.swisstopo.admin.ch/en/terms-of-use) ohne restriktive Zweckbindung; Quellenangabe nach swisstopo-Datennutzungsbedingungen | Schweiz/Liechtenstein, automatisch pro Kachel über `swisstopo`, maximal z18; laufender Datenstand. | | [IGN Géoplateforme Orthophotos](https://geoservices.ign.fr/ortho) / [WMTS](https://data.geopf.fr/wmts) | [Licence Ouverte / Etalab](https://www.etalab.gouv.fr/licence-ouverte-open-licence/) | Französische Alpen, automatisch pro Kachel über `ign`, maximal z18; laufender Datenstand. | | [GURS Ortofoto DOF025](https://podatki.gov.si/dataset/ortofoto) / [WMS](https://ipi.eprostor.gov.si/wms-si-gurs-dts/wms?request=getCapabilities&service=WMS) | Geodetska uprava Republike Slovenije, Ortofoto (DOF025, laufender Datenstand), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); kommerzielle Nutzung, Weitergabe und Bearbeitung laut [Pogoji uporabe](https://www.e-prostor.gov.si/dostopi/javni-dostop/?acitem=1821-1822) erlaubt | Slowenien, automatisch pro Kachel über `gurs` (Ticket 63): WMS-GetMap `SI.GURS.ZPDZ:DOF025_3857` je XYZ-Kachel, maximal z18; außerhalb Sloweniens weiße Flächen werden durch EOX/basemap.at ersetzt. | | [Bayern LoD2](https://geodaten.bayern.de/opengeodata/OpenDataDetail.html?pn=lod2) | © Bayerische Vermessungsverwaltung, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Hindernis-Datenbau (`scripts/obstacles`): Ausschnitt, Höhenfilter, Koordinaten-/Höhenanpassung, Triangulation, DOP-Dachatlas; Quellen-URLs/Hashes im Versionsmanifest. Landmarken siehe „3D-Modelle (Landmarken)“. LoD1-Gebäude Bayerische Alpen (Ticket 89, `scripts/obstacles/lod1.ts`, Version `vlod1-by-*`): CityGML-Kacheln über `poly2metalink`, je Gebäudeteil Grundriss aus `GroundSurface`, Traufe/First aus tiefstem/höchstem Dachpunkt über dem Grund, Brücken/Tunnel ausgelassen, nach WGS84 transformiert, vereinfacht (0,2 m) und auf 0,1 m quantisiert; Sockel setzt der Client aufs Terrarium-Gelände. Dateiliste mit SHA-256 in `.sources.json`, je Block ein Sammeleintrag im Versionsmanifest. | | [BEV DLM Bauwerke](https://www.bev.gv.at/Services/Produkte/Digitales-Landschaftsmodell/Bauwerke.html) ([GeoPackage 2026-03-23](https://data.bev.gv.at/download/DLM/DLM_20260323/DLM_8000_BAUWERK_20260323.gpkg)) | BEV – Bundesamt für Eich- und Vermessungswesen, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) („Für dieses Produkt gilt die Standardlizenz CC-BY-4.0“) | LoD1-Gebäude Österreich (Ticket 62, `scripts/obstacles/lod1.ts`): Layer `BWK_8100_BAUWERK_F`, Transformation nach WGS84, Grundriss vereinfacht (0,2 m) und auf 0,1 m quantisiert, Traufe/First aus `HOEHE_OBJEKT_*` abgeleitet bzw. bei fehlenden Werten geschätzt; Sockel setzt der Client aufs Terrarium-Gelände. Quell-URL/SHA-256 im Versionsmanifest. | | [IGN BD TOPO®](https://geoservices.ign.fr/bdtopo) / [WFS](https://data.geopf.fr/wfs) `BDTOPO_V3:batiment` | IGN, [Licence Ouverte / Etalab 2.0](https://www.etalab.gouv.fr/licence-ouverte-open-licence/) | LoD1-Gebäude Französische Alpen (Ticket 62): Traufe/First aus `altitude_minimale_sol`, `altitude_minimale_toit`, `altitude_maximale_toit` (Rückfall `hauteur`, `nombre_d_etages`, sonst geschätzt), Grundriss vereinfacht/quantisiert. WFS-Antworten je Block im Cache eingefroren, URL/SHA-256 im Versionsmanifest. | | [GCG2016 / BKG](https://cdn.proj.org/de_bkg_README.txt) | © Bundesamt für Kartographie und Geodäsie – BKG – Deutschland, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Quasigeoid zur Höhenumrechnung; [PROJ-Gitter](https://cdn.proj.org/de_bkg_gcg2016.tif), bislang nur Offline-Vorverarbeitung im Prototyp. | | [OpenStreetMap](https://www.openstreetmap.org/copyright) | © OpenStreetMap-Mitwirkende, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/) | Seilbahnen und Startplatz-/Gipfelmetadaten aus offizieller OSM-API. Bearbeitete Seilbahndatenbank im Prototyp unter ODbL; bei Übernahme Share-Alike beachten. Mock-Starts und geschätzte Richtungen sind keine amtliche Fluggebietsfreigabe. | | [Open Glider Network (OGN), APRS-Strom](https://www.glidernet.org/ogn-data-usage) | „Data provided by OGN are under the licence [ODbL](https://opendatacommons.org/licenses/odbl/1-0/)“; Hinweis „OGN · ODbL“ im Flug, solange „Live-Piloten (OGN)“ an ist. DDB-Privatsphäre beachten, nichts älter als 24 h weitergeben. | Optionale Live-Piloten (Ticket 65, Standard aus, Server nur mit `PARA_SIM_LIVE_TRAFFIC=1`): eine Read-only-Verbindung `aprs.glidernet.org:14580` (Kennung `PSIMLIVE`, Passcode -1). Nur Gleitschirme/Drachen; Stealth, No-Tracking und DDB `tracked=N` verworfen; Adressen und Rufzeichen bleiben auf dem Server, nur RAM, Fixe ≤ 2 min. Mit „Namen anzeigen“ (Ticket 92) ein Label: bei DDB `identified=Y` Kennzeichen · Wettbewerbsnummer, sonst der FANET-Name aus dem Status-Paket (`Name="…"`), nie bei DDB `identified=N`. Darstellung ist ein „Produced Work“, keine abgeleitete Datenbank. | | [OGN Device Database (DDB)](https://ddb.glidernet.org/) | [ODC-BY 1.0](https://opendatacommons.org/licenses/by/1-0/), Namensnennung „OGN Device Database“ | Sperrliste `tracked = "N"`, Merker `identified = "N"` und für `identified = "Y"` die Felder `registration` und `cn` als Label (Ticket 92); täglich geladen, nur im RAM. | ## Thermik und Wetter | Quelle | Lizenz / Pflichtangabe | Verwendung und Bearbeitung | | --- | --- | --- | | [DWD CDC](https://opendata.dwd.de/climate_environment/CDC/), Station 01550 Garmisch-Partenkirchen | Deutscher Wetterdienst, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) laut [Nutzungsbedingungen](https://opendata.dwd.de/climate_environment/CDC/Nutzungsbedingungen_German.pdf); Quellenvermerk „Quelle: Deutscher Wetterdienst“ | Windmessungen 2006–2025 nur ausgewertet: Richtung, Stärke und Tagesgang des Talwind-Presets Garmisch (`packages/shared/src/wind-presets.ts`). Keine Rohdaten im Repo oder in der Auslieferung. | | [thermal.kk7.ch](https://thermal.kk7.ch/) – Paragliding Thermal Maps (Hotspots, Datenstand 2026-03-07) | **Nur kostenlose Version.** „The Paragliding Thermal Maps Project by M. von Känel is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License“ ([CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)); Pflichtangabe „thermal.kk7.ch, CC BY-NC-SA 4.0“. Bewusste, befristete Ausnahme von der Regel „keine NC/SA-Daten“ (Fabian, 3.11.2026). | Ticket 78, `scripts/thermals/build.ts`: je Kategorie (Quartal × Tageszeit, 20 Stück) ein CSV-Download des Alpen-/DACH-Ausschnitts, in 1°-Zellen geschnitten und auf 1e-5° quantisiert. Abgeleitete Zellen ebenfalls CC BY-NC-SA 4.0 (Share-Alike; Manifest, Header `X-Data-License`). Auslieferung `/data/thermals/v1` nur hinter `KK7_THERMALS` (Standard: Free an, Pro aus bis Genehmigung). Verwendung: Hausbärte/Auslöser in `placeThermals`, Punkte im G-Modus. | | Wolken und Tagesgang | prozeduraler Projektcode | Cumuli, Basis und Bedeckung aus den Setup-Reglern (`packages/sky`); kein Wettermodell, keine Vorhersage, keine Live-Wetterdaten. Thermikmodell siehe Allen 2006 unter „Software und Modellreferenzen“. | ## 3D-Modelle (Landmarken) Ticket 30, Hindernis-Datenversion v3 (`scripts/obstacles/landmarks.ts`, `osm3d.ts`). Es wird **kein** fremdes Mesh übernommen; die Modelle entstehen im Datenbau aus amtlichen und offenen Geodaten. Ausgeschlossene Alternativen (Sketchfab NC/Editorial, Google-Earth-Extrakte, Minecraft-Nachbauten) und die Recherche stehen in `docs/research/landmark-3d-modelle.md`. | Landmarke | Quelle | Lizenz / Pflichtangabe | Bearbeitung | | --- | --- | --- | --- | | Schloss Neuschwanstein | [Bayern LoD2](https://geodaten.bayern.de/opengeodata/OpenDataDetail.html?pn=lod2), Kachel [`630_5268`](https://download1.bayernwolke.de/a/lod2/citygml/630_5268.gml) (SHA-256 `c9403eba…`) | Bayerische Vermessungsverwaltung – www.geodaten.bayern.de, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Schlossgebäude `DEBY_LOD2_107562277` nur als Lage-/Höhenreferenz (Dachoberkante kalibriert den OSM-Sockel), nicht ausgeliefert; übrige Gebäude der Region zugeschnitten, transformiert, an das DEM angepasst, mit DOP-Dachatlas. | | Schloss Neuschwanstein | OpenStreetMap, Gebäude und `building:part` (u. a. Palas way 221599090, Viereckturm 221599098, Treppenturm 1573767747), Overpass-Abfrage vom 3.11.2026 | © OpenStreetMap-Mitwirkende, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/) | 38 Teile nach Simple 3D Buildings extrudiert (Höhen, `roof:shape`, Kegeldächer; Farben aus OSM-Tags auf eine gedeckte Sandstein-/Grau-/Schiefer-/Kupfergrün-Palette gezogen, Baustellen-/Gerüstteile ausgelassen, Ticket 51); Produced Work, die Gebäudedaten liegen mit OSM-Way-ID und Herkunft im Kachel-JSON (Share-Alike). | | Tegelberg (Ticket 86) | Bayern LoD2, Kacheln [`632_5268`](https://download1.bayernwolke.de/a/lod2/citygml/632_5268.gml), `632_5270`, `634_5268`, `634_5270` | Bayerische Vermessungsverwaltung – www.geodaten.bayern.de, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Bergstation Tegelbergbahn, Tegelberghaus, Talstation und übrige Gebäude der Region 10.7562–10.785 / 47.5555–47.57 zugeschnitten, transformiert, an das DEM angepasst, mit DOP-Dachatlas. | | Tegelberg (Ticket 86) | OpenStreetMap, Seilbahn Tegelbergbahn (way 24555306) und Lifte der Region, Grundrisse ohne LoD2-Gegenstück; Overpass-Abfrage vom 3.11.2026 | © OpenStreetMap-Mitwirkende, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/) | Seilbahn mit Stützen/Durchhang wie die Garmischer Bahnen (Stationshöhen aus LoD2, Stützen teils geschätzt); fehlende Grundrisse extrudiert (ohne Höhenangabe 6 m). | | Zugspitze (DE) | Bayern LoD2, Kacheln [`648_5252`](https://download1.bayernwolke.de/a/lod2/citygml/648_5252.gml) (SHA-256 `2a068752…`) und `650_5252` | Bayerische Vermessungsverwaltung – www.geodaten.bayern.de, [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | Gipfelgebäude (Münchner Haus, Bergstation, Gipfelkomplex) zugeschnitten, transformiert, mit gemeinsamem DEM-Offset (Median) ausgerichtet, DOP-Dachatlas, prozedurale Betonfassade. | | Zugspitze (AT) | OpenStreetMap, Bergstation Tiroler Zugspitzbahn (way 31898623) und weitere Grundrisse; Seilbahnen der Gipfelregion | © OpenStreetMap-Mitwirkende, [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/) | Grundriss extrudiert; Höhe der Tiroler Bergstation **geschätzt** (Dachkante ≈ 2961 m NHN), übrige Gebäude ohne Höhenangabe 6 m. Kein offenes LoD2/3D-Modell des Landes Tirol gefunden. | Fassaden- und Dachmaterialien der Landmarken sind prozeduraler Projektcode (keine Fotos, keine fremden Texturen). Es werden keine fremden Fassaden-, Schirm- oder Pilotentexturen übernommen; diese Materialien/Modelle sind prozeduraler Projektcode. Das Register erteilt keine neue Lizenz für den Projektcode. ## Software und Modellreferenzen - **Sharp:** serverseitige JPEG-/PNG-Dekodierung und Polygonkomposition; [Apache License 2.0](https://github.com/lovell/sharp/blob/main/LICENSE). - **Archivo** und **Big Shoulders Display:** lokale Systemfont-Einbindung für das Klar-Designsystem; beide Schriften stehen unter der SIL Open Font License 1.1 (OFL). Bei einer Distribution die jeweilige OFL-Textdatei zusammen mit den Fontdateien ausliefern (gemeinsam für App und Startseite in `packages/ui-tokens/fonts`). - **Startplatzkarte (Ticket 07, `packages/map`, `scripts/sites`):** eigener Minimal-Kartenstil und Factory; avoid-churches nur als lesendes Architektur-/Datenvorbild, kein Kopieren seines Mapmoduls. Lokale Demo liest vorhandene Protomaps-PMTiles (OSM-Stand 9.10.2026) sowie Mapterhorn-PMTiles read-only; Archive werden nicht ins Repo übernommen. [Protomaps-Basemap](https://docs.protomaps.com/basemaps/downloads): ODbL Produced Work, © OpenStreetMap-Mitwirkende. [Mapterhorn](https://mapterhorn.com/attribution/): dessen [Ursprungsquellenregister](https://download.mapterhorn.com/attribution.json) beachten, keine pauschale Lizenz aller Höhenquellen behauptet. Sichtbare Kartenattribution verlinkt diese Quellen. - **OSM-Startplatzdaten:** ein gefilterter Overpass-Snapshot Deutschland, Österreich, Schweiz, Frankreich, Italien und Slowenien vom 3.11.2026 (Ticket 80; vorher DACH + Südtirol vom 2.11.2026); Auswahl, Center-Extraktion, Normalisierung und Richtungsvorschlag. Startplätze ohne `name` erhalten einen erzeugten Namen aus der nächsten benannten OSM-Seilbahnstation (≤ 800 m), dem nächsten Gipfel (≤ 2,5 km) oder Ort (≤ 5 km) und der Startrichtung (zweite Overpass-Abfrage vom selben Tag); sie sind im Datensatz als `generatedName` markiert. OSM-Landeplätze (`free_flying:site=landing`, `free_flying:landing=yes`) liegen im selben Datensatz unter `landings`. Versionierte, maschinenlesbare bearbeitete Datenbank in `packages/map/public/sites/`, © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/); bei Weitergabe Share-Alike erhalten. Sechs kuratierte Varianten in `packages/map/data/curated.json` mit OSM-/Vereins-/Tourismus-/DEM-Belegen und Vertrauensstufe, darunter Gamsjet als OSM-Node und fünf abgeleitete Varianten. Keine DHV-Daten und keine Werte aus paraglidingmap.com oder privaten Pilotenseiten übernommen. Die sieben bestehenden Laborstarts bleiben explizit als Fallback/Mock gekennzeichnet. Karten-DEM und Recherche-DEM haben unterschiedliche Auflösung; keine amtlichen Flugfreigaben. - **FFVL-Startplätze (Ticket 80):** Fédération Française de Vol Libre, [„Terrains de pratique de la FFVL“](https://www.data.gouv.fr/datasets/terrains-de-pratique-de-la-ffvl-federation-francaise-de-vol-libre), data.gouv.fr, [Licence Ouverte 2.0](https://www.etalab.gouv.fr/licence-ouverte-open-licence/), Datei `terrains.json` Stand 3.11.2026 (URL über die data.gouv-API aufgelöst). Übernommen: Kennung, Name, Gemeinde, Lage, Höhe, Windrichtungen, Status und Nutzungsart; Starts mit Status `interdit` und Starts ohne Gleitschirmnutzung entfallen, `actif_autorisation_systematique_requise`/`interdit_sauf_autorisation` sind als „Genehmigung nötig“ gekennzeichnet. Landeplätze (`atterrissage`) als Landeplätze. Freitexte, Kontakte und Polygone nicht übernommen; der Picker verlinkt die FFVL-Geländeseite. Bearbeitung: Titel-Schreibweise, Richtungen ins Deutsche, Mittelrichtung, Abgleich mit OSM (≤ 150 m und Richtung ≤ 90° → ein Eintrag, FFVL hat Vorrang, OSM-IDs in `mergedIds`). Zusammen mit den OSM-Daten in `packages/map/public/sites/` unter ODbL 1.0 bereitgestellt; die Licence Ouverte verlangt nur die Quellenangabe. Keine amtliche Flugfreigabe. Nicht verwendet: DHV, paraglidingspots.com, spots.guru (`docs/research/startplatz-quellen.md`). - **Startseiten-Szenarien (`packages/shared/src/scenarios.ts`, `apps/site`):** Bassano-Startpunkt aus OSM way/1414448851 „Decollo Col Campeggia“ (Overpass-Abfrage vom 3.11.2026), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/), Punkt und Richtung an den SO-Rand der Fläche nach Terrarium-DEM z15 verschoben; keine amtliche Flugfreigabe. Poster `apps/site/public/media/scenarios/*.webp` sind eigene Screenshots der App und zeigen deren Kartenattribution (Luftbild Bayern/basemap.at/EOX Sentinel-2 je Region). Skyboxen der Mini-Vorschau `apps/site/public/media/scenarios//*.webp` (Ticket 71, `scripts/preview-skybox.ts`) sind eigene Renderings der App-Szene ohne eingeblendete Attribution; sie enthalten dieselben Gelände- und Luftbildquellen wie die App (Abschnitt Geodaten, je Region u. a. Bayerische Vermessungsverwaltung CC BY 4.0, basemap.at CC BY 4.0, EOX Sentinel-2 cloudless 2016 CC BY 4.0, Höhendaten Terrain Tiles/SRTM/EU-DEM). Nachweis über den Footer-Link „Datenquellen & Lizenzen“. - **Landeplätze (`packages/map/src/landings.ts`):** kuratierter Landeplatz Garmisch/Kreuzeckbahn aus OSM node/1081770557 (`free_flying:site=landing`, Overpass-Abfrage vom 2.11.2026), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhe aus Terrarium-DEM z15. Keine DHV-Daten; keine amtliche Landeplatzfreigabe. - **Szenario-Landeplätze (Ticket 87):** Meduno „Atterraggio Meduno“ aus OSM way/438471631 (`free_flying:site=landing`, Overpass-Abfrage vom 3.11.2026) und Hauptlandeplatz Lermoos aus OSM node/13175134942 (`sport=free_flying`, ohne Landetag, daher als geschätzt markiert; Zuordnung zum Zugspitzstart laut [tirol.at, Fluggebiet Tiroler Zugspitz Arena](https://www.tirol.at/infrastruktur/paragliding-fluggebiet-tiroler-zugspitz-arena), nur als Beleg verlinkt), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhe aus Terrarium-DEM z15. Keine amtliche Landeplatzfreigabe. - **Szenario Großglockner (Ticket 96):** Gipfellage aus OSM node/26863041 (Großglockner, `ele=3798`); Landeplatz Heiligenblut auf der Wiese OSM way/609997640 (`landuse=meadow`, kein `free_flying`-Tag im Umkreis laut Overpass-Abfrage vom 3.11.2026, daher als geschätzt markiert), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhen und Neigung aus Terrarium-DEM z15. Luftbild dort: basemap.at Orthofoto (CC BY 4.0, siehe Luftbildquellen). Keine amtliche Landeplatzfreigabe. - **Tegelberg (Ticket 57):** Landeplatz Schwangau in `landings.ts` aus OSM way/159981629 (`free_flying:site=landing`, Overpass-Abfrage vom 3.11.2026), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhe aus Terrarium-DEM. Keine amtliche Landeplatzfreigabe. - **Bassano/Monte Grappa (Ticket 36):** Fünf kuratierte Starts in `packages/map/data/curated.json` (Col Campeggia way/1414448851, Casette way/226035092, Stella way/226035094, Da Beppi way/42647033, Panettone way/42647032) und zwei Landeplätze in `landings.ts` (Paradiso Semonzo way/142718980, Garden Relais Borso way/42647036) aus einer Overpass-Abfrage vom 3.11.2026, © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhe und Fall-Linie stammen aus Terrarium-DEM z15, die Gebietsseite [vivereilgrappa.it](https://www.vivereilgrappa.it/it/decolli-e-atterraggi.htm) ist nur als Beleg verlinkt, ohne übernommenen Text. Luftbild bleibt EOX Sentinel-2 2016, weil Veneto/AGEA/PCN keine kommerziell offene Orthofotolizenz haben (`docs/research/luftbild-alpen.md`). - **Garmisch Kreuzjoch Nord / Rießerkopf (Ticket 68):** kuratierter Start `kreuzjoch` in `packages/map/data/curated.json` aus OSM way/205541420 (Kandahar-Express, Bergstation node/2154998962), Gipfel Kreuzjoch node/6581492738 und Rießerkopf node/797461041 (Overpass-Abfrage vom 3.11.2026), © OpenStreetMap-Mitwirkende unter [ODbL 1.0](https://opendatacommons.org/licenses/odbl/1-0/). Höhe und Fall-Linie aus Terrarium-DEM z15; die Vereinsseite [DGFW Kreuzjoch](https://www.dgfw.club/fluggebiet_kreuzjoch.php) ist nur als Beleg verlinkt, ohne übernommenen Text. Keine DHV-Daten; keine Flugfreigabe. - **Kartenbeschriftung:** unveränderte Noto-Sans-Regular-Glyphen aus dem lokalen Referenzdatenbestand, Copyright 2022 The Noto Project Authors, SIL Open Font License 1.1; Lizenztext in `packages/map/NOTO-OFL.txt`. Keine neuen Schriftbinärdateien, Sprites oder proprietären Symbole übernommen. PMTiles-CLI bleibt ein extern vorhandenes Demo-Werkzeug; keine zusätzliche npm-Abhängigkeit. - **Schirm, Leinen und Pilot (Ticket 04, `packages/glider`):** eigene prozedurale Projektgeometrie, aus dem Schirmlabor portiert und verfeinert. Jackenprofil, Gurtbänder, Handschuhe, Helm/Visier, Cockpit und das viergliedrige Tail werden im Code erzeugt; keine heruntergeladenen Figuren, Rigs, Animationen oder Texturen. Kein Quaternius-/Kenney-/Sketchfab-Asset und keine zusätzliche CC-Lizenz. Die Software-Lizenz des Projekts wird dadurch nicht geändert. Farben sind ein frei erfundenes Design, keine Markenreproduktion. Tailbewegung rein visuell, ohne zusätzliche Widerstandsberechnung. Pod- und Heckproportionen (Ticket 50) wurden an Hersteller-/Händlerfotos (Ozone, Gin, Advance, Supair über flybubble.com) nur abgemessen; die Fotos werden weder ausgeliefert noch als Textur verwendet (Belege in `docs/research/gurtzeug-konstruktion.md` §6). - **Analytics:** selbst gehostetes Plausible CE (AGPL-3.0, eigener Server, nicht Teil dieses Repos), Tracker-Skript unter MIT über die eigene Origin (`/js/plausible.js`, `server/routes/analytics.ts`). Keine Cookies, keine Drittanbieter-Requests aus dem Browser; Details in `docs/analytics.md`. - **Seiten-Assets:** `apps/site/public/favicon.svg`, `apps/site/src/pages/impressum.astro` und `datenschutz.astro` sind eigene Projektdateien. Messbilder unter `packages/*/measurements/` sind eigene Screenshots. ### npm-Abhängigkeiten (direkt) Alle exakt gepinnt bis auf `sharp` in `server/package.json` (`^0.35.5`, Lockfile hält 0.35.5). | Paket | Version | Lizenz | Verwendet in | | --- | --- | --- | --- | | three | 0.180.0 | MIT | apps/web, apps/site, packages/{airflow,glider,instruments,sky,terrain} | | 3d-tiles-renderer | 0.5.3 | Apache-2.0 | packages/terrain | | maplibre-gl | 5.24.0 | BSD-3-Clause | packages/map | | preact | 11.1.1 | MIT | apps/web, apps/site | | @preact/signals | 2.11.4 | MIT | apps/web | | @elysiajs/eden | 1.4.9 | MIT | apps/web | | elysia | 1.4.30 | MIT | server | | better-auth | 1.7.15 | MIT | server | | drizzle-orm | 0.45.4 | Apache-2.0 | server | | postgres | 4.0.0 | Unlicense | server | | sharp | 0.35.5 | Apache-2.0; mitgelieferte libvips-Binärdateien (`@img/sharp-libvips-*`) LGPL-3.0 | server, scripts/obstacles | | fast-xml-parser | 5.11.2 | MIT | scripts/obstacles | | proj4 | 2.22.0 | MIT | scripts/obstacles | | astro | 7.4.2 | MIT | apps/site | | @astrojs/preact, @astrojs/sitemap, @astrojs/markdown-remark, @astrojs/check | 6.1.1, 3.7.4, 7.3.4, 0.9.12 | MIT | apps/site | | vite, @preact/preset-vite | 7.3.7, 2.10.6 | MIT | Build (apps/web, packages/sky) | | drizzle-kit | 0.31.11 | MIT | Build/Migration (server) | | typescript, @biomejs/biome, @types/bun, @types/three | 5.9.3, 2.3.11, 1.4.0, 0.180.0 | Apache-2.0, MIT OR Apache-2.0, MIT, MIT | Entwicklung | | @happy-dom/global-registrator (mit happy-dom) | 21.0.3 | MIT | Tests (apps/web, DOM für Komponententests) | Lizenzangaben aus den `package.json` der installierten Pakete (3.11.2026). Original-Lizenztexte liegen in den installierten Paketen. Transitive Abhängigkeiten behalten ihre eigenen Lizenzen; dieses Register ersetzt bei späterer Distribution kein vollständiges Third-Party-Notice-Bundle. - CesiumJS (Apache-2.0) wurde nur im abgeschlossenen Render-Labor verwendet, ist **keine** Abhängigkeit der Produktiv-App. - Flugmodell-/Thermikreferenzen aus dem Steuerungs-Labor: insbesondere [Allen 2006 / NASA](https://ntrs.nasa.gov/citations/20060004052). Wissenschaftliche Referenz, keine mitgelieferte Bild-/Kartendatenquelle. Polaren und Modelle werden in Ticket 02 getrennt übernommen. Vor öffentlicher Veröffentlichung: konkrete Datenausschnitte und Provider-Pflichtangaben überprüfen, sichtbare Renderer-/Kartenattribution ergänzen und Software-Lizenztexte mitliefern. Dieses lokale Grundgerüst ist kein öffentlicher Tile-Dienst. - **Bildkachel-Coverage (Ticket 20):** `server/data/imagery-coverage-v3.json` enthält versionierte, vereinfachte WGS84-Auswahlflächen für Bayern-DOP, basemap.at, Südtirol, swisstopo, IGN und GURS. Die Flächen sind aus Natural-Earth-Admin-0-Geometrien (Public Domain) abgeleitet und keine amtlichen Grenz- oder Verfügbarkeitsnachweise. Seit `imagery-coverage-v3.json` (Ticket 63) ist Slowenien über GURS (CC BY 4.0) angebunden. Für Italien außerhalb Südtirols bleibt EOX Sentinel-2 cloudless 2016 (CC BY 4.0) der Rückfall, weil regionale AGEA-/Geoportal-Bildjahrgänge derzeit nicht eindeutig kommerziell offen und als Raw-Kacheln weiterverwendbar belegt sind. Der Provider-Override `imagery=` bleibt für explizite Tests/Diagnose verfügbar; Details stehen in `docs/research/luftbild-alpen.md`. ## Audio | Datei | Quelle / Urheber | Lizenz | Bearbeitung | | --- | --- | --- | --- | | `apps/web/public/audio/wind-steady.ogg`, `wind-steady.mp3` | „Strong Wind 4“ (s0154), Joseph SARDIN, [BigSoundBank](https://bigsoundbank.com/strong-wind-4-s0154.html) | [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) laut Quellseite („CC0 (public domain): Free and royalty-free“, [Lizenzseite](https://bigsoundbank.com/licenses.html)); Nennung freiwillig: „Additional sounds: Joseph SARDIN - BigSoundBank.com“ | Ausschnitt 16–49 s aus AIFF 44,1 kHz Stereo, Mono-Downmix, Hochpass 30 Hz, 30 s mit 3 s Equal-Power-Crossfade als nahtloser Loop, auf −20 LUFS normalisiert, Opus 96 kbps (Ogg) und MP3 96 kbps. | | `apps/web/public/audio/wind-gusty.ogg`, `wind-gusty.mp3` | „Strong Wind 3“ (s0153), Joseph SARDIN, [BigSoundBank](https://bigsoundbank.com/strong-wind-3-s0153.html) | [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) laut Quellseite, wie oben | Ausschnitt 40–73 s, sonst gleiche Bearbeitung wie oben. |