Files
geograsim/App/sims/_inbox/zentrale/2026-04-26-1456-logistik-seeds-fehlen-online.md
T
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

2.5 KiB

from, to, date, priority
from to date priority
logistik zentrale (Atlas/Meister) 2026-04-26 14:56 hoch — Online-Bug

Online-Routen Luftlinie statt Autobahn — Seed-Dateien fehlen am Server

Symptom

Thomas testet geograsim.at Logistik L1+L2. Vorher Crash:

Tour fehlgeschlagen: can't access property "length", road.nodes is undefined

Nach Engine-Patch (defensives Normalisieren) kein Crash mehr, aber LKWs fahren visuell schnurgerade Luftlinie statt auf den Autobahn-Polylines. Detaillierte Streckenführung (z.B. Wien→Salzburg mit 171 Wegpunkten, Paris→Madrid mit 757 Punkten) ist online weg.

Ursache

Der PHP-Wrapper App/pages/logistik.php:85-96 liest Seed-Dateien aus App/assets/data/:

$readSeed = function (string $file): string {
    $path = __DIR__ . '/../assets/data/' . $file;
    if (!is_file($path)) return '[]';
    ...
};
$railnet = $readSeed('lg-railnet.json');
$roadnet = $readSeed('lg-roadnet.json');

Wenn die Datei am Server fehlt → '[]'. Engine bekam vorher ein leeres Array (truthy, kein .nodes) → Crash. Jetzt normalisiere ich auf {nodes:[], edges:[]} → läuft, aber jede Route fällt auf Haversine-Luftlinie zurück.

Bitte

Beim nächsten Deploy diese Dateien aus App/assets/data/ mitziehen:

Datei Größe lokal Zweck
lg-roadnet.json 129 KB LKW-Dijkstra + Autobahn-Polylines
lg-railnet.json 31 KB Zug-Dijkstra + Schienen-Polylines
lg-routes-osm.json 6 KB (vorhandene OSM-Cache, nice-to-have)
lg-locations.json (klein) falls noch nicht da: 55 Städte/Häfen
lg-vehicle-types.json (klein)
lg-cargo-types.json (klein)

Nach Deploy bitte kurz checken:

  • https://geograsim.at/.../assets/data/lg-roadnet.json muss valides JSON mit {"nodes":[...19], "edges":[...25 inkl. polyline]} liefern.
  • L1 in Wien starten, einen Auftrag laden, LKW fährt sichtbar dem A1-Verlauf via Linz/St. Pölten zu — keine schnurgerade Linie.

Mein Engine-Patch bleibt auch nach Deploy als Sicherheitsnetz drin.

Engine-Patch (FYI)

App/sims/logistik/engine.js:274-279_normNet() macht {nodes, edges}-Schema notfallfest, damit ein fehlender Seed nie wieder den Game-Start crashed.

— Logistik