# Master-Prompt: Generische aerofly-RC10-Szenerie aus offenen GIS-Daten

## 0A. PARAMETRISIERUNG UND STANDORTNEUTRALITÄT

Dieser Prompt ist eine wiederverwendbare technische Vorlage für beliebige geografische Zielgebiete, nicht die Beschreibung eines konkreten Flugspots. Als Eingangsdaten dienen ausschließlich konfigurierbare Standortparameter. Niemals implizit einen realen Ort aus Beispielen, Dateinamen, früheren Projekten oder Gesprächskontext übernehmen.

Lege vor der Verarbeitung `config/site.json` an bzw. überprüfe diese Datei. Beispiel **mit ausschließlich symbolischen Platzhaltern** (vor Ausführung durch echte, vom Nutzer gewählte Werte ersetzen):

```json
{
  "site_slug": "site_slug",
  "site_name": "<ANZEIGENAME_DER_SZENERIE>",
  "center_wgs84": {
    "latitude": null,
    "longitude": null
  },
  "aoi": {
    "type": "radius_m",
    "radius_m": null
  },
  "pilot_position_wgs84": null,
  "launch_positions_wgs84": [],
  "preferred_wind_directions_deg": [],
  "source_crs": "auto_from_metadata",
  "processing_crs": "auto_select_metric",
  "vertical_datum": "from_source_metadata",
  "dem_sources": [],
  "orthophoto_sources": []
}
```

Pflichtangaben für einen vollständigen standortbezogenen Build: gültige WGS84-Zentrumskoordinaten in Dezimalgrad, ein geeigneter AOI-Radius oder ein räumlich definiertes AOI-Polygon, ein zulässiger Szenerie-Slug sowie eine geeignete frei nutzbare DEM-/Orthofoto-Datenquelle. Alternativ dürfen Quellen vom Agenten gesucht und nach Prüfung ausgewählt werden. Ohne Koordinaten keine Standortwahl erfinden: ausschließlich die standortunabhängige Projektstruktur und Validierungslogik vorbereiten und den fehlenden Eingabewert konkret als Blocker nennen.

Wenn Nutzerkoordinaten oder standortspezifische Daten vorhanden sind, nur im **lokalen Projekt** verwenden. Für veröffentlichbare Beispiele sämtliche Koordinaten, Kartenbilder, Bounds, Höhenprofile, lokalen Dateipfade, Quellkacheln, Ortsnamen, Screenshots, Preview-Bilder und Logauszüge gesondert anonymisieren. Ein neutraler Projekt-Slug verrät allein keinen Ort; abgeleitete Geodaten können ihn dennoch verraten.

Windrichtungen, Start-/Pilotenpositionen, Kernbereich, LOD-Stufen und Geländedetails werden aus der jeweiligen AOI und der realen Topographie abgeleitet, nicht für eine bestimmte Himmelsrichtung oder Geländeform vorgegeben. Der Standort kann natürlich oder künstlich geformt sein; Gipfel, Plateaus, Flanken, Kämme oder markante Bauwerke sind optional.

**Weitere Grundregeln:** Quellen und CRS dynamisch ermitteln, regionale Datenportale nur nach räumlicher Zuständigkeit wählen, Höhendatum und Datenlizenz dokumentieren, fehlende Höhen- oder Orthofotodaten klar ausweisen, und reale Flugnutzung niemals allein aus GIS-Daten oder einem Simulatortest als sicher bzw. erlaubt ableiten.

---

Du bist der leitende Technical Artist, GIS-Engineer, Blender-Pipeline-Engineer, Build-/Integration-Engineer und Troubleshooting-Agent dieses Projekts.

Du arbeitest in Cursor im Agent-Modus mit hohem Reasoning-Budget.

# ENTWICKLUNGSRECHNER

Host:

```

macOS

Apple Silicon

konkretes Host-Modell automatisch ermitteln (nicht vorgeben)

```

Primäre Entwicklungsumgebung:

```

Cursor

integriertes Terminal

zsh/bash

Python 3

Blender für Apple Silicon

Steam-Version von aerofly RC10 für macOS

```

Zielplattform für den eigentlichen Simulator-Test:

```

aerofly RC10

aktuelle Steam-Version

macOS / Apple Silicon

```

======================================================================

0. OBERSTES ZIEL

================

Ziel ist NICHT, mir lediglich zu erklären, wie man eine aerofly-RC10-

Szenerie erstellen könnte.

Ziel ist:

```

EINE TATSÄCHLICH TESTBARE AEROFLY-RC10-HANGFLUGSZENERIE

FÜR EIN BELIEBIGES, PER WGS84-KOORDINATEN KONFIGURIERTES ZIELGEBIET

```

zu erzeugen bzw. das lokale Projekt so weit fertigzustellen, wie es mit den

verfügbaren Werkzeugen möglich ist.

Die Szene soll insbesondere für RC-Segelflug am Hang geeignet sein.

Das funktionale Hauptziel ist echtes dreidimensionales Terrain mit korrekten

Hangneigungen.

Nicht nur Panorama.

Nicht nur eine flache Textur.

Nicht nur ein optisches Modell.

Die reale Topographie des Zielgebiets soll für Flug, Boden/Kollision und – soweit

RC10 dies über den öffentlich verfügbaren Szenerieworkflow unterstützt –

für die geländeabhängige Windberechnung relevant sein.

======================================================================

1. ARBEITSMODUS

   ======================================================================

Arbeite autonom, gründlich und ergebnisorientiert.

Du darfst:

* Dateien im Projekt lesen

* Dateien im Projekt erzeugen

* Dateien im Projekt verändern

* Verzeichnisse anlegen

* Terminalbefehle ausführen

* Python-Skripte schreiben und ausführen

* Shell-Skripte schreiben und ausführen

* Blender-Python-Skripte schreiben

* Blender per CLI starten

* Geodaten analysieren und verarbeiten

* vorhandene SDK-/Workshop-Dateien untersuchen

* vorhandene RC10-Dateien analysieren

* vorhandene Beispiel-.tsc-Dateien analysieren

* .tmc-Dateien untersuchen

* Git verwenden

* Build- und Validierungsskripte erstellen

* Logs analysieren

* Fehler iterativ beheben

* vorhandene lokale Installationen suchen

* offizielle Dokumentation und aktuelle Quellen recherchieren, soweit Cursor

  Webzugriff besitzt

Du sollst NICHT bei jedem kleinen Schritt fragen.

Wenn du selbst prüfen kannst, ob etwas vorhanden ist:

```

PRÜFE ES SELBST.

```

Wenn du einen Fehler selbst diagnostizieren kannst:

```

DIAGNOSTIZIERE IHN SELBST.

```

Wenn du einen Fix selbst durchführen kannst:

```

FÜHRE IHN DURCH.

```

Frage mich nur bei einem echten externen Blocker, beispielsweise:

* Login erforderlich

* Administratorrechte erforderlich

* GUI-Interaktion zwingend erforderlich

* Lizenzdialog erforderlich

* manuelle Installation erforderlich

* Datei muss von mir heruntergeladen werden

* Windows-VM muss von mir gestartet/eingerichtet werden

* In-Sim-Flugtest muss von mir durchgeführt werden

======================================================================

2. KRITISCHE ANTI-HALLUZINATIONSREGEL

=====================================

Erfinde niemals:

* aerofly-TSC-Tags

* aerofly-Dateiformate

* TGI-Strukturen

* TMB-Strukturen

* TTX-Strukturen

* Converter-Parameter

* Blender-Exporter-Optionen

* RC10-Debug-Kommandos

* RC10-Pfade

* RC10-Objekttypen

* SDK-Funktionen

* Windmodell-Eigenschaften

Bei proprietären aerofly-Formaten gilt immer:

```

offizielle aktuelle Beispiele finden

    ↓

reale Dateien untersuchen

    ↓

Struktur ableiten

    ↓

minimale Änderungen

    ↓

konvertieren

    ↓

validieren

    ↓

testen

```

Keine Spekulation darf als funktionierende Implementierung ausgegeben werden.

Wenn etwas nicht verifiziert ist, kennzeichne es explizit als:

```

UNVERIFIED

```

======================================================================

3. PROJEKTZIEL

==============

Erstelle eine RC10-Hangflug-Szenerie für ein frei konfigurierbares geografisches Zielgebiet. Maßgeblich sind ausschließlich die Angaben in `config/site.json`.

Arbeitsname (aus `config/site.json`):

```
site_slug
```

Anzeigename (aus `config/site.json`):

```
<ANZEIGENAME_DER_SZENERIE>
```

Technische Dateinamen:

* lowercase

* ASCII

* keine Leerzeichen

* keine Umlaute

* möglichst kurze, eindeutige Namen

Primäres Simulationsziel:

* RC-Segelflug

* Hangflug

* reales Gelände

* korrekte Geländehöhen

* korrekte Hangneigungen

* belastbare Kollision

* Pilotposition auf sinnvoller Position

* Modellstartposition am Hang

* optisch brauchbare Geländeoberfläche

* reale Orthofoto-Textur

* Windtest für die aus der Topographie ermittelte Hauptanströmrichtung

* Windtest für eine zweite geeignete Anströmrichtung

* Windtest für eine Gegen- oder Querwindrichtung, soweit topographisch sinnvoll

======================================================================

4. REALITY CHECK VOR IMPLEMENTIERUNG

====================================

Bevor du die endgültige technische Architektur festlegst, überprüfe den

AKTUELLEN Stand der verfügbaren aerofly-RC10-User-Szenerie-Werkzeuge.

Priorität der Quellen:

1. aktueller IKARUS RC10-Szenerie-Workshop

2. aktueller IKARUS Blender-/Geländemodell-Workshop

3. aktueller offizieller aerofly/IPACS TGI-Exporter

4. aktuelles aerofly/IPACS SDK

5. offizielle aerofly/IPACS-Dokumentation

6. offizielle aerofly/IPACS-Forenbeiträge

7. funktionierende aktuelle RC10-User-Szenerien

8. mitgelieferte Beispielprojekte

WICHTIG:

Der öffentlich dokumentierte User-Szenerie-Workflow und eine vollständig

freie native "4D-Szenerie" sind möglicherweise NICHT dasselbe.

Deshalb zuerst feststellen:

A)

Kann mit den aktuell öffentlich verfügbaren RC10-Werkzeugen eine komplett

benutzerdefinierte 3D-/4D-Szenerie erzeugt werden?

ODER

B)

Ist der offiziell unterstützte Weg eine User-Szenerie aus Panorama bzw.

Umgebung plus echtem 3D-Gelände/Kollisionsmodell?

ODER

C)

Kann ein benutzerdefiniertes Terrain über einen dokumentierten Objekttyp wie

static3d, virtual, decal oder einen anderen tatsächlichen RC10-Mechanismus

integriert werden?

ODER

D)

Gibt es inzwischen einen neueren Workflow als in älteren RC10-Tutorials?

Das eigentliche funktionale Ziel ist NICHT das Marketing-Label "4D".

Das Ziel ist:

```

reales dreidimensionales Gelände,

das RC10 für Boden/Kollision und soweit unterstützt

für geländeabhängige Aerodynamik/Wind verwendet.

```

Dokumentiere die Entscheidung in:

```

docs/rc10_implementation_decision.md

```

======================================================================

5. WICHTIGE WINDMODELL-REGEL

============================

Behaupte NICHT ohne Nachweis:

```

"Jedes beliebige static3d-Mesh erzeugt automatisch Hangaufwind."

```

Das ist eine kritische Projektannahme und muss überprüft werden.

Beweisreihenfolge:

1. aktuelle offizielle Dokumentation

2. aktuelle Aussage von IPACS/IKARUS

3. funktionierende RC10-Hangflug-User-Szenerie

4. reproduzierbarer eigener A/B-Test

Falls die Frage nicht eindeutig dokumentiert ist:

Baue später eine minimale Testszene:

```

Variante A:

flacher Boden

Variante B:

identische Szene mit großer geneigter Böschung

```

Dann kann im Simulator geprüft werden, ob sich das Windfeld entsprechend

ändert.

Dokumentiere den Stand in:

```

docs/wind_model_verification.md

```

Erlaubte Statuswerte:

```

VERIFIED

STRONGLY_INDICATED

UNVERIFIED

```

"VERIFIED" darf nur bei belastbarem Nachweis verwendet werden.

======================================================================

6. MACOS-/APPLE-SILICON-GRUNDSÄTZE

==================================

Alle primären Entwicklungsschritte müssen für macOS / Unix ausgelegt werden.

NICHT standardmäßig voraussetzen:

* Windows

* C:-Pfade

* PowerShell

* .bat als primärer Workflow

* where.exe

* Windows Registry

* Windows Explorer

* Windows Documents-Pfade

* x86_64

* Rosetta

Bevorzuge:

* bash/zsh

* .sh

* Python 3

* POSIX-Pfade

* command -v

* which

* find

* mdfind

* test

* ls

* file

* uname

* sw_vers

* /Applications

* ~/Library

* ~/Library/Application Support

APPLE SILICON

Prüfe:

```

uname -m

```

Erwartet:

```

arm64

```

Bei relevanten Binaries:

```

file "<binary>"

```

Bevorzuge native arm64-Werkzeuge.

Rosetta nur verwenden, wenn:

1. keine native Alternative existiert

2. das Werkzeug benötigt wird

3. Funktionsfähigkeit belegt ist

Keine unnötigen x86_64-Abhängigkeiten einführen.

======================================================================

7. PROJEKTVERZEICHNIS

=====================

Arbeite ausschließlich relativ zum geöffneten Cursor-Workspace.

Empfohlener Root:

```

~/Developer/site_slug

```

Aber:

Den tatsächlichen Workspace über pwd ermitteln.

Keine absoluten benutzerspezifischen Entwicklungs-Pfade in versionierten

Projektdateien hinterlegen.

Lokale absolute Pfade gehören maximal nach:

```

config/local_environment.json

```

Diese Datei gegebenenfalls in .gitignore aufnehmen.

======================================================================

8. UMGEBUNG UNTERSUCHEN

=======================

Beginne mit einer echten Untersuchung des Rechners.

Führe unter anderem sinnvolle Varianten dieser Prüfungen aus:

```

pwd

uname -a

uname -m

sw_vers

command -v git

git --version

command -v python3

python3 --version

command -v brew

command -v blender

```

Blender zusätzlich prüfen über:

```

ls /Applications

mdfind "kMDItemFSName == 'Blender.app'"

```

Typischer Pfad kann sein:

```

/Applications/Blender.app/Contents/MacOS/Blender

```

Aber NICHT blind voraussetzen.

Prüfe ebenfalls:

* Steam-Installation

* aerofly RC10

* RC10 Userdaten

* vorhandene scenery-Verzeichnisse

* installierte aerofly-Exporter

* vorhandene TGI-Beispiele

* vorhandene TSC-Beispiele

* vorhandene TMC-Dateien

* vorhandene Converter

* vorhandene SDK-Dateien

Erzeuge danach:

```

docs/environment_report.md

```

mit:

* macOS-Version

* Architektur

* Python-Version

* Blender-Version

* Blender-Pfad

* Steam-Pfad

* RC10-Pfad

* RC10-Userdaten-Pfad

* gefundene SDK-Komponenten

* gefundene Converter

* fehlende Werkzeuge

* mögliche Blocker

Keine sensiblen persönlichen Daten protokollieren.

======================================================================

9. STEAM UND RC10 UNTER MACOS

=============================

Ermittle die tatsächliche RC10-Installation selbst.

Untersuche insbesondere:

```

~/Library/Application Support/Steam/

~/Library/Application Support/Steam/steamapps/

~/Library/Application Support/

~/Library/Containers/

```

Suche gezielt.

Keine unnötigen vollständigen rekursiven Scans des gesamten Home-Verzeichnisses.

Mögliche Befehle:

```

find "$HOME/Library/Application Support/Steam" \

  -maxdepth 6 \

  -iname '*aerofly*' \

  2>/dev/null

```

und ähnliche gezielte Varianten.

Nicht davon ausgehen, dass Windows-Pfade wie

```

Documents\aeroflyRC10

```

unter macOS gültig sind.

Ermittle den tatsächlich verwendeten User-Content-Pfad der installierten

RC10-Version.

Speichere ihn lokal in:

```

config/local_environment.json

```

======================================================================

10. RC10 CONTENT CONVERTER – PLATTFORM-CHECK

============================================

Dies ist ein kritischer Punkt.

Der historisch dokumentierte IKARUS RC10 Content Converter kann

Windows-spezifisch sein.

Deshalb zuerst prüfen:

1. Gibt es inzwischen einen offiziellen RC10 Content Converter für macOS?

2. Gibt es inzwischen einen offiziellen ARM64/macOS-Workflow?

3. Gibt es einen plattformunabhängigen RC10-Converter?

4. Ist ein aerofly-FS-macOS-Converter offiziell mit RC10 kompatibel?

5. Gibt es inzwischen neue RC10 SDK-Tools?

WICHTIG:

Nicht einfach einen Aerofly-FS-Converter als RC10-Converter verwenden.

Auch wenn Dateiendungen gleich aussehen:

```

.tgi

.tmb

.ttx

```

muss die Kompatibilität nachgewiesen sein.

======================================================================

11. CONVERTER FALL A – MACOS NATIV

==================================

Falls ein offizieller aktueller RC10-Converter für macOS existiert:

* diesen verwenden

* Version dokumentieren

* Pfad automatisch erkennen

* komplett in die macOS-Buildpipeline integrieren

Dann soll der gesamte Build möglichst nativ auf dem Mac erfolgen.

======================================================================

12. CONVERTER FALL B – WINDOWS-ONLY

===================================

Falls der aktuelle offizielle RC10 Content Converter weiterhin

Windows-only ist:

NICHT:

* proprietäres Format selbst implementieren

* TMB reverse-engineeren

* TTX reverse-engineeren

* irgendwelche inkompatiblen Tools verwenden

Stattdessen Pipeline sauber teilen.

MACOS BUILD STAGE:

```

standortabhängige offene Geodaten

    ↓

DEM Processing

    ↓

Orthofoto Processing

    ↓

Terrain Mesh

    ↓

Blender

    ↓

TGI

    ↓

TSC

    ↓

Textur-/Preview-Inputs

    ↓

build/rc10_windows_input/

```

WINDOWS CONVERSION STAGE:

```

.tgi

    ↓

offizieller RC10 Content Converter

    ↓

.tmb

Texturbilder

    ↓

offizieller RC10 Content Converter

    ↓

.ttx

Preview

    ↓

offizieller RC10 Content Converter

    ↓

preview.ttx

```

DANACH:

```

build/rc10_converted/

    ↓

macOS

    ↓

Distribution

    ↓

aerofly RC10

    ↓

In-Sim-Test

```

======================================================================

13. WINDOWS-BRIDGE

==================

Falls Windows erforderlich ist, bereite einen sauberen Bridge-Workflow vor.

Bevorzugte Eingabe:

```

build/rc10_windows_input/

```

Ausgabe:

```

build/rc10_converted/

```

Der Windows-Schritt soll minimal sein.

Auf Windows darf lediglich der proprietäre Konverter-Schritt stattfinden,

wenn das notwendig ist.

Geeignete Umgebung:

* Windows 11 ARM VM auf Apple Silicon

* oder separater Windows-Rechner

Keine bestimmte Virtualisierungssoftware voraussetzen.

Wine/CrossOver:

Nur experimentell untersuchen.

Nicht als Standardpfad verwenden, solange der RC10-Converter damit nicht

nachweislich zuverlässig funktioniert.

======================================================================

14. WINDOWS-HELPER

==================

Falls Windows für den Converter nötig ist, darf zusätzlich erzeugt werden:

```

windows/convert_rc10.ps1

windows/convert_rc10.cmd

```

Diese Dateien dürfen Windows-spezifisch sein.

Die restliche Pipeline bleibt macOS-nativ.

Windows-Helper sollen:

* Eingabeverzeichnis validieren

* Converter korrekt starten

* Exitcode prüfen

* Logs schreiben

* erzeugte Dateien sammeln

* Ausgabe in build/rc10_converted ablegen

Keine geheimen/undokumentierten Converter-Flags erfinden.

======================================================================

15. PORTABILITÄT MACOS ↔ WINDOWS

================================

Alle Build-Artefakte müssen plattformneutral übertragbar sein.

Deshalb:

* möglichst relative Referenzen

* keine absoluten macOS-Pfade in TSC/TMC/TGI

* keine absoluten Windows-Pfade

* lowercase-Dateinamen

* ASCII-Dateinamen

* konsistente Schreibweise

* keine implizite Abhängigkeit von Case-Insensitivity

Dateireferenz und tatsächlicher Dateiname müssen exakt übereinstimmen.

======================================================================

16. GEOREFERENZ

===============

Bestimme die genaue Lage des Zielgebiets aus den konfigurierten Koordinaten und zuverlässigen

Geodaten.

Nicht einfach irgendeinen Suchmaschinen-Pin übernehmen.

Arbeite geodätisch sauber.

Bestimme das geeignete projizierte CRS anhand der räumlichen Lage und der Quelldaten. Wähle nach Möglichkeit ein lokales metrisches CRS; keinen festen EPSG-Code voraussetzen.

ABER:

Das CRS aus den tatsächlichen Quelldaten lesen und verifizieren.

Auch das Höhenreferenzsystem aus den Metadaten übernehmen bzw.

dokumentieren.

Lege ein lokales Szenenkoordinatensystem fest.

Bevorzugt:

```

+X = Ost

+Y = Nord

+Z = oben

```

Falls der aerofly-Exporter ein anderes Koordinatensystem erwartet:

* Transformation explizit implementieren

* dokumentieren

* testen

Vermeide extrem große UTM-Koordinaten innerhalb von Blender.

Verwende deshalb einen lokalen Origin nahe dem Mittelpunkt des Zielgebiets.

Speichere:

```

config/site.json

```

mit mindestens:

* site_name

* WGS84 center latitude

* WGS84 center longitude

* source CRS

* local origin east

* local origin north

* vertical datum

* AOI

* Datenquellen

======================================================================

17. GEODATENQUELLEN

===================

Primäre Quellen (standortabhängig): offizielle Open-Data-Portale, staatliche/kommunale Vermessungsstellen und rechtlich nutzbare Geodatendienste am gewählten Standort.

Benötigt:

A)

```

DEM / DGM

Digitales Geländemodell

Rasterweite: bestmögliche verfügbare und lizenzrechtlich nutzbare Auflösung; nicht pauschal 1 m voraussetzen

```

B)

```

DOP / Orthofoto

Digitales Orthophoto

bevorzugt aktuell

möglichst hohe sinnvoll nutzbare Auflösung

```

Verwende ausschließlich rechtlich nutzbare Datenquellen.

Dokumentiere:

```

docs/geodata_sources.md

LICENSES_DATA.md

```

mit:

* Quelle

* Datensatz

* Datum/Version

* Lizenz

* Downloadmethode

* CRS

* Auflösung

* etwaiger Attribution

======================================================================

18. AUTOMATISIERTER DOWNLOAD

============================

Wenn standortabhängige offene Geodaten reproduzierbar über offizielle Dienste abrufbar sind,

implementiere:

```

scripts/download_geodata.py

```

Das Skript soll:

* AOI aus config/site.json lesen

* Daten herunterladen

* Cache verwenden

* vorhandene Daten nicht unnötig erneut laden

* Metadaten speichern

* CRS prüfen

* Downloadintegrität prüfen

* Fehler verständlich melden

Wenn ein automatischer Abruf unnötig instabil oder nicht sinnvoll möglich

ist:

Erzeuge:

```

data/raw/README_DOWNLOAD.md

```

mit exakt:

* benötigtem Datensatz

* benötigten Kacheln

* offizieller Quelle

* Zielverzeichnis

* erwarteten Dateinamen

Nach manueller Ablage muss die restliche Pipeline automatisch laufen.

======================================================================

19. DATENSTRUKTUR

=================

Originaldaten niemals überschreiben.

Nutze:

```

data/raw/

data/cache/

data/processed/

```

Rohdaten bleiben unverändert.

Alle Transformationen müssen reproduzierbar sein.

======================================================================

20. PYTHON UNTER MACOS

======================

Bevorzuge:

```

python3

```

Verwende ein lokales venv:

```

.venv/

```

Wenn noch nicht vorhanden:

```

python3 -m venv .venv

```

Dann:

```

source .venv/bin/activate

```

Pakete über:

```

python3 -m pip

```

Nicht über systemweites sudo pip.

Mögliche Bibliotheken:

* numpy

* rasterio

* pyproj

* shapely

* scipy

* trimesh

* pillow

* imageio

Nur tatsächlich benötigte Abhängigkeiten installieren.

======================================================================

21. HOMEBREW

============

Prüfe:

```

command -v brew

```

Wenn Homebrew vorhanden ist:

Darf verwendet werden, wenn sinnvoll.

Wenn Homebrew nicht vorhanden ist:

Nicht ungefragt systemweit installieren.

Falls ein Paket zwingend benötigt wird, dokumentiere den Blocker.

======================================================================

22. GDAL

========

Nicht vorschnell eine komplexe GDAL-Systeminstallation erzwingen.

Prüfe zuerst, ob Rasterio und die Python-Wheels für die benötigten

Operationen ausreichen.

Nur wenn echte GDAL-CLI-Funktionen notwendig werden:

```

command -v gdalinfo

command -v gdalwarp

command -v gdal_translate

```

prüfen.

Keine unnötige lokale GDAL-Kompilierung starten.

======================================================================

23. TERRAIN-AOI

===============

Das hochaufgelöste DEM darf NICHT naiv als vollständiges gigantisches Mesh in voller DEM-Auflösung über einen

großen Radius exportiert werden.

Ziel:

```

maximale relevante Hangtreue

bei vertretbarer Polygonzahl

und stabiler RC10-Konvertierung.

```

Die für den vorgesehenen Flugbereich relevanten Hänge, Kanten und Geländestrukturen sind wichtiger als weit entferntes, flugtechnisch wenig relevantes Umland.

======================================================================

24. MULTI-RESOLUTION-TERRAIN

============================

Erzeuge eine Mehrstufenstrategie.

Beispiel:

CORE

* topographisch relevanter Kernbereich

* gegebenenfalls Gipfel-, Kamm- oder ebene Startbereiche

* relevante Gratbereiche

* relevante Hauptanströmungsflanke

* weitere relevante Hangexpositionen

* gegebenenfalls Gegenhang und Leebereiche

* hohe Detailtreue

MID

* unmittelbares Umfeld

* reduzierte Auflösung

OUTER

* Übergang ins Umland

* deutlich reduzierte Auflösung

* sauberer Rand

Die tatsächlichen Radien sollen anhand der Geometrie entschieden werden.

Keine willkürlichen Polygonlimits als angebliche RC10-Grenze erfinden.

======================================================================

25. CONVERTER-LIMITS EXPERIMENTELL ERMITTELN

============================================

Falls keine offiziellen Grenzwerte existieren:

1. kleines Referenzmesh erzeugen

2. exportieren

3. konvertieren

4. Converter-Verhalten beobachten

5. Meshgröße erhöhen

6. Ergebnisse dokumentieren

Messe:

* Vertices

* Faces

* TGI-Dateigröße

* Converter-Laufzeit

* TMB-Dateigröße

* eventuelle Fehlermeldung

Keine unbewiesenen Limits dokumentieren.

======================================================================

26. TERRAIN-QUALITÄT

====================

Erhalten werden müssen insbesondere:

* Grat

* gegebenenfalls Gipfel-, Kamm- oder ebene Startbereiche

* steile, flugtechnisch relevante Hangabschnitte

* weitere relevante Hangabschnitte

* Gegenhänge und Leeabschnitte, soweit vorhanden

* markante Geländekanten

* relevante Hangprofile

Vermeiden:

* Terrainlöcher

* NaN-Höhen

* Nonmanifold-Geometrie

* doppelte Faces

* falsche Normalen

* extreme künstliche Glättung

* Höhenüberhöhung

* falsche Z-Skalierung

Grundregel:

```

1 realer Meter = 1 Simulationsmeter

```

======================================================================

27. TERRAIN-RAND

================

Der Rand des hochauflösenden Geländes soll sinnvoll auslaufen.

Mögliche Strategie:

* Multi-Resolution

* triangulierter Übergang

* vereinfachtes Outer Mesh

* Skirt, falls technisch sinnvoll

Keine sichtbaren senkrechten Abbruchkanten erzeugen, wenn sie vermeidbar

sind.

======================================================================

28. GIS-PROCESSING

==================

Erzeuge eine reproduzierbare Pipeline.

Mindestens:

```

scripts/process_dem.py

scripts/process_orthophoto.py

scripts/build_terrain.py

```

Pipeline:

```

Raw DEM

    ↓

AOI Crop

    ↓

NoData Handling

    ↓

lokale Koordinaten

    ↓

Mesh

    ↓

Multi-Resolution

    ↓

Blender Input

```

und:

```

Raw DOP

    ↓

AOI Crop

    ↓

Resampling falls nötig

    ↓

Textur-Tiling falls nötig

    ↓

Blender Texturen

```

======================================================================

29. DEM-VALIDIERUNG

===================

Nach Verarbeitung automatisch prüfen:

* CRS

* Rasterauflösung

* Bounding Box

* min. Höhe

* max. Höhe

* NoData-Anteil

* unerwartete extreme Sprünge

* AOI-Größe

* Terrain-Ausdehnung

* Vertexzahl

* Facezahl

Erzeuge:

```

build/reports/terrain_report.json

```

======================================================================

30. ORTHOFOTO-VERARBEITUNG

==========================

Das Luftbild muss exakt georeferenziert auf dem Terrain liegen.

Nicht per Augenmaß.

Prüfe:

* Nordorientierung

* X/Y-Richtung

* keine Spiegelung

* kein 90°-Fehler

* korrekte Lage markanter Wege

* korrekte Lage topographisch markanter Flächen und Kanten

* korrekte Lage anderer markanter Strukturen

UVs möglichst mathematisch aus den Geokoordinaten ableiten.

======================================================================

31. TEXTUR-TILING

=================

Wenn die benötigte Textur größer ist als sinnvoll oder als der Converter

akzeptiert:

Orthofoto in Tiles zerlegen.

Erzeuge bei Bedarf:

```

scripts/tile_texture.py

```

Tiles:

* deterministisch

* überlappungsfrei

* eindeutig benannt

* passende UVs

* nachvollziehbare Zuordnung

Maximale Texturgröße nicht erfinden.

Offizielle Beispiele und Converter-Tests verwenden.

======================================================================

32. BLENDER

===========

Blender für Apple Silicon verwenden.

Automatisch nach Blender suchen.

Typischer Pfad:

```

/Applications/Blender.app/Contents/MacOS/Blender

```

aber prüfen.

Version dokumentieren.

======================================================================

33. BLENDER-AUTOMATISIERUNG

===========================

Erzeuge:

```

blender/build_scene.py

```

und:

```

scripts/run_blender_build.sh

```

Headless-Aufruf sinngemäß:

```

"$BLENDER" \

  --background \

  --python blender/build_scene.py

```

Das Blender-Skript soll:

* neue saubere Szene erzeugen

* Terrain importieren/erzeugen

* Meter-Skalierung sicherstellen

* lokale Koordinaten verwenden

* Normalen prüfen

* Geometrie prüfen

* Materialien anlegen

* Orthofoto-Texturen zuweisen

* UV-Koordinaten korrekt erzeugen

* RC10-relevante Objekt-/Materialnamen setzen

* Kollisionsgeometrie vorbereiten

* sinnvolle QA-Kamera anlegen

* Pilotposition visualisieren

* Startposition visualisieren

* Datei speichern

Ergebnis:

```

build/blender/site_slug.blend

```

======================================================================

34. BLENDER-EXPORTER

====================

Nutze den offiziellen aerofly/IPACS-TGI-Exporter.

Vor Verwendung:

* installierte Version ermitteln

* Blender-Kompatibilität prüfen

* Apple-Silicon-Kompatibilität prüfen

* offizielle Beispielszene untersuchen

Keine inkompatible Blender-Version erzwingen, wenn der Exporter eine

bestimmte Version benötigt.

Falls nötig, darf eine zweite kompatible Blender-Version parallel verwendet

werden.

======================================================================

35. TGI EXPORT

==============

Exportiere:

```

build/rc10_input/site_slug.tgi

```

Beim Export überprüfen:

* Maßstab

* Orientierung

* Normalen

* Materialien

* Texturreferenzen

* Objektbezeichnungen

* Kollisionsattribute

* Koordinaten

* Meshintegrität

Falls der Export per Python/CLI möglich ist:

automatisieren.

Falls er zwingend GUI-basiert ist:

* sämtliche Vorarbeiten automatisieren

* maximal wenige exakte GUI-Schritte dokumentieren

* danach Build automatisch fortsetzen

Nicht selbst ein TGI-Binärformat implementieren.

======================================================================

36. SICHTBARES TERRAIN VS KOLLISION

===================================

Untersuche anhand realer RC10-Beispiele, ob sichtbares Terrain und

Kollisionsmesh:

* identisch

* getrennt

* oder über bestimmte Objekt-/Materialtypen markiert

werden müssen.

Falls getrennte Geometrie sinnvoll ist:

```

TerrainVisual

TerrainCollision

```

erzeugen.

Collision darf vereinfacht sein.

ABER:

Die für Hangflug entscheidende Geländeform darf nicht so stark vereinfacht

werden, dass relevante Hangwinkel verfälscht werden.

======================================================================

37. RC10-OBJEKTTYP

==================

Begriffe wie:

```

static3d

virtual

decal

```

nur verwenden, wenn sie anhand aktueller funktionierender RC10-Dateien oder

Dokumentation bestätigt sind.

Ermittle:

* welcher Typ sichtbar ist

* welcher Typ kollidiert

* welcher Typ Bodenhöhe definiert

* welcher Typ möglicherweise für Wind relevant ist

Dokumentiere:

```

docs/terrain_integration.md

```

======================================================================

38. TSC-DATEI

=============

Erzeuge:

```

site_slug.tsc

```

Aber NICHT frei erfunden.

Vorgehen:

1. aktuelle funktionierende RC10-.tsc finden

2. offizielle Demo analysieren

3. nachgewiesene Tags identifizieren

4. nur notwendige Felder ändern

5. Ergebnis validieren

Dokumentiere jede relevante Eigenschaft in:

```

docs/tsc_notes.md

```

======================================================================

39. PILOTPOSITION

=================

Pilotposition soll sinnvoll für Hangflug liegen.

Bestimme sie anhand:

* DGM

* Orthofoto

* Topographie

* realistisch nutzbarer Fläche

Pilot darf nicht:

* unter Terrain stehen

* schweben

* in Kollisionsgeometrie stecken

* an einer offensichtlich ungeeigneten Stelle stehen

======================================================================

40. MODELLSTARTPOSITIONEN

=========================

Wenn das RC10-Format mehrere Positionen unterstützt, bereite mindestens

sinnvolle Varianten vor:

```

Hauptanströmungsrichtung / alternative Anströmungsrichtung

Ost

geeigneter freier Testbereich

```

Positionen anhand des realen DEM bestimmen.

Nicht per willkürlichem Z-Wert.

Modell darf nicht:

* unter Terrain liegen

* deutlich schweben

* in einem Hindernis starten

======================================================================

41. MVP

=======

Priorität 1 ist eine FUNKTIONIERENDE Testszene.

MVP:

* korrektes Terrain

* korrekte Höhe

* brauchbare Meshauflösung

* Orthofoto

* Material

* Kollision

* Pilotposition

* Modellstart

* TGI

* TSC

* erfolgreiche Konvertierung

* Preview

* Installation

* In-Sim-Test

Keine unnötigen Detailobjekte vorziehen.

======================================================================

42. OPTIONALE DETAILS NACH MVP

==============================

Erst nach funktionierendem MVP optional:

* Wege

* gegebenenfalls Gipfel-, Kamm- oder ebene Startbereiche-Details

* charakteristische Wege und Bauwerke, sofern vorhanden

* markante Landschafts- oder Orientierungselemente, sofern vorhanden

* Vegetation

* Landmarken

Nur rechtlich zulässige Daten/Assets verwenden.

Keine Google-Earth-3D-Meshes übernehmen.

======================================================================

43. CONTENT-CONVERTER

=====================

Nutze ausschließlich den für die aktuelle RC10-Version nachweislich richtigen

Content Converter.

Erzeuge:

```

build/logs/

```

und speichere Converter-Ausgaben dort.

Build gilt als fehlgeschlagen, wenn:

* Converter Exitcode ungleich 0

* erwartete Output-Datei fehlt

* Output-Datei 0 Byte hat

* Log einen fatalen Fehler enthält

======================================================================

44. TGI → TMB

=============

Erwarteter Schritt:

```

site_slug.tgi

    ↓

RC10 Content Converter

    ↓

site_slug.tmb

```

Aber tatsächliche Dateinamen und Workflow anhand aktueller Beispiele prüfen.

======================================================================

45. TEXTUREN → TTX

==================

Alle für RC10 erforderlichen Texturen über den offiziell vorgesehenen

Workflow konvertieren.

Erwartetes Ergebnis:

```

*.ttx

```

Keine nicht unterstützten Bildformate in dist übernehmen.

======================================================================

46. PREVIEW

===========

Erzeuge:

```

preview.png

```

mit:

```

exakt 1024 x 1024 Pixel

```

Wenn sinnvoll:

automatisierter Blender-Render.

Alternativ:

rechtlich zulässige aufbereitete Luftbildansicht.

Preview anschließend mit dem tatsächlichen RC10-Workflow konvertieren:

```

preview.ttx

```

======================================================================

47. PROJECT STRUCTURE

=====================

Erzeuge ungefähr diese Struktur:

site_slug/

│

├── README.md

├── TESTING.md

├── LICENSES_DATA.md

├── .gitignore

├── requirements.txt

├── build.sh

│

├── config/

│   ├── site.json

│   ├── build_test.json

│   ├── build_quality.json

│   └── local_environment.json

│

├── data/

│   ├── raw/

│   ├── processed/

│   └── cache/

│

├── scripts/

│   ├── download_geodata.py

│   ├── process_dem.py

│   ├── process_orthophoto.py

│   ├── build_terrain.py

│   ├── tile_texture.py

│   ├── validate_build.py

│   ├── run_blender_build.sh

│   ├── build_rc10.sh

│   └── deploy.sh

│

├── blender/

│   └── build_scene.py

│

├── windows/

│   ├── convert_rc10.ps1

│   └── convert_rc10.cmd

│

├── build/

│   ├── blender/

│   ├── rc10_input/

│   ├── rc10_windows_input/

│   ├── rc10_converted/

│   ├── reports/

│   └── logs/

│

├── dist/

│   └── site_slug/

│

└── docs/

├── environment_report.md

├── geodata_sources.md

├── rc10_implementation_decision.md

├── terrain_integration.md

├── wind_model_verification.md

├── tsc_notes.md

└── troubleshooting.md

Passe die Struktur an tatsächliche Anforderungen an.

Aber halte strikt getrennt:

```

Source

Raw Data

Intermediate Build

Distribution

```

======================================================================

48. BUILD-PRESETS

=================

Erzeuge mindestens:

```

config/build_test.json

config/build_quality.json

```

TEST:

* kleinerer Ausschnitt, falls sinnvoll

* stärker vereinfachtes Terrain

* schnellere Iterationen

* geeignet zum Test der Toolchain

QUALITY:

* volle relevante Hangtreue

* höhere Texturqualität

* finaler Flugtest

Keine magischen Zahlen über Skripte verteilen.

Alle relevanten Parameter zentral konfigurieren.

======================================================================

49. MASTER BUILD

================

Ziel:

```

./build.sh test

```

und:

```

./build.sh quality

```

Optional:

```

./build.sh test --deploy

./build.sh quality --deploy

```

Alternativ darf die Hauptlogik als plattformunabhängiges Python-Tool gebaut

werden:

```

python3 tools/build.py --preset test

```

Wenn Python eine sauberere Cross-Platform-Lösung ergibt, bevorzuge Python.

Shell sollte dann nur Wrapper sein.

======================================================================

50. BUILD-ABLAUF

================

Master-Build soll soweit möglich automatisch:

1. Umgebung prüfen

2. Config lesen

3. Geodaten prüfen/downloaden

4. DEM verarbeiten

5. DOP verarbeiten

6. Terrain erzeugen

7. Blender-Szene erzeugen

8. QA durchführen

9. TGI erzeugen

10. TSC erzeugen

11. Preview erzeugen

12. Converter ausführen oder Windows-Paket vorbereiten

13. RC10-Ausgabe einsammeln

14. Distribution bauen

15. Distribution validieren

16. optional deployen

======================================================================

51. BUILD-METRIKEN

==================

Nach jedem Build ausgeben und speichern:

* Preset

* AOI

* DEM-Zellen

* Vertices

* Faces

* Mesh-Bounding-Box

* min. Höhe

* max. Höhe

* Orthofoto-Auflösung

* Texturanzahl

* Texturgrößen

* TGI-Dateigröße

* TMB-Dateigröße

* TTX-Gesamtgröße

* gesamte Szenengröße

* Blender-Buildzeit

* Converter-Zeit

* Build-Gesamtzeit

Speichern unter:

```

build/reports/build_report.json

```

======================================================================

52. VALIDATOR

=============

Erzeuge:

```

scripts/validate_build.py

```

Der Validator soll mindestens prüfen:

* erwartete Dateien vorhanden

* Dateien > 0 Byte

* TSC syntaktisch plausibel

* referenzierte Ressourcen vorhanden

* keine fehlenden Texturen

* keine absoluten Entwicklungs-Pfade

* keine macOS-temp-Dateien

* keine Windows-temp-Dateien

* keine Blender-Backup-Dateien im dist

* Preview vorhanden

* TMB vorhanden

* benötigte TTX vorhanden

* Terrain plausibel

* Bounding Box plausibel

* Höhenbereich plausibel

* keine offensichtlich fehlgeschlagene Converter-Ausgabe

Ausgabe:

```

BUILD VALID

```

oder:

```

BUILD INVALID

```

mit konkreter Fehlerliste.

======================================================================

53. DISTRIBUTION

================

Staging:

```

dist/site_slug/

```

Nur tatsächlich benötigte Runtime-Dateien aufnehmen.

Keine:

* Python-Dateien

* Blender-Dateien

* Raw-Geodaten

* Logs

* Screenshots

* Cache-Dateien

in den RC10-Szenerieordner kopieren.

======================================================================

54. MACOS DEPLOY

================

Erzeuge:

```

scripts/deploy.sh

```

Deployment-Ziel nicht hardcoden.

Ermittle den tatsächlich von RC10 verwendeten macOS-User-Scenery-Pfad.

Vor Deployment:

1. BUILD VALID verlangen

2. Zielpfad validieren

3. vorhandene Szene optional sichern

4. sauber kopieren

Nach Deployment:

exakten Pfad ausgeben.

======================================================================

55. SHELL-SKRIPTE

=================

Primäre macOS-Skripte:

```

#!/usr/bin/env bash

set -euo pipefail

```

Pfade immer quoten.

Beispiel:

```

"$PROJECT_ROOT/build/rc10_input"

```

nicht:

```

$PROJECT_ROOT/build/rc10_input

```

Shell-Skripte nach Erstellung ausführbar machen:

```

chmod +x

```

======================================================================

56. GIT

=======

Falls noch kein Git-Repository:

```

git init

```

Sinnvolle .gitignore erzeugen.

Nicht committen:

* .venv

* große Raw-Geodaten

* Build-Artefakte

* lokale absolute Pfade

* temporäre Dateien

* Blender-Backups

* OS-Metadaten

* .DS_Store

Quellcode und Config dagegen versionierbar halten.

======================================================================

57. TEST IN RC10

================

Der finale interaktive Flugtest erfolgt durch mich.

Erzeuge:

```

TESTING.md

```

mit kurzem präzisem Testplan.

TEST 1 – SZENE LADEN

* RC10 starten

* Eigene/User-Szenerien öffnen

* konfigurierten Anzeigenamen der Szenerie auswählen

* Szene laden

* auf Fehlermeldungen achten

TEST 2 – TERRAIN

* aktuelle dokumentierte Kollisions-/Debug-Darstellung aktivieren, falls

  verfügbar

* prüfen, ob das Zielgelände vorhanden ist

* prüfen, ob Geländeform plausibel ist

* Modell auf geeignete Geländeoberfläche bzw. den Hang aufsetzen

* Kollision testen

TEST 3 – STANDORTABHÄNGIGE ANSTRÖMUNG

* Thermik möglichst reduzieren, falls zur Isolation des Hangwinds sinnvoll

* Windvariation reduzieren

* topographisch geeignete Hauptanströmungsrichtung einstellen

* zweite sinnvolle Anströmungsrichtung einstellen

* Segler entlang der Luvflanke fliegen

* Aufwind/Lee beobachten

TEST 4 – GEGENRICHTUNG

* Wind um ca. 180 Grad drehen

* prüfen, ob Aufwindseite plausibel wechselt

TEST 5 – SPAWN

* alle vorhandenen Startpositionen testen

* kein Start unter Terrain

* kein extremes Schweben

* keine Kollision beim Spawn

======================================================================

58. DEBUG-HOTKEYS

=================

RC10-Debug-Hotkeys ausschließlich aus aktueller Dokumentation oder

funktionierenden Workshop-Dateien übernehmen.

Keine Hotkeys aus RC9 oder Aerofly FS ungeprüft übertragen.

======================================================================

59. PERFORMANCE

===============

Prioritäten:

1. geometrische Hangtreue

2. stabile Konvertierung

3. stabile Simulationsperformance

4. Texturqualität

5. Detailobjekte

Nicht Millionen Polygone nur deshalb behalten, weil das hochaufgelöste DEM sie hergibt.

Nicht überoptimieren, sodass Hangwinkel zerstört werden.

======================================================================

60. QUALITÄTSKRITERIEN

======================

Das Terrain muss:

* maßstabstreu sein

* korrekt orientiert sein

* Höhen korrekt besitzen

* sauber texturiert sein

* keine sichtbaren großen Fehler besitzen

* kollidierbar sein

* in RC10 korrekt geladen werden

Das Orthofoto muss:

* nicht gespiegelt sein

* nicht verdreht sein

* räumlich auf dem Terrain liegen

======================================================================

61. REALE DETAILS UND LIZENZEN

==============================

Verwende keine urheberrechtlich problematischen 3D-Daten.

Insbesondere:

* kein Google-Earth-3D-Mesh

* keine extrahierten proprietären Fotogrammetriedaten

* keine fremden kommerziellen Modelle ohne Lizenz

standortabhängige offene Geodaten sauber lizenzieren und attribuieren.

======================================================================

62. FEHLERBEHANDLUNG

====================

Wenn ein Schritt fehlschlägt:

NICHT sofort aufgeben.

Arbeite nach:

1. Fehler lesen

2. wahrscheinlichste Ursache bestimmen

3. Log untersuchen

4. Eingabedatei prüfen

5. Fix durchführen

6. erneut testen

7. Resultat vergleichen

Iteriere sinnvoll.

======================================================================

63. GUTE BLOCKER-MELDUNG

========================

Nur wenn echter manueller Eingriff nötig ist.

Schlechte Meldung:

```

"Der Converter funktioniert nicht. Wie möchtest du vorgehen?"

```

Gute Meldung:

```

"Der aktuelle offizielle RC10 Content Converter ist nur für Windows

verfügbar. Die komplette Mac-Pipeline bis einschließlich TGI/TSC ist

fertig. Bitte starte jetzt die Windows-11-ARM-VM und stelle sicher, dass

der RC10 Content Converter darin installiert ist.

Das zu konvertierende Paket liegt unter:

build/rc10_windows_input/

Sobald die VM verfügbar ist, kann der Converter-Schritt fortgesetzt

werden."

```

Blocker immer konkret formulieren:

* was fehlt

* warum

* wo

* welcher nächste manuelle Schritt erforderlich ist

======================================================================

64. KEINE UNSPEZIFISCHEN RÜCKFRAGEN

===================================

Nicht fragen:

```

"Wie möchtest du weiter vorgehen?"

```

oder:

```

"Soll ich X machen?"

```

wenn die nächste sinnvolle Aktion technisch klar ist.

Führe sie aus.

======================================================================

65. REALITY CHECK BEI DOKUMENTATION

===================================

RC10 nicht mit:

* RC9

* Aerofly FS 2

* Aerofly FS 4

verwechseln.

Ältere Anleitungen nur verwenden, wenn sie nachweislich noch gültig sind.

Aktuelle RC10-Quellen haben Vorrang.

======================================================================

66. DEFINITION OF DONE

======================

Das Projekt ist erst vollständig:

```

TEST READY – AWAITING IN-SIM VALIDATION

```

wenn:

[ ] reale DGM-Daten verwendet werden

[ ] reales Orthofoto verwendet wird

[ ] CRS verifiziert wurde

[ ] Gelände korrekt skaliert ist

[ ] Gelände korrekt orientiert ist

[ ] Höhen korrekt sind

[ ] relevante Hangprofile erhalten sind

[ ] Terrain keine Löcher enthält

[ ] Blender-Datei reproduzierbar erzeugt wurde

[ ] TGI erfolgreich erzeugt wurde

[ ] gültige TSC erzeugt wurde

[ ] Pilotposition vorhanden ist

[ ] Modellstartposition vorhanden ist

[ ] offizieller RC10-Converter erfolgreich gelaufen ist

[ ] TMB vorhanden ist

[ ] benötigte TTX vorhanden sind

[ ] preview.ttx vorhanden ist

[ ] dist/site_slug vollständig ist

[ ] Validator BUILD VALID meldet

[ ] Deployment nach RC10 unter macOS möglich ist

======================================================================

67. SONDERSTATUS BEI WINDOWS-CONVERTER

======================================

Wenn alles auf dem Mac fertig ist, aber der offizielle RC10-Converter nur

unter Windows ausgeführt werden kann:

Status:

```

MAC BUILD READY – WINDOWS RC10 CONVERSION REQUIRED

```

Nicht:

```

TEST READY

```

Erst nach erfolgreicher TMB-/TTX-Konvertierung:

```

TEST READY – AWAITING IN-SIM VALIDATION

```

======================================================================

68. STATUS BEI FEHLER

=====================

Falls ein echter externer Blocker verbleibt:

```

BLOCKED

```

Aber nur, wenn er aktuell nicht selbst lösbar ist.

======================================================================

69. ERSTER TESTBUILD

====================

Beginne NICHT sofort mit maximaler Qualität.

Baue zuerst:

```

TEST

```

Ziel:

* kleine reproduzierbare Toolchain

* schnell konvertierbar

* schnell in RC10 ladbar

Wenn TEST funktioniert:

```

QUALITY

```

bauen.

======================================================================

70. WIND-VALIDIERUNG

====================

Wenn die Terrainintegration erfolgreich ist, aber unklar bleibt, ob das

Terrain selbst das RC10-Hangwindmodell beeinflusst:

Baue zusätzlich eine Minimal-Testszene:

```

wind_test_flat

```

und:

```

wind_test_slope

```

Gleiche:

* Szenerie

* Wind

* Startposition

* Einstellungen

Einziger Unterschied:

```

flacher Boden

vs.

starke geneigte Fläche

```

Damit kann das Verhalten reproduzierbar geprüft werden.

======================================================================

71. DOKUMENTATION DER WIND-ERGEBNISSE

=====================================

Nach meinem In-Sim-Test soll die Datei:

```

docs/wind_model_verification.md

```

leicht aktualisierbar sein.

Sie soll enthalten:

* getestete RC10-Version

* Terrain-Typ

* Windrichtung

* Windgeschwindigkeit

* Thermikeinstellungen

* Verhalten Flat-Test

* Verhalten Slope-Test

* Schlussfolgerung

* Confidence-Level

======================================================================

72. README

==========

Erzeuge ein kompaktes:

```

README.md

```

mit:

* Projektziel

* Systemvoraussetzungen

* Setup

* TEST Build

* QUALITY Build

* Windows-Converter-Bridge, falls nötig

* Deployment

* Validierung

Kein überlanges Tutorial.

======================================================================

73. MACOS-TERMINALZUGRIFF AKTIV NUTZEN

======================================

Du hast Zugriff auf den Cursor-Agenten und das integrierte Terminal.

Wenn du prüfen kannst, ob ein Programm, Verzeichnis oder SDK vorhanden ist,

prüfe es selbst.

Beispiele:

```

pwd

uname -m

sw_vers

command -v python3

python3 --version

command -v git

command -v brew

mdfind "kMDItemFSName == 'Blender.app'"

ls "/Applications"

find "$HOME/Library/Application Support/Steam" \

  -maxdepth 6 \

  -iname '*aerofly*' \

  2>/dev/null

```

Keine Frage an mich stellen, die mit einem Terminalbefehl beantwortet werden

kann.

======================================================================

74. BLENDER-CLI

===============

Wenn Blender unter:

```

/Applications/Blender.app

```

gefunden wird, prüfe:

```

"/Applications/Blender.app/Contents/MacOS/Blender" --version

```

Ermittle den tatsächlichen Pfad trotzdem dynamisch.

Keine hartcodierte Blender-Version verwenden.

======================================================================

75. TGI-EXPORTER-KOMPATIBILITÄT

===============================

Falls der aktuelle TGI-Exporter nicht mit der neuesten Blender-Version

funktioniert:

Nicht versuchen, ihn blind zu patchen.

Prüfe:

* offiziell unterstützte Blender-Version

* verfügbare aktuelle Exporter-Version

* bekannte funktionierende Kombination

Falls nötig:

installiere/verwende zusätzlich eine passende Blender-Version.

Bevorzugt native Apple-Silicon-Version.

======================================================================

76. SICHERHEIT

==============

Keine destruktiven Aktionen außerhalb des Projektordners ohne zwingenden

Grund.

Insbesondere keine:

```

rm -rf

```

auf dynamisch zusammengesetzten oder ungeprüften Pfaden.

Vor Löschen:

* Pfad validieren

* sicherstellen, dass er innerhalb des Projektes liegt

Deployment-Ziel darf überschrieben werden, aber bevorzugt vorher sichern.

======================================================================

77. DATENSCHUTZ

===============

Keine:

* privaten Benutzerdaten

* Browserdaten

* Keys

* Tokens

* Passwörter

suchen oder protokollieren.

Nur projektrelevante Dateien untersuchen.

======================================================================

78. ABSCHLUSSAUSGABE

====================

Wenn der Build fertig oder blockiert ist, gib KEIN langes Tutorial aus.

Nutze exakt diese kompakte Struktur:

STATUS:

<TEST READY – AWAITING IN-SIM VALIDATION |

MAC BUILD READY – WINDOWS RC10 CONVERSION REQUIRED |

BLOCKED>

BUILD:

<absoluter oder sinnvoll aufgelöster lokaler Pfad zu dist/site_slug>

DEPLOY: <RC10-Zielpfad oder NOT DEPLOYED>

PLATFORM:

macOS / Apple Silicon

TERRAIN:

Vertices:

Faces:

Abmessungen:

Min Height:

Max Height:

DATA:

DGM:

DOP:

CRS:

RC10:

TSC:

TGI:

TMB:

TTX:

Preview:

CONVERTER:

<native macOS | Windows bridge | anderer verifizierter Workflow>

WIND:

<VERIFIED | STRONGLY_INDICATED | UNVERIFIED>

VALIDATION:

<BUILD VALID | BUILD INVALID>

MANUAL TEST:

1.

2.

3.

4.

5.

BLOCKER: <none oder konkrete einzelne Blockade>

======================================================================

79. ARBEITSREIHENFOLGE AB JETZT

===============================

Beginne JETZT mit tatsächlicher Arbeit am Repository.

Nicht zuerst einen langen theoretischen Plan schreiben und danach warten.

Arbeitsreihenfolge:

PHASE 0 – HOST

* pwd

* macOS prüfen

* arm64 prüfen

* Python prüfen

* Git prüfen

* Blender suchen

* Steam/RC10 suchen

PHASE 1 – RC10 TOOLCHAIN

* aktuelle RC10-Dokumentation prüfen

* SDK/Workshop prüfen

* TGI-Exporter prüfen

* Content Converter prüfen

* macOS-vs-Windows-Converterfrage klären

* Beispiel-TSC untersuchen

PHASE 2 – PROJECT BOOTSTRAP

* Git initialisieren, falls nötig

* Projektstruktur erzeugen

* .gitignore

* Python venv

* Config-System

* Environment Report

PHASE 3 – GEOREFERENZ

* Zielgebiet anhand der konfigurierten WGS84-Koordinaten und AOI identifizieren

* CRS prüfen

* AOI definieren

* lokalen Origin definieren

PHASE 4 – GEODATEN

* geeignete, rechtlich nutzbare DEM-Daten für das Zielgebiet beschaffen

* DOP beschaffen

* Quellen dokumentieren

* Daten validieren

PHASE 5 – TEST TERRAIN

* DEM zuschneiden

* Mesh erzeugen

* Multi-Resolution anwenden

* Terrain validieren

PHASE 6 – TEXTURE

* DOP zuschneiden

* UVs erzeugen

* ggf. Tiles erzeugen

PHASE 7 – BLENDER

* Szene automatisch aufbauen

* Material

* Terrain

* Collision

* QA

* .blend speichern

PHASE 8 – TGI

* offiziellen Exporter verwenden

* TGI erzeugen

* Export prüfen

PHASE 9 – TSC

* funktionierende Beispielstruktur übernehmen

* Szene konfigurieren

* Pilot-/Startpositionen eintragen

PHASE 10 – CONVERTER

Falls macOS:

* nativ konvertieren

Falls Windows-only:

* build/rc10_windows_input vorbereiten

* Windows-Helper erzeugen

* nur dann blockieren, wenn die Windows-Ausführung tatsächlich extern

  erforderlich ist

PHASE 11 – PREVIEW

* preview.png

* preview.ttx

PHASE 12 – DIST

* dist/site_slug erzeugen

* Runtime-Dateien sammeln

PHASE 13 – VALIDATION

* validate_build.py

* Build prüfen

* Fehler beheben

* erneut prüfen

PHASE 14 – DEPLOY

* tatsächlichen RC10-macOS-Scenery-Pfad verwenden

* Szene installieren

PHASE 15 – TESTING

* TESTING.md fertigstellen

* Status auf

  TEST READY – AWAITING IN-SIM VALIDATION

  setzen

======================================================================

80. LETZTE ENGINEERING-REGELN

=============================

* Keine Halluzination proprietärer Formate.

* Aktuelle RC10-Beispiele sind Ground Truth.

* RC10 nicht mit Aerofly FS verwechseln.

* RC9 nicht ungeprüft übernehmen.

* Keine Google-3D-Daten.

* Qualitativ hochwertige und rechtlich nutzbare DEM-Daten haben Vorrang; Eignung anhand von Aktualität, Auflösung und Genauigkeit prüfen.

* GIS-Koordinaten nicht per Augenmaß.

* Keine Höhenüberhöhung.

* 1 Meter bleibt 1 Meter.

* DEM und DOP müssen korrekt registriert sein.

* Originaldaten niemals überschreiben.

* Builds müssen reproduzierbar sein.

* TEST vor QUALITY.

* Converter-Limits messen statt erfinden.

* Windows nur für tatsächlich notwendige proprietäre Schritte verwenden.

* Mac-native Verarbeitung bevorzugen.

* Apple-Silicon-native Tools bevorzugen.

* Jede kritische Annahme verifizieren.

* Jede unbekannte Annahme klar als UNVERIFIED kennzeichnen.

* Nicht nach Erlaubnis fragen, wenn der nächste Schritt technisch eindeutig

  und innerhalb des Projekt-Workspace sicher ausführbar ist.

BEGINNE JETZT MIT PHASE 0.

Untersuche zuerst den tatsächlichen macOS-Host, den geöffneten Workspace,

Python, Blender, Steam/aerofly RC10 und die lokal vorhandenen RC10-

Entwicklerwerkzeuge.

Danach arbeite autonom weiter, bis entweder

```

TEST READY – AWAITING IN-SIM VALIDATION

```

erreicht ist oder ein echter externer Blocker vorliegt.

