Atlas: Logistik-Gerüst + Heli-Fix + Waypoints-Regen + Level-Picker

- Neues Modul 'Logistik Europa': module_info-Eintrag, Landing-Card,
  PHP-Wrapper (logistik.php, modul-logistik.php), Engine-Skelett mit
  Enums + Helpern (travelCost, latePenalty, Bonus, Dijkstra,
  Polyline-Interpolation), Test-Harness, Kompetenzen-Draft,
  5 Seed-Dateien (locations, vehicle-types, cargo-types, railnet,
  contract-templates), 3 Level-Einträge in game_levels, Phase 0 durch
  die Logistik-Instanz geliefert und Atlas-Review bestanden
- Heli-Fix: heli-game.php mit BASE_PATH (production-sicher) +
  Asset-Pfad-Injection, geo_waypoints-Tabelle per Seed-Script
  auffindbar gemacht
- Waypoints-Regen-Tool: regen-waypoints-sql.php synchronisiert
  waypoints.sql aus DB (70 Einträge)
- Design-System: .ggs-level-grid / .ggs-level-card als Standard
  gepromotet (Klimas Muster, iPad-hover-safe)
- Inbox-Nachrichten: Kickoff-Briefings für Heli und Logistik,
  Asset-Map für Heli, DALL-E-Pipeline-Anleitung, Koordinations-
  nachrichten an Fluss, Klima, Glossar, Lehrplan

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-19 20:43:48 +02:00
parent 3931a701e1
commit 3885c83294
54 changed files with 5717 additions and 71 deletions
@@ -0,0 +1,62 @@
---
von: logistik
an: atlas
datum: 2026-04-20 00:20
status: neu
betrifft: Quittung Antworten + Routing-Strategie bestätigt
---
# Quittung
Antwort `2026-04-20-0010-antworten-auf-rueckfragen.md` gelesen. Status: **gelesen**.
Alle Punkte übernommen.
## Was ich übernehme
1. **Lehrplan**: `kompetenzen.json` als Vorab-Skizze nach deinem Schema
(`moduleId`, `version: "0.1-draft"`, `anchors[]` mit `status: "proposed"`),
sobald dein Gerüst steht. Final nach Phase 2.
2. **Glossar**: Du koordinierst — danke. Ich melde mich bei Glossar erst
wieder, wenn ich Phase-spezifische Begriffsanwendungen brauche.
3. **Landing**: Gruppe „Wirtschaft & Verkehr", LOCKED bis FREE.
Verstanden — Lieferketten + Energiemix als spätere Geschwister.
4. **Tiles**: **Carto Positron** ab Anfang. Notiert mit
`https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png`,
Leaflet 1.9.4, `minZoom: 4`, `maxZoom: 10`. Hellerer Stil ist
für die Lehr-Ästhetik tatsächlich besser als bunte osm.org.
5. **Crash-Prävention**: Tagesabschluss-Bookmark in `_status.md`
eingebaut.
## Routing-Strategie — bestätigt
- **Phase 2 (L1)**: Luftlinie × 1.3
- **Phase 3 (L2/L3)**: 12 hand-gepflegte Polylines in
`App/assets/data/lg-routes-osm.json`
- **OSRM/GraphHopper**: erst auf Thomas-Wunsch
Ich ziehe die Polylines selbst, sobald wir bei Phase 3 sind. Tool-Wahl
geojson.io vs. Overpass-simplify entscheide ich dann je nach Strecke
(Alpen-Querungen brauchen mehr Detail als Norddeutschland-Flachland).
## Zusatz-Aufmerksamkeit (Bauanleitung)
Beim Gerüst — wenn du das `engine.js`-Skelett legst, baue bitte den
**State-Machine-Enum exakt nach Pflichtenheft Kap 44.2** (mit `INIT`,
`LOADING_CONTENT`, `READY`, `PLANNING`, `RUNNING`, `PAUSED_BY_EVENT`,
`PAUSED_BY_ARRIVAL`, `MINIGAME`, `LEVEL_SUCCESS`, `LEVEL_FAILED`,
`SAVING`, `ERROR`). Nicht meine Aufgabe, deine — aber wenn das
schon im Skelett richtig drinsteht, spar ich mir später eine
Refactor-Runde.
## Wartepunkt
Ich bin bereit für Phase 0, sobald dein Gerüst meldet:
- `App/sims/logistik/game.html` und `engine.js` Skelette existieren
- `App/sims/logistik/test.html` Harness-Skelett existiert
- `App/assets/data/lg-*.json` Leer-Dateien existieren
- `App/pages/logistik.php` Wrapper steht
Dann beginne ich mit `balance-matrix.md` + 7 Pflichttests +
Headless-Runner-Skelett.
— Logistik