VF-Linienzug Modus 2 auf SEGS umstellen (behebt Doppelklick-Desync)
Modus 2 journalisiert die Segment-Essenz (SEGS) statt der Objekt-Handles (OBJS) - identische Umstellung wie Modus 3. Damit ist der Block selbst- enthalten und der Doppelklick-Neubau unabhaengig von den Original-LINE/ARC. Behebt den beobachteten Modus-2-Desync (Winkel wurde beim Neuaufbau interaktiv nachgefragt + Abweichung, weil der OBJS-Replay an den - ggf. verschobenen - Pfad-Objekten hing). - vfl-in-selection + obj-liste im Modus-2-Ablauf durch vfl-in-segmente ersetzt (Live: ssget -> gf-sortiere-objekte -> gf-analysiere-kette -> Eck-Vorpruefung -> SEGS; Replay: fertige Essenz aus dem Journal). Objektauswahl steht jetzt NACH der Startpunkt-Praeambel (vfl-in-segmente braucht den startpunkt). - segmente9 (9-Feld-Essenz) eingefuehrt, 5-Feld-segmente daraus abgeleitet; seg-ent -> nil (kein Live-Highlight mehr, wie Modus 3). - Marker bleibt "linienzug2". HARTER SCHNITT fuer Altbestand: alte OBJS-"linienzug2"-Bloecke (ohne SEGS) werden beim Doppelklick klar abgewiesen (neuer Text vfl-edit-m2-obsolet, de/en) statt mit falschen Daten in den Bau zu laufen; der Batch-Konverter ueberspringt sie. Erkennung: vfl-journal-hat-segs-p. Tests: 3 file-freie Unit-Tests fuer vfl-journal-hat-segs-p (SEGS erkannt, OBJS/leer nicht). 243/243 LISP-Unit-Tests gruen in BricsCAD; test-neutral gegen HEAD (11=11 Python-Failures); lang-Paritaet geprueft. End-to-end (Neubau + deckungsgleicher Doppelklick) wie bei Modus 3 interaktiv zu bestaetigen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
008f497b5d
commit
8ccec9dea7
@@ -900,6 +900,22 @@
|
||||
;; erwarteten Trenner und KEIN Newline (sonst zerrisse der Record-Trenner)
|
||||
(tu-nil "vfl-segs/kein-newline"
|
||||
(vl-string-search "\n" (vfl-segs->string _segs)))
|
||||
|
||||
;; vfl-journal-hat-segs-p: unterscheidet neue SEGS-Ketten von alten
|
||||
;; OBJS-"linienzug2"-Bloecken (harter Schnitt beim Doppelklick).
|
||||
(if (atoms-family 1 '("VFL-JOURNAL-HAT-SEGS-P"))
|
||||
(progn
|
||||
;; SEGS-Journal (Modus 2 neu / Modus 3): erkannt
|
||||
(tu-true "vfl-hat-segs/mit-segs"
|
||||
(vfl-journal-hat-segs-p
|
||||
(list (cons "PT" '(0.0 0.0 0.0)) (cons "SEGS" _segs))))
|
||||
;; Altes OBJS-Journal (Objekt-Handles): NICHT als SEGS erkannt
|
||||
(tu-nil "vfl-hat-segs/nur-objs"
|
||||
(vfl-journal-hat-segs-p
|
||||
(list (cons "PT" '(0.0 0.0 0.0)) (cons "OBJS" '("A1" "A2")))))
|
||||
;; Leeres Journal: nil
|
||||
(tu-nil "vfl-hat-segs/leer" (vfl-journal-hat-segs-p '())))
|
||||
(tu-record nil "vfl-hat-segs/modul" "VFL-JOURNAL-HAT-SEGS-P fehlt"))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user