[CHANGE] VF-Linienzug: Winkel-Standardisierung + Glied-Schema + Vario-Kurve editierbar

Winkel im Linienzug durchgaengig als echter Wert (30/60/90) statt Auswahl-
Index (1/2/3) journalisiert - behebt den Bug, bei dem ein verrutschter
String-Wert zum falschen Bogen fuehrte (vfl-menu-winkel/-winkel-live/
-winkel-normieren, GF-Bogen und Vario-Kurve).

Zentrales Glied-Schema (*vfl-glied-schema*) als single source of truth fuer
AS/ES/GF-Bogen/Vario-Kurve: generisches bauen/lesen/validieren, benanntes
Debug-Log (GF-Bogen.winkel = 90 statt roher [INT]-Zeilen). VF-Einheit ueber
Sub-Step-Referenz (*vfl-vf-substeps*) benannt geloggt, ohne sie in ein starres
Feld-Schema zu zwingen.

Vario-Kurve als eigenes Sub-Glied editierbar (eigener STEP-Marker wie ES):
vfl-vario-slice-bauen/-werte/-splicen, vfl-glied-vario-dialog, Dispatcher-Zweig,
Label. Schwanz-erhaltender Splice (vfl-vario-slice-splicen), da die Vario-Kurve
mitten in der VF-Einheit steht und ihr Slice nachfolgende VF-Antworten enthaelt
- naiver Splice haette diese verworfen (adversarial verifiziert). Uebrige
VF-Sub-Segmente bleiben bewusst nur ueber Sektions-Ruecksprung editierbar.

Neuer Unittest tests/test_vfl_schema.lsp (TEST_VFL_SCHEMA, in alltests.json):
Roundtrip + Validierung + Vario-Schwanz-Splice ohne Geometrie.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-28 23:12:30 +02:00
parent cd31380a91
commit c36d2774bf
5 changed files with 879 additions and 82 deletions
+10 -6
View File
@@ -53,6 +53,9 @@
"vfl-glied-vf": "VarioFoerderer-Einheit (Ab/Auf)",
"vfl-glied-horizontal-vf": "VF mit horizontalem Anfang",
"vfl-glied-linie": "Linie bis Kettenende",
"vfl-glied-as": "AS-Element (Kettenanfang)",
"vfl-glied-es": "ES-Element (Kettenende)",
"vfl-glied-vario": "Vario-Kurve (horizontale Kurve im VF)",
"vfl-glied-offen": "(offen)",
"vfl-edit-kein-journal": "Dieser Linienzug-Block traegt kein Eingabe-Journal (Altbestand) und kann nicht schrittweise editiert werden.",
"vfl-edit-kette-header": "\n\nLinienzug mit %1 Glied(ern):",
@@ -75,13 +78,14 @@
"vf-winkel-30": "\n 2 - 30 Grad",
"vfl-gf-bogen-winkel-header": "\n\nGF-Bogen - Winkel waehlen:",
"vfl-gf-bogen-seite-header": "\nGF-Bogen - Seite waehlen:",
"vfl-winkel-30": "\n 1 - 30 Grad",
"vfl-winkel-60": "\n 2 - 60 Grad",
"vfl-winkel-90": "\n 3 - 90 Grad",
"vfl-winkel-30": "\n 30 Grad",
"vfl-winkel-60": "\n 60 Grad",
"vfl-winkel-90": "\n 90 Grad",
"vfl-prompt-wahl-winkel-30-60-90": "\nWinkel eingeben (30/60/90) [90]: ",
"vfl-variokurve-winkel-header": "\n\nVario-Kurve - Winkel waehlen:",
"vfl-opt1-90grad": "\n 1 - 90 Grad",
"vfl-opt2-60grad": "\n 2 - 60 Grad",
"vfl-opt3-30grad": "\n 3 - 30 Grad",
"vfl-opt1-90grad": "\n 90 Grad",
"vfl-opt2-60grad": "\n 60 Grad",
"vfl-opt3-30grad": "\n 30 Grad",
"vfl-prompt-wahl-1-3-def1": "\nIhre Wahl (1/2/3) [1]: ",
"vfl-variokurve-seite-header": "\nVario-Kurve - Seite waehlen:",
"vfl-variokurve-variante-header": "\nVario-Kurve - Variante waehlen:",
+10 -6
View File
@@ -53,6 +53,9 @@
"vfl-glied-vf": "VarioFoerderer unit (down/up)",
"vfl-glied-horizontal-vf": "VF with horizontal start",
"vfl-glied-linie": "Line to chain end",
"vfl-glied-as": "AS element (chain start)",
"vfl-glied-es": "ES element (chain end)",
"vfl-glied-vario": "Vario curve (horizontal curve in VF)",
"vfl-glied-offen": "(open)",
"vfl-edit-kein-journal": "This chain block carries no input journal (legacy) and cannot be edited step by step.",
"vfl-edit-kette-header": "\n\nChain with %1 segment(s):",
@@ -75,13 +78,14 @@
"vf-winkel-30": "\n 2 - 30 deg",
"vfl-gf-bogen-winkel-header": "\n\nGF arc - choose angle:",
"vfl-gf-bogen-seite-header": "\nGF arc - choose side:",
"vfl-winkel-30": "\n 1 - 30 deg",
"vfl-winkel-60": "\n 2 - 60 deg",
"vfl-winkel-90": "\n 3 - 90 deg",
"vfl-winkel-30": "\n 30 deg",
"vfl-winkel-60": "\n 60 deg",
"vfl-winkel-90": "\n 90 deg",
"vfl-prompt-wahl-winkel-30-60-90": "\nEnter angle (30/60/90) [90]: ",
"vfl-variokurve-winkel-header": "\n\nVario curve - choose angle:",
"vfl-opt1-90grad": "\n 1 - 90 deg",
"vfl-opt2-60grad": "\n 2 - 60 deg",
"vfl-opt3-30grad": "\n 3 - 30 deg",
"vfl-opt1-90grad": "\n 90 deg",
"vfl-opt2-60grad": "\n 60 deg",
"vfl-opt3-30grad": "\n 30 deg",
"vfl-prompt-wahl-1-3-def1": "\nYour choice (1/2/3) [1]: ",
"vfl-variokurve-seite-header": "\nVario curve - choose side:",
"vfl-variokurve-variante-header": "\nVario curve - choose variant:",