feat(export): Merkmal "Einsortiert in" an nach Lage einsortierten Separatoren

Folgewerkzeuge (sps_skel: sepliste-Gegenprobe) erkennen daran, dass ein
Separator in TrackIds, aber zu Recht nicht im Bauprotokoll der Strecke
steht. CLAUDE.md beschreibt den neuen Export-Schritt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 23:12:50 +01:00
parent 5368f5b447
commit 321dcfde64
3 changed files with 12 additions and 2 deletions
+5 -1
View File
@@ -1352,7 +1352,8 @@ def einsortieren_freie_separatoren(items, tolerance_mm, dbg=None):
SEP-Eintraege (lfdnr "frei<TeileId>", "id" = TeileId des Separators,
"frei": True); der Separator bekommt "_in_strecke_kette" (Strecken-
TeileId, damit compute_kreisel_umlauf ihn nicht zusaetzlich einem
Kreisel zuschlaegt) und einen Hinweis in "warnung".
Kreisel zuschlaegt), das Merkmal "Einsortiert in" (Strecken-TeileId,
in der CSV-Spalte Merkmale) und einen Hinweis in "warnung".
Muss NACH der Separator-Zuordnung und VOR compute_sep_kette laufen.
"""
half_tol = tolerance_mm / 2.0
@@ -1428,6 +1429,9 @@ def einsortieren_freie_separatoren(items, tolerance_mm, dbg=None):
neu.append({"typ": "SEP", "lfdnr": f"frei{tid}", "id": tid, "frei": True})
sep = by_teileid[tid]
sep["_in_strecke_kette"] = sid
# Fuer Folgewerkzeuge (sps_skel: sepliste-Gegenprobe): dieser
# Separator steht in TrackIds, aber nicht im Bauprotokoll.
sep.setdefault("merkmale", {})["Einsortiert in"] = sid
hinweis = (f"nicht im Bau von {sid} erzeugt - per Lage in dessen "
f"Kette einsortiert")
bisherige = sep.get("warnung", "")