# MSFS Addon Datensatz

Alle bekannten Addon Flugzeuge für Microsoft Flight Simulator 2020 und 2024, ihre Entwickler und der Release Status (released, Beta, in Entwicklung, angekündigt, still, eingestellt, Gerücht).

Stand der Recherche: 22.10.2026, neueste verwendete Quelle vom 20.10.2026. Quellen sind vor allem msfsaddons.com (Artikel, Tracker, Entwicklerarchive), dazu SimFlight, Stormbirds, FSNews, Threshold, flightsim.to, Entwicklerseiten und das offizielle Forum.

## Inhalt

| Datei | Inhalt |
| --- | --- |
| `aircraft.json` | 748 Flugzeuge, davon 606 aus den Release Listen und 142 Pipeline Projekte |
| `developers.json` | 196 Entwickler (15 mit vollem Profil, 63 mit Kurzprofil, 118 nur abgeleitet) |
| `contradictions.json` | 47 dokumentierte Widersprüche zwischen Quellen (K01 bis K47) |
| `compat_2020_vs_2024.json`, `studio_lines_2024.json`, `sim_updates.json`, `stores_and_channels.json`, `catalogs.json`, `announcement_to_release.json`, `standard_fleet.json` | Referenztabellen |
| `meta.json` | Zähler, Stand, alle Enums mit deutschen Anzeigenamen |
| `aircraft.csv`, `developers.csv` | flache Exporte für Tabellenprogramme |
| `SCHEMA.md` | Felder und Werte im Detail, bitte zuerst lesen |
| `source_csv/` | Die 20 Original Tabellen aus dem Bericht, unverändert |
| `tools/` | Die Skripte, mit denen aus den Original Tabellen die JSON Dateien entstanden sind |

## Wie sauber sind die Daten?

Der Datensatz ist eine Recherche, kein geprüfter Katalog. Das sollte auf der Seite sichtbar bleiben.

- `confidence` ist bei 152 Einträgen hoch, 396 mittel und 200 niedrig.
- 60 Einträge stehen nur in Listen (`status_verified: listed_only`), bei 7 widersprechen sich die Quellen (`conflicting`).
- Bei 428 Flugzeugen ist die Kompatibilität mit MSFS 2024 nicht verifiziert (`sim_2024: unknown`), bei 350 die mit 2020.
- Bei 375 Flugzeugen ist der Preis nicht verifiziert (`price_type: unknown`).
- 225 Einträge haben kein Datum (`release_precision: none`). Bei 127 davon ist das normal, weil die Projekte noch keinen Termin haben.
- Entwickler wurden aus 267 Schreibweisen zu 196 Namen zusammengeführt. Kleinere Fehler beim Zusammenführen sind möglich, `developer_raw` zeigt immer die Originalschreibweise.

## Was nicht aus den Quellen stammt, sondern Entscheidungen des Datensatzes sind

- **Status Enum:** Der Freitext der Quellen wurde zu festen Werten vereinfacht, der Originaltext steht immer in `status_note`. `dormant` ("still") bedeutet mehr als 12 Monate ohne Lebenszeichen und ist ein Label des Datensatzes, keine Aussage der Entwickler.
- **Konfidenz:** Bei Mischangaben wie "hoch (Status), mittel (Preis)" gilt die niedrigste Stufe.
- **Sim Kompatibilität:** 69 Sonderfälle mit widersprüchlichen oder langen Quellentexten wurden von Hand entschieden, der Originaltext bleibt in `sim_note`. Wo Quellen sich ernsthaft widersprechen, steht `conflicting`.
- **Release Termine:** `release_from` und `release_to` bilden Zeiträume ab (Quartal, Jahr), damit sich sauber sortieren lässt. `release_date` ist nur bei Tagesgenauigkeit gesetzt.

## Hinweise für die Website

- **Suche:** über `name`, `developers`, `aliases` der Entwickler, `category_detail`. Bei 750 Einträgen reicht eine clientseitige Suche (z. B. MiniSearch oder Fuse.js).
- **Filter:** `category`, `status`, `sim_2020`, `sim_2024`, `price_type`, `confidence`, `is_pipeline`, Entwickler.
- **Detailseite:** Immer `status_note`, `confidence` und `sources` zeigen. Wenn `contradiction_codes` gesetzt sind, auf `contradictions.json` verlinken.
- **Pipeline:** nach `release_to` sortieren, Einträge ohne Datum nach Status gruppieren.
- **Quellen:** Nur verlinken, keine Artikeltexte übernehmen. Fakten sind frei, die Texte der Quellen nicht.
- **Domains im Quellenfeld:** `sources[].type` und `sources[].published` erlauben später, die Aktualität pro Eintrag anzuzeigen.

## Hinweise für einen späteren Crawler

- IDs (`id`) bleiben stabil, `slug` kann aus Name und Entwickler neu erzeugt werden.
- `developers[].aliases` und `developer_raw` helfen beim Zuordnen neuer Meldungen zu bestehenden Produkten.
- Jede Änderung sollte Quelle und Quelldatum mitbringen, damit eine alte Meldung keinen neueren Status überschreibt.
- `tools/norm.py` enthält die Parser für Status, Sim, Preis, Release und Links und lässt sich für neue Meldungen wiederverwenden.

## Startprompt für Claude Code

> Lies README.md und SCHEMA.md in diesem Ordner. Baue mit Next.js, TypeScript und Tailwind eine Website mit Suche und Filtern auf Basis von aircraft.json und developers.json. Seiten: Start mit großer Suche, Flugzeugliste mit Filtern (Sim, Status, Kategorie, Konfidenz), Flugzeug Detail, Entwickler Liste und Detail, Pipeline als Zeitleiste, Datenseite mit Downloads. Filter stehen in der URL. Konfidenz und Quellen sind überall sichtbar. Der Projektname kommt aus einer einzigen Config Datei. Nutze meine design.md.

## Skripte neu ausführen

Die Skripte in `tools/` haben feste Pfade für die Recherche Umgebung (`BASE` in `build.py`). Zum Neuausführen `BASE` auf den Ordner mit `csv/` anpassen und `python3 build2.py` starten.
