From 03c05b7608b4a6c27bc50ddf6042f410a34ddb35 Mon Sep 17 00:00:00 2001 From: masterdraco Date: Fri, 25 Sep 2026 23:47:46 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20spec=20etape=202-3=20+=20multi-maskine?= =?UTF-8?q?=20(h=C3=B8st,=20roer,=20jordbehandling,=20s=C3=A5ning)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-09-26-markarbejde-etape2-3-design.md | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 docs/superpowers/specs/2026-09-26-markarbejde-etape2-3-design.md diff --git a/docs/superpowers/specs/2026-09-26-markarbejde-etape2-3-design.md b/docs/superpowers/specs/2026-09-26-markarbejde-etape2-3-design.md new file mode 100644 index 0000000..48da847 --- /dev/null +++ b/docs/superpowers/specs/2026-09-26-markarbejde-etape2-3-design.md @@ -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 |