docs: spec etape 2-3 + multi-maskine (høst, roer, jordbehandling, såning)
This commit is contained in:
@@ -0,0 +1,52 @@
|
|||||||
|
# Markarbejde, etape 2–3 + multi-maskine: høst, roer, jordbehandling, såning
|
||||||
|
|
||||||
|
Dato: 2026-09-26 (nat) · Bygger på `2026-09-25-markarbejde-etape1-design.md` · Branch `feature/markarbejde-2`
|
||||||
|
|
||||||
|
Brugeren gav fuldt mandat ("byg resten, ALLE PUNKTER, du træffer selv gode valg") og tester i spillet dagen
|
||||||
|
efter. Beslutningerne herunder er truffet uden dialog og skal læses igennem.
|
||||||
|
|
||||||
|
## Mål
|
||||||
|
|
||||||
|
Alle gårdens marker kan køres af Smart Pickup: slåafgrøder (etape 1) og nu **høstafgrøder** (korn, raps,
|
||||||
|
majs, roer, kartofler … alt der høstes med mejetærsker/optager), inkl. **aflæsningsvogne**, **jordbehandling**
|
||||||
|
efter høst og **såning**. Hvert trin kan køres med **1–5 maskiner** på samme mark (Courseplays multi-tool).
|
||||||
|
|
||||||
|
## Beslutninger
|
||||||
|
|
||||||
|
1. **Høst er én pipeline for alle høstafgrøder.** Roer og korn adskiller sig kun ved hvilken høster der
|
||||||
|
kan tage afgrøden. Høsteren matches på afgrøden: skærebordets/optagerens frugttyper (`spec_cutter`)
|
||||||
|
skal omfatte markens afgrøde. Finsnittere (cutter med `fruitTypeConverters`) bruges ikke til høst.
|
||||||
|
2. **Aflæsning under høst = Courseplays combine-unloader** (`COMBINE_UNLOADER_CP`, bevist i AI-Bonden):
|
||||||
|
vognen følger høsteren, tømmer den og kører til en **station**. Stationen vælges af Smart Pickups
|
||||||
|
silovalg (nærmeste silo med plads der tager afgrøden, eller *Tving lager*); findes den ikke i
|
||||||
|
Courseplays stationsliste, bruges nærmeste station. Antal vogne pr. mark: 1–3 (plan).
|
||||||
|
3. **Høsteren sendes hjem** (AD-parkering) når Courseplay er færdig og tanken er tømt. Aflæsningsvogne
|
||||||
|
stoppes når høsten er færdig; har de rest, kører AutoDrive den til lageret (samme reserve som
|
||||||
|
læssevognen), ellers parkering.
|
||||||
|
4. **Efter høst** (valg pr. mark): *Ingenting*, *Kultivér* eller *Pløj*, og derefter evt. **Så**.
|
||||||
|
Såmaskinen sættes til planens afgrøde (standard: samme afgrøde som blev høstet). Kan afgrøden ikke
|
||||||
|
sås i den nuværende periode, venter marken med grund. Tom for frø -> sættet springes over med grund
|
||||||
|
(moden fylder ikke frø på; det gør brugeren/AutoDrive-refill).
|
||||||
|
5. **Multi-maskine (1–5 pr. trin, plan pr. mark).** Trin med eget kursus (slå, vend, riv, høst,
|
||||||
|
kultivér, pløj, så) laver ét Courseplay-kursus med `multiTools = n` på første sæt; de øvrige kopierer det,
|
||||||
|
og hver får sin bane (`laneOffset`: 2 -> −1,1 · 3 -> −1,0,1 · 4 -> −2,−1,1,2 · 5 -> −2…2). Et multi-trin
|
||||||
|
startes kun når **alle n** sæt er ledige (ellers kører én bane ikke). Læssevognen på et multi-kursus
|
||||||
|
kræver også n vogne, én pr. bane.
|
||||||
|
6. **Rolle-rækkefølge** når et køretøj har flere redskaber: høster > læssevogn > river > vender >
|
||||||
|
slåmaskine > såmaskine > kultivator > plov > aflæsningsvogn (traktor+vogn som Courseplay kan bruge som
|
||||||
|
combine-unloader).
|
||||||
|
7. **Afgrødetype pr. mark:** slåafgrøde (etape 1) eller høstafgrøde (alt andet med en høstbar frugt). Plan
|
||||||
|
*Høst* er standard for høstafgrøder. Marker uden afgrøde (pløjet/stub) kan få *Start nu* for
|
||||||
|
jordbehandling/såning alene.
|
||||||
|
8. **Stadig ikke med:** gødning/kalk/sprøjtning, baller, halm efter mejetærsker, auto-påfyldning af frø.
|
||||||
|
|
||||||
|
## Opbygning (ændringer)
|
||||||
|
|
||||||
|
| Fil | Ændring |
|
||||||
|
|---|---|
|
||||||
|
| `adFieldModel.lua` | Planer `harvest`, jordbehandling, såning, `rigs`/`unloaders`; trin `harvesting/cultivating/plowing/sowing`; hjælperoller pr. trin; `lanePositions(n)` |
|
||||||
|
| `adFieldFleet.lua` | Nye roller; `pick` tager afgrøde (høster skal kunne tage den); `pickMany` til multi-trin |
|
||||||
|
| `adCpBridge.lua` | `startUnloader`, `canHarvest`, frø-valg (`setSeedFruit`, `isPlantable`, `hasSeeds`), multi-tool kursus + lane |
|
||||||
|
| `adFields.lua` | Afgrødetype (slå/høst), sidst høstede afgrøde |
|
||||||
|
| `adFieldWork.lua` (ny) | Udsendelse og opfølgning af sæt (AD/CP) — flyttet ud af `adFieldJobs.lua` der blev for stor |
|
||||||
|
| `gui/SmartPickupFieldTab.lua` | Plan-rækker pr. afgrødetype, maskiner pr. trin, aflæsningsvogne, efter høst, så + afgrøde |
|
||||||
Reference in New Issue
Block a user