Files
geograsim/App/sims/_inbox/logistik/_status.md
T
Adminator 3885c83294 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>
2026-04-19 20:43:48 +02:00

5.7 KiB
Raw Blame History

instanz, rolle, stand_seit, phase
instanz rolle stand_seit phase
logistik Simulation „Logistik Europa" (Modul 11) 2026-04-19 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: <Kurzbeschreibung>

Komplexitätshinweis

Atlas schätzt 3050 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