0392114e10
Until now the two lanes of a Kreisel were joined by a pair of edges in both directions, because the travel direction was unknown. The CSV does carry it in the Drehrichtung merkmal, so the arrow inside a Kreisel is now directed: UZS clockwise -> material runs right to left, R -> L GUZ counter-clockwise -> material runs left to right, L -> R If the merkmal is missing or holds anything else, the circuit stays bidirectional and that is reported as a warning, so an unknown value cannot silently invent a direction. The direction is visible in the drawing: the edge carries the rotation as its label and the Kreisel cluster header states it in words, e.g. "Kreisel Kreisel3 [0009] UZS (rechts nach links)". Since a Kreisel is now traversed one way only, lanes can end up without an outgoing or without an incoming connection. build_graph reports both cases, naming the separators that sit on the affected lane, because such a lane means carriers can either not leave or not reach it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>