VF-Linienzug: Einzelsegment-Bearbeitung (GF-Bogen) + punktfreies Journal

Doppelklick auf einen Linienzug-VF_n-Block bietet jetzt zwei Modi
(neuer Dialog vfl_edit_modus.dcl / vfl-dlg-modus): auf eine Sektion
zuruecksetzen (bisheriges Verhalten) ODER die Eigenschaften EINES
einzelnen Glieds aendern (vfl-edit-glied). Fuer GF-Boegen laesst sich
Winkel (30/60/90) und Seite (links/rechts) direkt aendern; das Glied
wird per vfl-journal-splice im Ketten-Journal ersetzt und die komplette
Kette 1:1 neu aufgebaut.

Damit die nachfolgenden Glieder nach einer Bogen-Aenderung korrekt neu
verketten, speichert das Journal fuer Linien-Segmente jetzt nur noch die
relative Distanz (deltaL, neuer Journal-Kind "DL") statt eines absoluten
Punkts - nur der Kettenstartpunkt bleibt ein echter Punkt. Richtung wird
ohnehin vom Vorgaenger-Frame geerbt (nur das erste Segment journalisiert
zusaetzlich die gesnappte Richtung). vfl-in-abstand ersetzt die
punktbasierte Messung in vfl-neue-linie-messen; vfl-kettenanfang-baustein
rechnet die AS-Restlaenge rein skalar (kein pick-punkt mehr).

Wichtige Korrekturen:
- vfl-entry->string/-entry kannten den DL-Kind nicht (wurde als NIL
  serialisiert -> Distanzverlust beim erneuten Lesen)
- vfl-in-abstand journalisiert jetzt in BEIDEN Zweigen (Replay UND Live),
  wie die anderen vfl-in-*-Wrapper - sonst gingen die DL-Werte replizierter
  Glieder beim erneuten Speichern verloren (2. Edit stuerzte ab)

Diagnose: komplettes Journal wird beim Erzeugen (XDATA-JOURNAL-JSON) und
zu Beginn eines Replays (REPLAY-QUEUE-JSON) als JSON in die Debug-Datei
geschrieben (No-Op ohne aktiven Debug-Schalter).

dcl/vfl_edit.dcl: Popup breiter (edit_width/list_width), damit lange
Sektionstexte nicht abgeschnitten werden.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-27 17:50:47 +02:00
parent deffdca8a2
commit 43896a28f5
5 changed files with 526 additions and 68 deletions
+6
View File
@@ -766,6 +766,12 @@
"vfl-edit-dialog-fehlt": "Dialog nicht gefunden: %1",
"vfl-edit-abgebrochen": "\nEditieren abgebrochen - keine Aenderung.",
"vfl-dlg-kopf-sektionen": "Sektionen: %1",
"vfl-dlg-modus-kopf": "Linienzug mit %1 Glied(ern) - was moechten Sie tun?",
"vfl-dlg-modus-rueck": "Auf eine Sektion zuruecksetzen und ab dort neu bauen",
"vfl-dlg-modus-glied": "Nur die Eigenschaften eines einzelnen Glieds aendern",
"vfl-glied-waehlen-kopf": "Welches Glied moechten Sie bearbeiten?",
"vfl-glied-geaendert": "\n>>> Glied %1 geaendert - Kette wird neu aufgebaut...",
"vfl-glied-nicht-editierbar": "Dieses Glied (%1) kann derzeit nicht einzeln bearbeitet werden.\nNur GF-Bogen-Glieder sind einzeln editierbar. Fuer alle anderen bitte den Modus 'Auf eine Sektion zuruecksetzen' verwenden.",
"vfc-warnung-untermodule-nicht-geladen": "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!",
"vfc-linienzug-modus-header": "\n\nLinienzug-Modus waehlen:",
"vfc-linienzug-modus-1": "\n 1 - Manuelle Eingabe (Punkte klicken)",