VORGEWENDE OHNE STROHABLAGE - 1.0.12.8
Pruefbericht: native Fruchteigenschaften und eindeutige Diagnose
============================================================

GRUNDLAGE
Unveraenderte Release-ZIP 1.0.12.7 und log(20261017-120728).txt.
Original-ZIP SHA256: a102176de3b980b5e6d801cd582d8ccd72f28840c9108d1740bda404638980e4
Der Nutzer-Test lief laut Log mit LS25 1.24.0.0. Die alte ZIP bleibt erhalten.

BEOBACHTUNG AUS DER SPIEL-LOG
CANOLA wurde erkannt, hasWindrow war jedoch nil. Der alte Adapter meldete
WAIT_FOR_CROP / missing_hasWindrow statt CHOPPER_ONLY. FLOW zeigte zudem
TURN_PAUSED trotz turning=false. Das gezeigte Haechseln belegt deshalb nicht,
dass die explizite Fruchtklassifikation schon richtig gearbeitet hatte.

QUELLENABGLEICH (GIANTS, online geprueft am 17.10.2026, Script 1.20.0.0)
FruitTypeDesc.loadFromFoliageXMLFile setzt hasWindrow=true, wenn ein passender
Windrow-Fuelltyp konfiguriert und vorhanden ist. Ein initiales false wird
dafuer nicht verlangt. Combine.onUpdate benutzt bei bekannter Frucht die
Bedingung "not fruitDesc.hasWindrow" fuer das Ausschalten der Schwadablage.
Damit passt eine ungesetzte Eigenschaft einer bekannten Frucht zum
beobachteten Rapstest. Eine nicht gefundene Frucht ist etwas anderes.
https://gdn.giants-software.com/documentation_scripting_fs25.php?category=38&class=410&version=engine
https://gdn.giants-software.com/documentation_scripting_fs25.php?category=78&class=644&version=engine
Die Dokumentationsversion unterscheidet sich von der Spielversion des Nutzers.
Die Nachbesserung muss trotzdem in der echten Spielumgebung getestet werden.

GEZIELTE AENDERUNGEN
1. CropSupport unterscheidet jetzt:
   - bekannte Frucht mit hasWindrow=true: Schwad ist grundsaetzlich erlaubt;
   - bekannte Frucht mit false: keine Schwadablage;
   - identifizierbare Frucht aus dem FruitTypeManager mit ungesetztem Merkmal:
     ebenfalls keine Schwadablage (no_windrow_flag_unset);
   - fehlende Frucht, defekte Zuordnung, unvollstaendige Identitaet bei nil
     oder ungueltiger Datentyp: unbekannt, keine neue Schwad-EIN-Freigabe.
   Fuer den nil-Fall muessen ein gueltiger Fruchtindex und ein Name vorliegen.
   Native Fruchtdaten werden nur gelesen, nicht umgeschrieben. Keine feste
   Raps-/Mais-/Soja-Blacklist und keine Aenderungen an Ertrag oder Terrain.
2. Die vorhandenen Controller erhalten dadurch den bereits vorgesehenen
   false-Zustand und waehlen CHOPPER_ONLY statt CROP_UNKNOWN. Ihre Dateien
   wurden nicht veraendert. Bereits bestehende manuelle Pausen und echte
   Setterfehler werden weiterhin nicht durch Fruchtwechsel geloescht.
3. CROP_POLICY enthaelt nun auch den originalen rawHasWindrow-Wert und die
   Frucht-ID. Erwarteter Auszug bei erkanntem nativen Raps:
   crop=CANOLA hasWindrow=false policy=CHOPPER_ONLY rawHasWindrow=nil
   detail=no_windrow_flag_unset
   rawHasWindrow=nil ist hier beabsichtigt und kein Fehler.
4. FLOW verwendet fuer die Zustandsklassifikation denselben aktuellen
   Fruchtbefund wie die Steuerung, nicht ersatzweise alte Auslassdaten.
   controlCrop/controlHasWindrow und die getrennten crop/hasWindrow-Angaben
   aus dem Auslass-Snapshot machen zeitversetzte Fruchtwechsel sichtbar.
5. NO_WINDROW_FRUIT hat fuer bekannte Nicht-Schwadfruechte Vorrang vor dem
   allgemeinen Haechsler-/Wendestatus. TURN_PAUSED setzt jetzt eine aktive
   Automatik, einen aktiven KI-Feldhelfer, turning=true und eine eigene
   temporaere AUS-Schaltung voraus. Positive oder unbekannte Messwerte der
   Bodenablage haben weiterhin Vorrang, damit keine Messfehler verdeckt werden.
6. Version/Build, Beschreibung der Wendestatusmeldung und Anleitung angepasst.
   Diagnoseintervalle bleiben erhalten; kein Popup fuer jeden Fruchtwechsel.

UNVERAENDERT UND PER DATEI-/FUNKTIONSVERGLEICH GEPRUEFT
Helfermenue mit farblicher Markierung und Ausblendung unter SPURFUEHRUNG;
beide Schaltcontroller; Kurs-/Vorgewendeerkennung; komprimiertes DXT5-Icon;
Fahrzeugfilter (normale Maehdrescher, keine Feldhaecksler); Setter-Wrapper;
Menue-Schaltweg und Fuenf-Sekunden-Popup. Keine Tastenkombination oder F1-Aktion.
Globaler EIN/AUS-Zustand, Startzustand EIN, keine neue Persistenz und weiterhin
kein Multiplayer. Die Fruchtpruefung arbeitet weiterhin pro Drescher.

LOKALE TESTS
Unveraenderte Ausgangsversion: 246 vorhandene Faelle bestanden.
Neue Version: 101 Regressionstests + 65 GUI-Tests + 136 Frucht-/Diagnosetests
= 302 lokale Modell-/Integrationstestfaelle, null Fehler.
Dabei wurden 56 neue Faelle hinzugefuegt. Eine alte Erwartung fuer den
fehlenden Schalter einer vollstaendig identifizierten Frucht wurde bewusst
korrigiert. Der alte Test modellierte Nicht-Schwadfruechte nur mit false;
der native Rueckschalttest verwendet jetzt, wie GIANTS, "not hasWindrow".
Details der Ausgangsbasis: tests/BASELINE_COMPARISON.txt.

Unter anderem getestet: nil-CANOLA auf Innenbahn auch ohne vorherige Wende,
beide Reihenfolgen von Modupdate/nativem Zurueckschalten, Fruchtwechsel in
beide Richtungen, leerer Puffer, unbekannte/fehlerhafte Fruchtdaten, manuelle
Eingriffe, AI-Stopp, Menue AUS/EIN, konservativer Wiederherstellungsschutz,
keine periodischen Setter-Aufrufe sowie aktuelle gegen veraltete Auslassdaten.
In drei zusaetzlichen fokussierten Alt-/Neuvergleichen scheitert die alte
Version an den korrigierten Erwartungen; die neue erfuellt alle drei.
Das sind Modellversuche mit nachgebildeter Log-Datenform, kein Spiel-Replay.

XML, Referenzen, DE/EN-Texte, Syntax aller Lua-Dateien, DDS-Dekodierung und
ZIP-Integritaet wurden geprueft. Die abschliessenden Testresultate aus einer
frisch entpackten Kopie der Download-ZIP stehen am Ende dieses Berichts.

IM SPIEL NOCH OFFEN
In dieser Umgebung wurde kein LS25-Ernteeinsatz ausgefuehrt. Die Modelltests
beweisen nicht die Boden-/Partikeleffekte, das Timing aller Modfahrzeuge
oder die Vertraeglichkeit mit anderen Eingriffen in die Strohablage.

INSTALLATION UND TEST
Spiel vollstaendig beenden. Bisherige ZIP ausserhalb des mods-Ordners sichern,
neue FS25_VorgewendeOhneStrohablage.zip unveraendert einsetzen. Nicht entpacken,
keine alte Fassung parallel laden. Automatik im KI-Helfermenue auf EIN lassen.
Raps: Vorgewende, erste Innenbahn und Wende pruefen; durchgehend Haechsler.
Zusaetzlich direkt auf einer Innenbahn starten: Kein Schwad-EIN-Versuch.
Danach mit demselben Drescher eine strohliefernde Frucht ernten (Tank bei
Bedarf leeren), ohne globales AUS/EIN: Vorgewende Haechsler, Innenbahn Schwad.
Neue log.txt nach diesem Ablauf zur Kontrolle verwenden. Vor dem Speichern
wie bisher die Automatik im Helfermenue ausschalten.
