35ebee1e88
Gefaltete VF-Laeufe wurden zu kurz gebaut, weil der Solver Posten dem falschen Schenkel zurechnete. Vier Aenderungen, alle nach demselben Leitsatz: die letzten freien Groessen folgen der GEMESSENEN Ist-Lage, nicht einer vorab verteilten Gesamtplanung. 1. vfl-zsolve-schluss-ziel (neu): endet der Lauf auf einem flachen Fueller, werden RICHTUNG und LAENGE gemeinsam gegen den Zielpunkt geloest statt nur die Laenge. Geschlossene Loesung ueber A = sqrt(|D|^2 - P^2), hz = Winkel(D) - atan2(P, A); C und P sind von hz unabhaengig, daher ohne Iteration. Bisher uebernahm der Solve die Richtung aus dem gezeichneten Pfad - ein Querversatz der realen Eck-Bauteile war damit prinzipiell unerreichbar, weil eine Laenge die Kette nur entlang ihrer Achse verschiebt. 2. Eingangs-Hardware bei gefaltetem Lauf: Umlenkstation + Separator stehen auf dem Eingangs-Schenkel und verbrauchen die Kletterspanne nicht; ihr Laengenanteil wird der Spanne wieder zugeschlagen. feste-vf bleibt unveraendert - sein sin3-Hoehenanteil ist real. 3. kletter-ende-fp: endet der Lauf auf einem KLETTERER, gibt es keinen Schluss-Fueller, der Motorstation + Separator + ES abzieht - sie standen in keinem Budget. Nur bei flacher Zone, Pfadende und vorhandenem ES, sonst sind sie bereits anderweitig verbucht. 4. Nachrechner wieder aktiv (8 statt 4 Runden): GF1 steht im Budget, aber im Eingangs-Schenkel. Die Kollision mit filler-A-len, wegen der er abgeschaltet war, ist entfallen. 3 und 4 wirken NUR gemeinsam - die Betraege heben sich teilweise auf, eine einzeln eingebaute Korrektur verschiebt den Fehler bloss in die andere Richtung (GF1 1636.9 - (Motor+Sep+ES) 1235.1 = 401.8 mm). Gemessen am selben Pfad: 9 Grad 0.56 mm, 12 Grad 0.7 mm quer (vorher 1424 bzw. 934 mm), dZ 0.1 mm. Beide Modus-2-Regressionsketten weiter OK; TEST_UNIT 904/904 mit 7 neuen file-freien Tests. doc/todo.md: Punkt "Modus-2-Solver: achsenweise Laengen-Bilanz" ist damit erledigt. Die Detaildatei bleibt liegen, weil vier Kommentare in vf_linienzug.lsp auf ihren Pfad verweisen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.8 KiB
3.8 KiB
Offene TODOs
Zentrale Sammlung aller offenen Punkte. Wo ein eigener Fahrplan in doc/todo/
existiert, steht hier nur die Kurzfassung mit Verweis. Erledigtes wird
entfernt (Historie steht in git), nicht abgehakt stehen gelassen.
Stand: 2026-10-26. Wird woechentlich (freitags) mit der Doku geprueft, siehe
CLAUDE.md -> Konventionen.
1. VarioFoerderer / Linienzug
- VF-Linienzug ohne GUI/Konsole, Stufe 2 (Funktionstrennung): eigener,
separat abzuarbeitender Auftrag mit Schritt-Tabelle. Schritte 5c, 6, 8, 9,
10 offen (u.a.
vfl-spec-ausfuehren). Schritt 11 war zurueckgestellt, bis echte Modus-2-Journale vorliegen - diese Vorbedingung ist seit 2026-10-27 erfuellt (tests/testdata/linienzug_modus2_*.json). Niedrige Prioritaet - Architektur, keine neue Funktion. ->doc/todo/linienzug-ohne-gui.md - Spec-Uebersetzer fuer Modus 2/3: weitgehend erledigt bzw. bewusst
gestrichen (2026-10-27,
4a19ac0). Entscheidung: Eine Spec lohnt fuer Modus 2/3 nicht - deren Journale tragen mitSEGSdie komplette Segment-Essenz und sind ohne Zeichnung abspielbar, der Mehrwert von Domaenenwerten ist damit klein. Umgesetzt wurden die drei lohnenden Teile: Python liestlinienzug2/3(Rohtokens),vsp-bau-journalwaehlt die Bau-Funktion aus dem Journal, und die Segment-Antworten sind selbstbeschreibende Werte statt Menue-Ziffern. OFFEN bleibt nur dasselbe fuer Modus 3 - dort fehlt ein aufgezeichnetes Journal als Netz. ->doc/todo/spec-modus2-3.md - Stufe 3 Winkelwahl: "Ab"-Zweig (
vf_standard.lsp, Kommentar bei der Fuellstueck-Berechnung): nur "Auf" implementiert, "Ab" bleibt bewusst offen, bis ein konkreter Bedarfsfall vorliegt. Ebensoschon-flachin Stufe 3.
2. Export / Sivas
- Separator-/Scanner-Aufteilung GF/VF in Streckengruppen: Merkmale
4337/4339 (Gefaelle-Anteil) stehen fest auf
"0", 4381/4383 (Vario-Anteil) tragen den kompletten Blockwert. Haengt an einer Ueberarbeitung der Separator-/Scanner-Zuordnung im Zeichnungsmodell. ->cfg/sivas_merkmal_zuordnung.md("Offener Punkt") - TOS von Geruest-Import ins Sivas (Entwicklungsplan Meilenstein 2).
3. Geruest
- Gattertraeger: nur Menue-Platzhalter auf
GERUEST(zeigt einen Hinweis). Daten sollen spaeter indata/json/geruest_traeger.json. - Edit-Pfad
GERUEST_EDITfehlt: Doppelklick aufGR_*oeffnet nurEATTEDIT, kein Neuaufbau ueber den Dialog.
4. Omniflo
- Boegen fuer Weichen
OMNI_APBW_*(14 Befehle): Dummy, im Menue ausgegraut. - TEF-Geraden aus Omniflo-Geraden (Umwandlungsmakro): bisher nur
TEF_FOERDERER_LINIE(Linie mit TEF-Geraden belegen), keine Umwandlung bestehender Omniflo-Geraden.
5. ILS
- ILS-Weichen als Geometrie: Weichenpunkte werden ermittelt und exportiert
(
KREISEL_WEICHEN), eine eigene Weichen-Geometrie gibt es nicht. - Horizontal-Variobogen / Gefaellebogen als eigenstaendige Befehle: nur
innerhalb der Streckengruppe (Vario-Kurve, GF-Bogen); die frueheren
Dummy-Befehle
ILS_K*sind entfernt.
6. Tests
tests/test_vf_geometrie.pybraucht BricsCAD-erzeugte DXF-Referenzdaten, die headless fehlen -> schlaegt ohne vorherigen CAD-Lauf fehl.- CAD-Laeufe
TEST_VF_SPECundVF_SPEC_BAU+tests/test_vf_spec.pygegentests/output/hundm05_results.json(Beweis "Spec-Pfad == Journal-Pfad" auf Geometrie-Ebene). ->doc/todo/plan-vf-interactive.md
7. Spaetere Meilensteine (Entwicklungsplan)
Nur Ueberschriften, Details in doc/plan/Entwicklungsplan.md:
- Meilenstein 4: Flex (DWGs, Produktprogramm, CSV-Export, TOS)
- Meilenstein 5: 3D-Modelle (Omniflo Bogen/Weiche, Geruest-Modelle)
- Meilenstein 6: Metafunktionen (Geruest ueber Bereich, Strecke aus Polylinie, Kreisel-Verbindung auf unterschiedlicher Hoehe, Puffer aus Flaeche, Separator-/Scanner-Positionierung, Arbeitsplatz-Makro)