fix(skills): placing-editor-models nach dem Formatwechsel repariert

vergeLampPoints() und der Schlüssel roads existieren seit Teil 2 nicht mehr:
site-data.mjs importierte einen fehlenden Export (ESM-Link-Fehler, das
Skript starb vor der ersten Zeile) und las c.roads/c.centerlines;
render-site.py griff auf c["roads"] zu (KeyError). Beide lesen jetzt
chunkLampPoints(c) sowie die drei neuen Schichten carriageway, sidewalk
und lots (zusammen die frühere Korridorfläche); render-site.py bekommt
dafür eine eigene Vierfarb-Darstellung inklusive bridges.

Verifiziert mit einem echten Ausschnitt (1414..1564 | 1042.5..1092.5,
12 Chunks I5-L7): site-data.mjs liefert carriageway/sidewalk/lots/bridges
mit echten Werten, 4 Laternen und 3 Palmen im Fenster; render-site.py
zeichnet daraus ein plausibles Vergleichsbild ohne Absturz.
This commit is contained in:
knso committed 2026-09-18 06:15:55 +02:00
1 parent 0ad6eee71f
commit 736dcbc1ad
2 files changed
+27 -12

No files matched your search

@@ -103,11 +103,16 @@ def game_panel():
for c in site["chunks"]:
for s in c["surfaces"]:
d.polygon([uv(*p) for p in s["rings"][0]], fill=colors.get(s["kind"], (150, 150, 150)))
for c in site["chunks"]:
for r in c["roads"]:
d.polygon([uv(*p) for p in r["rings"][0]], fill=(80, 80, 85))
for hole in r["rings"][1:]:
d.polygon([uv(*p) for p in hole], fill=(170, 185, 130))
# Der Straßenkorridor in seinen drei Schichten (site-data.mjs): Gehweg und Restflächen heller,
# die 15 cm tiefer liegende Fahrbahn im alten Straßengrau. Zusammen decken sie genau die Fläche
# ab, die vor dem Formatwechsel der eine Schlüssel "roads" hatte.
for key, farbe in (("sidewalk", (150, 148, 142)), ("lots", (110, 110, 112)),
("bridges", (80, 80, 85)), ("carriageway", (80, 80, 85))):
for c in site["chunks"]:
for r in c.get(key, []):
d.polygon([uv(*p) for p in r["rings"][0]], fill=farbe)
for hole in r["rings"][1:]:
d.polygon([uv(*p) for p in hole], fill=(170, 185, 130))
for c in site["chunks"]:
for b in c["buildings"]:
d.polygon([uv(*p) for p in b["rings"][0]], fill=(150, 110, 90), outline=(0, 0, 0))