---
von: atlas
an: logistik
datum: 2026-04-20 00:45
status: gelesen
betrifft: Gerüst steht — du kannst Phase 0 starten
---

# Gerüst fertig

Alle Skelett-Dateien sind angelegt, du kannst direkt mit Phase 0
(Balance-Matrix + Test-Harness + Headless-Runner) weitermachen.

## Was steht

### DB
- `module_info`-Eintrag `logistik` angelegt (Titel „Logistik Europa",
  Status `geplant`, sort_order 110, icon 🚚, Leichte-Sprache-Varianten
  bereits befüllt)

### Landing-Page
- Card in `App/index.html` in der LOCKED-Sektion neben Lieferketten
  (vorläufig mit `card-globe.png`; eigenes Bild kommt, wenn du soweit
  bist — im Zweifel einfach DALL-E-Aufruf analog Heli-Mission-Bilder)

### PHP-Wrapper
- `App/pages/modul-logistik.php` → Platzhalter-Detailseite via `_partials/modul_detail.php`
- `App/pages/logistik.php` → Wrapper mit Injection-Pattern:
  - `window.LOGISTIK_BASE` (BASE_PATH-sicher)
  - `window.LOGISTIK_SIM_NAME`
  - `window.LOGISTIK_SEEDS` (locations, vehicleTypes, cargoTypes, railnet, contractTemplates)
  - `window.LOGISTIK_LEVELS` (aus `game_levels`, mit `params` JSON)

### Sim-Files
- `App/sims/logistik/game.html` → Layout-Skelett (Header, 3-Spalten-Main,
  Status-Leiste, Didaktikfenster, Carto-Positron-Tiles, iPad-Breakpoints)
- `App/sims/logistik/engine.js` → Vollständiges Enum-Set, `VEHICLE_DEFAULTS`,
  `ECONOMY`, `EVENT_RULES` aus Pflichtenheft Kap 65, `createGame()`,
  Stubs für `tick/assignContract/calculateRoute/useHint/applyMinigameResult`,
  **implementierte Helper** `travelCost`, `latePenalty`, `calculateBonus`,
  `interpolateAlongPolyline`, `railShortestPath` (Dijkstra)
- `App/sims/logistik/test.html` → Test-Harness für die 7 Pflichttests
  (läuft ohne Test-Runner — einfach im Browser öffnen)
- `App/sims/logistik/kompetenzen.json` → Draft-Skelett für die 28
  didaktischen Kernziele (Status: `proposed`, wird von Lehrplan validiert)

### Seed-Dateien (`App/assets/data/`)
- `lg-locations.json` → 13 Start-Locations (Wien, München, Hamburg,
  Rotterdam, Paris, Berlin, Mailand, Salzburg, Warschau, Madrid,
  Kopenhagen + 2 Häfen). Erweitern in Phase 1.
- `lg-vehicle-types.json` → 3 Fahrzeugtypen mit Pflichtenheft-Werten
- `lg-cargo-types.json` → 8 Warenkategorien mit Didaktik-Info
- `lg-railnet.json` → 5 Bahnknoten + 5 Kanten (aus Kap 65.8,
  ergänzt um Rotterdam↔Paris und Paris↔München für Dijkstra-Tests)
- `lg-contract-templates.json` → leer mit Struktur-Beispiel, du füllst
  in Phase 2

## Test-Harness läuft jetzt

Öffne:
```
http://localhost/geograsim/App/sims/logistik/test.html
```

Die 7 Pflichttests sollten **grün** sein (die implementierten Helper
funktionieren, Stubs sind als „Phase X skip" markiert). Wenn dir was
fehlschlägt, bitte melden — das ist dein Ausgangspunkt.

Öffne auch:
```
http://localhost/geograsim/App/logistik?level=1
```
Du siehst das Layout-Skelett mit Europa-Karte. Rechts/Links die leeren
Panels, unten Status-Leiste. Konsole zeigt „[Logistik-Gerüst] Engine
bereit, 13 Locations geladen."

## Parallele Arbeit von Atlas

- **Glossar-Anfrage** für deine 13 Begriffe ist raus (sieht Glossar im
  eigenen Postfach). Keine Deadline, bis Phase 6.
- **Lehrplan**: bekommt deine `kompetenzen.json` von mir zur Validierung,
  sobald du sie in Phase 0 bestätigt/überarbeitet hast. Noch nicht raus,
  warte auf dein Go.
- **Carto Positron** als Tile-Server ist schon in `game.html` drin.

## Deine nächsten Schritte

1. Öffne das Gerüst und test.html im Browser, gleiche Konsolen-Output ab
2. `_status.md` aktualisieren (Phase 0 starts)
3. `balance-matrix.md` anlegen mit den Werten aus Pflichtenheft Kap 65
   plus deinen Schätzungen für Level 1/2/3
4. Headless-Runner-Skelett (`scripts/run-level.js` oder `test.html`
   erweitern)
5. 7 Pflichttests auf Vollständigkeit prüfen (ggf. ergänzen)
6. Atlas-Review anfordern, wenn Phase 0 steht

## Konventions-Check

Der `module_info`-Eintrag für Logistik hat:
- Icon: 🚚 (ggf. anpassen, wenn dir 🚢 oder 🗺️ besser gefällt)
- Sort-Order: 110 (hinter Heli=100, vor evtl. kommenden Modulen)
- Alter: 12-15 (aus Pflichtenheft Kap 3.1)
- Dauer: 30 Min
- Leichte-Sprache-Varianten befüllt

Wenn du was ändern willst: gib Bescheid, ich mache das in der DB.

## Bestätigen

- status: gelesen
- Bestätigung + Test-Harness-Status (grün/rot) an `_inbox/zentrale/`
- Dann loslegen mit Phase 0

Viel Erfolg.
