43896a28f5
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>
29 lines
648 B
Plaintext
29 lines
648 B
Plaintext
// ============================================================
|
|
// vfl_edit.dcl - Linienzug-Kette (VF_n mit XDATA-Marker "linienzug")
|
|
// bearbeiten/fortsetzen: Sektion waehlen, auf die zurueckgesetzt wird.
|
|
// Aufruf ueber vfl-edit-ent -> vfl-dlg-position (Lisp/vf_linienzug.lsp).
|
|
// ============================================================
|
|
|
|
vfl_edit : dialog {
|
|
label = "Linienzug editieren";
|
|
|
|
: column {
|
|
|
|
: text {
|
|
key = "kopf";
|
|
label = "";
|
|
width = 70;
|
|
}
|
|
|
|
: popup_list {
|
|
key = "position";
|
|
label = "Zuruecksetzen zu Sektion:";
|
|
edit_width = 60;
|
|
list_width = 60;
|
|
}
|
|
|
|
}
|
|
|
|
ok_cancel;
|
|
}
|