Manualer (DA/EN) og ændringslog: statusvinduets tast er numpad *, kædeproblemer
står i én post i Kræver handling, beskeder højst 3 ad gangen, markvarer står
som "fra marker", slukket men nødvendig højst én post med +k. README nævner
statusvinduet og afhængigheds-advarslen.
- Auto-flowets mål tæller kun for varer gården forbruger (eller en kæde vil
have); stald-foder/auto-behov uden kendt forbrug er ikke nødvendigt. Manuel
flow-vare og kæde-input gælder også uden kendte lagerdage.
- En slukket opskrift springes over, når en anden tændt opskrift i samme
fabrik laver varen.
- Behov kun fra kæder giver ingen advarsel/post (Task 10 melder kæderne).
- En flow-traktors linje følger flowets niveau (venter/fejl) som Flows-listen.
- Solgte/slettede køretøjer (isDeleted, ingen/død rootNode) vises ikke under
stået stille.
- Standardtasten er venstre Alt + Insert (S er spillets gå/bremse-akse).
Slukker spilleren en produktion, hvis vare et tændt flow kører (manuel vare
eller målet tager den i auto), en stald æder eller en aktiv kæde bruger,
kommer én besked pr. slukning med brugere og lagerdage, og en rød post
'Slukket men nødvendig' i Kræver handling og statusvinduet så længe den er
slukket og nødvendig. Ingen advarsel når en anden tændt produktion dækker,
lageret rækker over 60 dage, kæden selv slukkede den eller den var slukket
ved indlæsning. Tjekket kører i kædens tick også uden kæder; ren logik i
adDependency.lua.
Køb af en rest efter gårdens stalde giver nu spu_chain_problem_barn (køb resten
eller flere dyr) i stedet for 'byg en fabrik'. Engangsbeskeden får kædens navn
foran, så to kæder der mangler samme vare kan skelnes.
problemText giver årsag og råd for køb/flaskehals/kredsløb og 'slukket af dig'
(userOff-kopi på ADChain.last); modellens problemer får need. Fanen Kæder viser
teksten som rød tekstrække under varen (foldet ud). Kræver handling får én rød
post pr. kæde (højst 2, score 3500+alvor mellem rød tom og rød fuld); klik åbner
fanen med kæden foldet ud. Engangsbesked pr. nyt led (rod|vare|art) kun fra
tick, ikke i opstartsfristen eller på delvise data/ufærdig markscanning.
Manualer og CHANGELOG opdateret.
Brugermanualen (dansk) er omskrevet til v1.60.11: menuplacering, farvede
Flows/Fields-lister med redigeringsvindue, guiden Opsæt flow med
solo-traktorer og vognvalg, flow-vogne, AD-markørkonventioner (P, Connect,
Afkobl), maskinpulje, markarbejde, Måned, Marksiloer, Stop alt og parkér,
lagerfanernes Kræver handling, navne og konsolkommandoer samt Test og
feedback. USER_MANUAL.md er en tro engelsk oversættelse. Udviklernoterne
er flyttet fra README til CHANGELOG.md, og README er en kort præsentation.
Audit (2 reviewere) + simulering bench/bench_hak.lua: værste frame 124,7 ms -> 0,9 ms.
- Holdende vognes genplanlægning (5 s) spredes tilfældigt over hele intervallet (før: alle i samme frame).
- ADCache: korttids-cache m. spredt udløb (+0-50 %), kun aktiv i spillet; stationsopslag 30 s.
- Bygningsliste 10 s (før 1 s: bygninger x markører hvert sekund). Markarbejde-tick forskudt 0,5 s fra menuen.
- ADProfiler: logger top-6 langsomste indgange pr. minut ved > 2 ms.
In-game 26/9: hak ca. hvert 5. s efter 1.27.2 = holdende vognes genplanlægning (ADOutbound/ADLoadSwap hvert
5 s) med AD-stifinding + reserve-BFS gennem 13.550 waypoints pr. kandidat. Rutesvar caches pr. mål og 10 m-
område i 30 s (max 2000 poster); langsomme rutetjek logges. Æg: 'ingen mere last' markerer nu kilden som
hvilende 3 min, så runden roterer mellem hønsehusene.
In-game 26/9: hakket kom sjældnere da scanningen gik fra 1 s til 2 s -> scanningen af én mark i ét frame
var årsagen (opslag gennemgår alle ~40 afgrødetyper pr. punkt). Coroutines findes ikke i FS25 (Giants
fjernede dem, jf. Courseplays HybridAStar), derfor en eksplicit kø. Tidsmåling bruger netGetTime.
Test (test_adFieldsScan) beviser: færdig, korrekt resultat, <= 3 opslag pr. frame.
In-game 26/9: lille hak ca. hvert sekund. Markarbejdets tick kopierede alle markers data hvert sekund
(affald -> GC-pause), hentede alle kortets marker og alle AD-markører.
Review-fund 26/9 (CRITICAL): setAutomaticPickupTarget er no-op i AutoDrive (AutoDrive.automaticPickupTarget = false),
så LOAD-mode ville køre til F-markøren og hænge. (MEDIUM): ingen backoff ved manglende sæt.
Brugerkrav 25/9: alle river-typer skal virke. Nedlægningsområdet (runtime-felt eller riverens XML) måles
i traktorens ramme mens riven arbejder; læssevognen på rivens kursus får CP-toolOffsetX = egen -
skårets forskydning og får sin værdi tilbage når den slippes.
Brugerspørgsmål 25/9: få standardredskaber har 40,8 m. Vender og river kører hele marken i deres egen
bredde; efter riv ligger skåret midt i banen, så læssevognen kopierer rivens kursus uden breddekrav.
Uden riv kræver læssevognen stadig slåbredden (nu med hint 'sæt Riv til').
In-game 25/9: læssevognens nye CP-kursus lå forskudt i forhold til skårene -> ikke samlet korrekt.
Slåkurset gemmes pr. mark (kopi) og kopieres til næste trin med vehicle:cpCopyCourse; efter
genindlæsning hentes det fra slåmaskinen (mowVehicle gemt i ADSmartPickup_fields.xml).
In-game 25/9: Fastrac'en stod stille ved AutoDrive-start til spilleren satte sig ind (parkerede
køretøjer kalder ikke onUpdate). Samme greb som flows' applyAndStart + raiseActive fra AI-Bonden.
In-game 25/9: spilleren satte sig i BiG M'en for at se CP-HUD'en -> sættet blev sluppet, og da CP var
færdig, blev det aldrig sendt hjem; marken ville have sendt slåmaskinen ud igen til en slået mark.
Afvigelser fra planen: starting-timeout 60 s og pause efter 'nåede ikke markøren' (undgår
genudsendelse hvert sekund); J2-testen bruger en slået mark (readyRatio 0).