fix(export): freie Separatoren nach Lage in die Kette ihrer Strecke einsortieren
Eigenstaendige Separatoren, deren Zuordnung eine VF/GF nennt, die aber nicht beim Bau der Strecke entstanden, fehlten in deren sepliste und damit in TrackIds und Nachbarn (Mubea VF_3: 0037/0038). Sie werden jetzt beim Export nach Lage zwischen AS und ES aufgenommen - nur im Speicher des Laufs, die sepliste-XDATA bleibt Bauprotokoll (Lisp paart sie per Anzahl je Typ mit den Bausteinen und fuehrt reservierte AS/ES-IDs unter der lfdnr). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -42,6 +42,7 @@ from export_neighbors import (
|
||||
compute_kreisel_touch_switches,
|
||||
lisp_touch_switches,
|
||||
load_lisp_kreisel_weichen,
|
||||
einsortieren_freie_separatoren,
|
||||
compute_sep_kette,
|
||||
compute_kreisel_umlauf,
|
||||
SENSOR_TEILEARTEN,
|
||||
@@ -1543,6 +1544,12 @@ def process_blocks(blocks, lookup, dbg=None, lisp_weichen=None):
|
||||
if item.get("teileart", "") == "ILS 2.0 Scanner" and separator_id:
|
||||
item["merkmale"]["Naechster Separator"] = separator_id
|
||||
|
||||
# Freie Separatoren, deren Zuordnung eine VF_n/GF_n nennt, die aber nicht
|
||||
# beim Bau der Strecke entstanden sind (fehlen darum in ihrer sepliste),
|
||||
# nach Lage in die Kette aufnehmen - nur fuer diesen Lauf, die XDATA am
|
||||
# Block bleibt unveraendert (siehe einsortieren_freie_separatoren).
|
||||
einsortieren_freie_separatoren(items, NEIGHBOR_TOLERANCE_MM, dbg=dbg)
|
||||
|
||||
# Ketteninterne Separator-/AS-/ES-Reihenfolge aus der neuen "sepliste"-
|
||||
# XDATA (siehe ssg-sepliste-xdata-schreiben) - leeres dict, wenn keine
|
||||
# Strecke eine sepliste traegt (reiner Altbestand ohne neue XDATA).
|
||||
|
||||
Reference in New Issue
Block a user