--- instanz: logistik rolle: Simulation „Logistik Europa" (Modul 11) stand_seit: 2026-04-19 phase: Phase 0 v0.2 ausgeliefert (Atlas-Klarstellung umgesetzt) — wartet auf Atlas-Review --- # Status — Logistik-Instanz ## Rolle und Scope - Eigner: `App/sims/logistik/` (Gerüst kommt von Atlas) - Eigner: `App/pages/logistik.php`, `App/pages/modul-logistik.php` - Eigner: `App/php/api/logistik-*.php` - Optional: neue MySQL-Tabellen `lg_…` (nur nach Atlas-Abstimmung) - Plattform-Zentrale ist Atlas — Anfragen über `_inbox/zentrale/` ## Aktueller Stand - 2026-04-19 23:15 — Kickoff-Briefing von Atlas erhalten - 2026-04-19 23:25 — Briefing + Pflichtenheft (alle Schlüsselkapitel) gelesen - 2026-04-19 23:30 — Empfangsbestätigung an Zentrale geschickt - 2026-04-20 00:10 — Atlas-Antworten auf alle 4 Rückfragen erhalten - 2026-04-20 00:20 — Quittung an Atlas (Routing bestätigt, alle Punkte übernommen) - Warte auf: Atlas baut Gerüst (module_info, Landing-Card, Detailseite, Wrapper, Skelette unter `App/sims/logistik/`) ## Geklärte Entscheidungen (Atlas-Antwort 00:10) - **Lehrplan**: `kompetenzen.json` als Vorab-Skizze (`status: "proposed"`) nach Gerüst, final nach Phase 2 - **Glossar**: Atlas koordiniert Anfrage; ~10 von 13 Begriffen neu, reicht bis Phase 6 - **Landing**: Eigene Gruppe „Wirtschaft & Verkehr" (LOCKED bis FREE) - **Tile-Server**: Carto Positron `https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png`, Leaflet 1.9.4, `minZoom: 4, maxZoom: 10` - **Routing**: bestätigt — L1 Luftlinie×1.3, L2/L3 hand-gepflegte Polylines in `lg-routes-osm.json`, OSRM erst auf Thomas-Wunsch - **State-Machine**: Atlas legt Enum exakt nach Pflichtenheft Kap 44.2 ins `engine.js`-Skelett ## Phasenplan (aus Briefing) - [ ] **Phase 0** — Balance-Matrix + Test-Harness + Headless-Runner-Skelett → Atlas-Review - [ ] Phase 1 — Fundament (engine.js + Karte + Seed-Daten) - [ ] Phase 2 — Kern-Loop (Level 1 spielbar) - [ ] Phase 3 — Kostenmodell + Mehrfahrzeuge + mehrere Aufträge (Level 2) - [ ] Phase 4 — Bahn + Häfen + Intermodal (Level 3) - [ ] Phase 5 — Hilfestufen + Events - [ ] Phase 6 — Minigames + Sprachregel-Check + Leichte Sprache - [ ] Phase 7 — Lehrkraftmodus + Analytics + Polish ## Offene Aufgaben (kurzfristig) 1. `App/docs/module-interface.md` Abschnitte 4a/4b/4c/7b lesen 2. Sobald Gerüst von Atlas steht: `balance-matrix.md` schreiben (Werte aus Kap 65 + Schätzwerte) 3. `test.html` mit 7 Pflichttests anlegen 4. Headless-Runner-Skelett `runLevel(levelId, seed, strategy)` definieren 5. Atlas-Review von Phase 0 anfordern, bevor Phase 1 startet ## Blocker - Keine. Wartepunkt: Atlas-Gerüst (≈ 2 Sessions geschätzt) ## Konventions-Anker (Erinnerung) - Sprachregel 4a: keine „spielen / Spiel / Spieler" - Leichte Sprache 4b: `pickText()`-Pattern für alle UI-Texte - iPad 4c: 1180×820 Landscape, 36 px Touch-Ziele, kein Hover-Kleber - Autosave 7b: Pflicht bei state-relevanten Übergängen - Keine KI im Produkt: Auftragstexte/Events/Hilfe vorab generieren, statisch ausliefern - Inbox-Check vor jeder „Fertig"-Meldung - Commits: `Logistik: ` ## Komplexitätshinweis Atlas schätzt 30–50 Sessions für das Gesamtmodul. Phasenschnitte sauber halten, nicht den ganzen Brocken auf einmal angehen. --- ## Tagesabschluss 2026-04-20 (00:20) - Kickoff + Pflichtenheft gelesen - Empfangsbestätigung + 4 Rückfragen an Atlas verschickt - Atlas-Antworten gelesen, alle Entscheidungen quittiert - Routing-Strategie (L1 Luftlinie×1.3 / L2-L3 Hand-Polylines / kein OSRM) bestätigt - **Nächstes (sobald Gerüst steht):** `balance-matrix.md` → 7 Pflichttests in `test.html` → Headless-Runner-Skelett `runLevel(levelId, seed, strategy)` - **Blocker:** keiner — wartet auf Atlas-Gerüst (~2 Sessions) - **Offen für Thomas:** keine akute Frage, alles geklärt ## Tagesabschluss 2026-04-20 (00:55) - Atlas-Gerüst empfangen (DB, Landing-Card, PHP-Wrapper, Sim-Skelette, Seeds) - 7 Pflichttests in `test.html` statisch geprüft + via Python-Mathematik verifiziert → 22 von 22 Test-Cases bestehen rechnerisch, Browser-Bestätigung steht aus - **Phase 0 v0.1 geliefert:** - `App/sims/logistik/balance-matrix.md` v0.1 - `App/sims/logistik/headless-runner.html` (Skelett, alles SKIP) - Atlas-Review angefordert ## Tagesabschluss 2026-04-20 (01:30) — Phase 0 v0.2 nach Atlas-Klarstellung Atlas hat klargestellt: Phase 0 ist **meine** Arbeit, das Gerüst war nur Vorarbeit. Konkrete Atlas-Forderungen alle abgehakt: - **balance-matrix.md v0.2** — Rationale-Spalte je Parameter, INSERT-SQLs für `game_levels`, Konsistenz-Checks an Atlas, Event-Wahrsch. als Multiplikator umstrukturiert, `noop` zur Strategieliste - **headless-runner.js** (NEU, vorher .html) — Vanilla-JS-Modul, Browser+Node-kompatibel via UMD, Mulberry32-RNG, runLevel-Vertrag, 4 Strategien (`noop` lauffähig + `naive/greedy/optimal` als Stubs) - **headless-runner.html** umgebaut zu dünner UI-Hülle (Logik in .js) - **test.html erweitert** um: - Test 8 — Edge-Cases (8 Cases: leere Polyline, getrennter Dijkstra-Graph, Pfad zum Selbst, negative Hours, null-Werte, unbekannter Modus) - Test 9 — Seeded-Random (4 Cases: Determinismus, verschiedene Seeds, Range, Seed 0) - Test 10 — Runner-Vertrag (10 Cases: noop läuft, reproduzierbar, Stubs werfen kontrolliert) - `group()` und Render auf async umgebaut, damit Test 10 (`await runLevel`) sauber läuft - Python-Verifikation der Mathematik: alle neuen Cases grün (10 von 10) - Atlas-Review erneut angefordert mit aktualisierten Artefakten **Nächstes (nach Review-OK):** Phase 1 — `engine.js` `tick()` Loop + Leaflet-Karte mit 13 Seed-Locations **Blocker:** Atlas-Review + Thomas-Browser-Test (test.html + headless-runner.html) **Offen für Thomas:** einmal beide HTML-Seiten öffnen, Status melden