fix: VF-Linienzug Modus 1 Option 6 und Modus 2 - mehrere Solver- und Dialog-Bugs behoben

- Modus 2 Hauptbug: Motorstation+GF2 nutzen jetzt den bereits im Winkel-Solve
  geplanten Wert (br-gf2-exp) statt einer zweiten, unabhaengigen Loesung aus
  gemessener Resthoehe - behebt Laengs-/Querversatz am Kettenende.
- Modus 2 Bug C: Separator/ES-Hoehenreservierung (vfl3-dback/z-junction) auch
  bei "Motorstation ohne ES" korrigiert (vorher nur bei komplett offenem Ende).
- Modus 2 Bug D: fehlender Separator/ES-Laengsanteil im Solve-Budget bei
  Einzel-Kletterer ohne flache Zone (hor-pairs=0) ergaenzt, ausschliesslich
  ueber das Laengenbudget (nicht ueber feste-hz, sonst Hoehen-Doppelzaehlung).
- Modus 1 Option 6 ("Neue Linie BIS Kettenende"): Vorzeichenfehler bei der
  Separator/ES-Hoehenreservierung fuer Richtung "Auf" behoben (musste addiert
  statt subtrahiert werden).
- Vario_Kette_Merge: VF_WINKEL-Attribut liest den Winkel jetzt direkt aus dem
  Blockname statt aus einer ungenauen Chord-Messung ueber den ganzen
  S-Bogen-Tripel (verwaesserte den Winkel Richtung 3-Grad-Basis).
- ES-/AS-Element-Winkel-Dialog: neuer schlanker Dialog ohne die dort nie
  gueltige "60 Grad"-Option (statt nur ausgegraut).
- Modus 2 Lauf-Abschluss-Dialog: roher i18n-Key statt uebersetztem Text
  behoben; Option 3 ("Motorstation + ES-Element") ausgeblendet, wenn die
  Upfront-ES-Frage bereits mit "Nein" beantwortet wurde.

Alle Fixes einzeln in BricsCAD nachgestellt und bestaetigt (dX/dZ exakt).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Yuelin Wang
2026-09-18 17:46:30 +02:00
co-authored by Claude Sonnet 5
parent d9eb41f4d1
commit 797afe48b4
4 changed files with 244 additions and 78 deletions
+45 -4
View File
@@ -181,10 +181,12 @@ vflw_as : dialog {
}
}
// Winkel + Seite. Wiederverwendet fuer GF-Bogen (3 Winkel-Optionen: 30/60/90)
// UND ES-Element am Kettenende (2 Winkel-Optionen: 90/30 - dort wird
// "winkel_60" per mode_tile deaktiviert, siehe vflw-gruppe-winkel-seite-impl/
// vfl-glied-as-es-dialog). Radio-Buttons statt Dropdown, Labels fest deutsch.
// Winkel (30/60/90) + Seite - fuer GF-Bogen, wo alle drei Winkel geometrisch
// gueltig sind. Fuer AS-/ES-Element (wo 60 Grad NIE gueltig ist) stattdessen
// vflw_winkel_seite_30_90 verwenden (siehe vflw-gruppe-winkel-seite-impl/
// vfl-glied-as-es-dialog) - eine staendig ausgegraute, nie waehlbare Option
// verwirrt mehr als sie nutzt, daher ein eigener schlankerer Dialog statt
// mode_tile-Deaktivierung. Radio-Buttons statt Dropdown, Labels fest deutsch.
vflw_winkel_seite : dialog {
label = "VarioFoerderer Assistent";
@@ -219,6 +221,45 @@ vflw_winkel_seite : dialog {
}
}
// Winkel (NUR 30/90, kein 60) + Seite - fuer AS-/ES-Element, wo 60 Grad
// geometrisch nie eine gueltige Option ist (anders als GF-Bogen/Vario-Kurve,
// siehe vflw_winkel_seite). Tile-Keys bewusst identisch zu vflw_winkel_seite
// (winkel_30/winkel_90/seite_links/seite_rechts), damit vflw-gruppe-winkel-
// seite-impl/vfl-glied-as-es-dialog denselben set_tile/get_tile-Code fuer
// beide Dialoge nutzen koennen.
vflw_winkel_seite_30_90 : dialog {
label = "VarioFoerderer Assistent";
: column {
: text {
key = "kopf";
label = "";
width = 60;
}
: boxed_radio_column {
label = "Winkel:";
key = "winkel";
: radio_button { key = "winkel_30"; label = "30 Grad"; }
: radio_button { key = "winkel_90"; label = "90 Grad"; value = "1"; }
}
: boxed_radio_column {
label = "Seite:";
key = "seite";
: radio_button { key = "seite_links"; label = "Links"; value = "1"; }
: radio_button { key = "seite_rechts"; label = "Rechts"; }
}
}
: row {
alignment = centered;
: button { key = "back"; label = "Zurueck"; fixed_width = true; width = 12; }
spacer;
: button { key = "accept"; label = "Ok Weiter"; is_default = true; fixed_width = true; width = 12; }
spacer;
: button { key = "cancel"; label = "Abbrechen"; is_cancel = true; fixed_width = true; width = 12; }
}
}
// Nur Winkel (30/90 Grad), OHNE Seite - fuer "QC Linie mit GF" (Option 4),
// deren AS-/ES-Seite ausserhalb dieses Dialogs feststeht (ES-Seite = AS-
// Seite, keine eigene Frage). Radio-Buttons statt Dropdown.