--- 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.