feat: eingang_hoehe="auto" auf Python-Seite nachgezogen, hundm05.json bereinigt
Lisp (vf_linienzug.lsp/vf_spec.lsp): - vsp-eingang-hoehe unterstuetzt jetzt "auto" (NIL-Token statt REAL) - bewusst keine Zahl vorgeben, der Bauablauf berechnet seinen eigenen Vorschlag, wie bei leerer Konsoleneingabe - vfl-journal-reset-lauf: internes Reset innerhalb von vf-linienzug-modus/ -modus2 loescht *vfl-replay-queue*/*vflw-pending* nicht mehr mit (Bug: REPLAY-getriebener Bau (vsp-bau-aus-spec) brach mitten in der Kette ab, weil eine noch unverbrauchte Queue verworfen wurde) Python-Gegenstueck nachgezogen (lib/vf_linienzug_grammatik.py, lib/vf_spec_export.py, lib/vf_journal_export.py): - NIL-Token-Unterstuetzung fuer eingang_hoehe="auto" im gemeinsamen Parser-Kern, im Schreiber (SpecSchreiber) und in der Protokoll-Annotation - gf_verteilung ist im Schreiber jetzt an der Feldpraesenz in der Spec festgemacht statt an einem Grammatik-Flag (selbstbeschreibend, deckt Specs mit und ohne diese Frage ab, ohne dass der Aufrufer die Grammatik kennen muss) - Rundlauf-Pruefung (main(), test_verlustfrei) toleriert jetzt die bekannte, schon dokumentierte Erweiterung um drei neue Linie-GF-Pflichtfragen (ist_teilfolge statt exakter Gleichheit) - test_gleiche_journale_wie_protokoll: alle 5 Ketten in hundm05.json weichen inzwischen vom Rohprotokoll ab (Kette 1 bewusst wegen eingang_hoehe, Ketten 2-5 schon laenger wegen Handkorrektur gegen echte DXF-Positionen) - expliziter Skip mit Begruendung statt leerem Loop tests/testdata/hundm05.json: - mm-Werte (dl, Start-/Stuetzpunkte, Koordinaten der Nachtrag-Objekte) auf eine Nachkommastelle gerundet - nicht abgefragte Kopf-Metadaten entfernt (beschreibung, sivas_id, sivas_bezeichnung, planquadrat, block, dxf_handle) - nur quelle bleibt Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6d15c6be13
commit
23d79ec354
@@ -42,6 +42,9 @@ Token = (Art, Wert-String) genau wie im Journal auf der XDATA:
|
||||
PT Startpunkt "x,y,z" DL Segmentlaenge
|
||||
REAL Realzahl INT Ganzzahl
|
||||
STR Menue-/Wertantwort STEP Glied-Marker (Label = Segmenttyp)
|
||||
NIL bewusst leere Antwort (z.B. eingang_hoehe="auto", siehe
|
||||
_opt_eingang_hoehe) - der Bauablauf berechnet dann seinen eigenen
|
||||
Vorschlag, wie bei einer leeren Konsoleneingabe
|
||||
"""
|
||||
|
||||
# ============================================================
|
||||
@@ -420,10 +423,20 @@ class Kern(object):
|
||||
Kettenanfang und nach einer fertigen VF-Einheit, nicht dagegen im
|
||||
Anschluss an GF/Separator/Vario-Kurve. Ob sie ansteht, haengt am
|
||||
Zustand der Zeichnung und laesst sich hier nicht ausrechnen; am
|
||||
Journal ist sie eindeutig (ein REAL vor der ersten Menue-Antwort der
|
||||
VF-Einheit)."""
|
||||
Journal ist sie eindeutig (ein REAL/NIL vor der ersten Menue-Antwort
|
||||
der VF-Einheit).
|
||||
|
||||
"auto" (statt einer Zahl, Gegenstueck zu vsp-eingang-hoehe in
|
||||
Lisp/vf_spec.lsp): die Frage kommt, aber es wird bewusst KEINE Zahl
|
||||
vorgegeben - wie eine leere Konsoleneingabe laesst das den
|
||||
Bauablauf seinen eigenen, aus dem Fussabdruck der festen Elemente
|
||||
berechneten Vorschlag nehmen. Dafuer steht ein NIL-Token (statt
|
||||
REAL) im Journal."""
|
||||
if self.art() == "REAL":
|
||||
self.sink.real_feld("eingang_hoehe", self.real(), "eingang_hoehe")
|
||||
elif self.art() == "NIL":
|
||||
self.nimm("NIL")
|
||||
self.sink.roh_feld("eingang_hoehe", "auto", "eingang_hoehe")
|
||||
|
||||
# --- Ablauf ---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user