Export (Lisp/export.lsp):
- Neue csv:vfgf-k-kos-strings leitet fuer VF_n/GF_n-Wrapper K1 (AS/KS_EIN) und
K2 (ES/KS_AUS) aus den verschachtelten AS_Element/ES_Element ab (via
ssg-collect-nested-inserts) und schreibt sie wie K1-K4 als Positions-String.
Bisher waren die K-Spalten fuer Strecken leer.
Kollisionspruefung Kreisel<->GF/VF (lib/export_neighbors.py):
- compute_neighbor_ids testet Strecken (GF/VF UND "ILS 2.0 Strecke - Modul")
nicht mehr ueber die grosse Wrapper-Box, sondern ueber je eine kleine feste
Box an der AS- (K1) und ES-Position (K2). Fallback auf Wrapper-Box, wenn
K1/K2 fehlen (Altbestand).
Schleuselement-Positionen (lib/export_neighbors.py):
- compute_strecke_kreisel_schleus setzt Aus-/Einschleuselement ans AS/ES-KOS,
um eine halbe Box entlang der Foerderachse nach aussen versetzt (AS: davor,
ES: dahinter) - realistischer als der bisherige Kreiselrand-Punkt.
Keine Magic Numbers (cfg/export.cfg [Boundingbox]):
- element_box_laenge/breite/hoehe_mm (250/100/30) ersetzen die WEICHE_BOX_*-
Konstanten; gelesen von load_element_box_mm und an alle Rechenfunktionen
durchgereicht (WEICHE_BOX_* nur noch dokumentierter Fallback).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>