Commit Graph

6 Commits

Author SHA1 Message Date
y.wang e76e24e1f3 feat: VF-Linienzug Modus 1 - steigende Gefaellestrecke (Sonderfall, bis 3 Grad) mit automatischen Uebergangsboegen
Neue dritte Option "Steigend" im Dialog "Wie soll die Laenge dieser
Gefaellestrecke bestimmt werden?": erlaubt eine GF, die statt zu fallen bis
zu 3 Grad steigt (Neigungswinkel 0..3 statt bisher nur 0..3 fallend). Neuer
Helfer vfl-bogen-uebergang erkennt anhand der tatsaechlichen Frame-Neigung,
ob 0/1/2 Uebergangsboegen (Vario_Bogen_auf_3/ab_3) noetig sind, und baut sie
automatisch - fuer den Normalfall (fallend->fallend) bleibt das ein No-Op.

Ausserdem in dieser Sitzung:
- Modus 2: Separator VOR/NACH bei GF-Segmenten, Wahlfreiheit am
  Lauf-Anfang/-Ende (Umlenkstation/Motorstation optional), Stufe-1/2-
  Vereinheitlichung wie in Modus 1.
- Stufe-1/Stufe-2-Entscheidungslogik (vfl-winkel-stufe-entscheidung):
  fehlenden Stufe-2-Fallback fuer "Auf" und "Ab, steiler als 3 Grad"
  ergaenzt; ungenauen "~3 Grad reine GF"-Kurzschluss in zwei Funktionen
  durch praezise Berechnung ersetzt (behebt reale Hoehenfehler).
- Wizard-Dialoge: DCL-Text-Umbruch fuer lange Hinweise (vflw-umbruch-zeilen,
  3 Groessenvarianten statt fester Zeilenzahl), Konsolen-Echo der
  Wizard-Antworten fuer Debug-Logs.
- Neuer Regressionstest TEST_LINIENZUG_STUFE2 (linienzug_tests_stufe2.json)
  reproduziert den behobenen Stufe-2-Kettenende-Bug; bestehender
  LZ_Standard-Test an aktuelle Menue-Nummerierung angepasst (Kettenanfang-
  Menue ist inzwischen 6 statt 4 Optionen gross).
- Neue Anleitung doc/vf_linienzug_modus1_anleitung.md: Modus 1 anhand des
  obigen Testfalls erklaert (Fragen-Bedeutung, Stufe-1/2-Logik, typische
  Stolperfallen: GF laengenhungrig bei 3 Grad, fester Motor+Separator+ES-
  Fussabdruck, 90-Grad-Element-Versatz).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 09:59:27 +02:00
s.ayadi 47d1e8d395 Fix: fehlende Linienzug-Testantwort "AS-Element setzen?" ergaenzt
Analog zur bereits in df96071 nachgetragenen "ES-Element setzen?"-Antwort:
die in Commit 3e23003 neu eingefuehrte Frage am Einlauf fehlte noch in
linienzug_tests.json und hat die restliche Eingabe-Queue verschoben.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 15:44:13 +02:00
m.stangl df96071f79 [FIX] Blockname-Kollision in omni:make-gerade + fehlende Linienzug-Testantwort
omni:make-gerade: itoa(fix(CDATE*1e6)) als Kollisions-Suffix sprengte den
32-Bit-INT-Bereich und liess den Lisp-Fehler mitten im BLOCK/INSERT-Kommando
laufen (BricsCAD blieb dann auf eine Eingabe wartend haengen) - trat bei der
Omniflo-Streckenzug-Testschleife auf, da ssg-timestamp nur Sekundenaufloesung
hat und mehrere Geraden pro Sekunde entstehen. Ersetzt durch einen laufenden
Zaehler.

linienzug_tests.json: die in 3e23003 neu eingefuehrte "ES-Element setzen?"-
Frage fehlte im Testskript und hat die restliche Eingabe-Queue um einen
Eintrag verschoben.
2026-07-30 15:46:00 +02:00
y.wang 3e23003b24 Modus 1 GF/VF-Split: Menüpunkt Neue Linie aufgeteilt in GF-Linie und VF-Linie;Testdaten für Lineinzug_tests.json angepasst. weil der 26°-Gefälle-Testfall jetzt korrekt Option 2 (VF statt GF) wählt.;Neuer Befehl Vario_Kette_Merge: Verschmilzt mehrere einzeln gebaute VF_n-Blöcke via KS_AUS→KS_EIN-Nachbarschaft zu einem Gesamt-Block (aggregierte Attribute, Lücken-Erkennung),Neuer Menüeintrag: [Vario_Kette_Merge]^C^C(ssg-ensure VarioFoerderer) Vario_Kette_Merge 2026-07-27 09:23:33 +02:00
m.stangl dfc17a8f39 Linienzug hat jetzt eine Frage mehr wegen 90 oder 30 Grad. 2026-07-21 12:56:34 +02:00
y.wang 73603ea55b Linienzug-Testeingaben nach linienzug_tests.json auslagern + in alltests.json und run-all integrieren 2026-07-14 14:00:53 +02:00