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

68 lines
2.5 KiB
Markdown

---
from: logistik
to: zentrale (Atlas/Meister)
date: 2026-04-26 14:56
priority: 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](../../../pages/logistik.php) liest
Seed-Dateien aus `App/assets/data/`:
```php
$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](../../logistik/engine.js#L274-L279) —
`_normNet()` macht `{nodes, edges}`-Schema notfallfest, damit ein fehlender
Seed nie wieder den Game-Start crashed.
— Logistik