FEATURE_BACKLOG: NGF-spilleform-gap, koordinat-editor og CSV-import notert
Tre nye seksjoner: (1) sammenligning av NGF sitt offisielle spilleform-dokument mot faktisk bygde formater, med konkret gap-liste, (2) plan-skisse for en manuell koordinat-editor (gjenbruker MapPointPicker + eksisterende PUT-endepunkt fra ADR-081), (3) spiller-CSV-import markert påbegynt. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
366582d3ef
commit
cc793339e4
1 changed files with 115 additions and 2 deletions
|
|
@ -7,8 +7,8 @@
|
|||
> Status-koder: ✅ ferdig · 🔨 pågår · 📋 planlagt/fanget · ❓ trenger beslutning
|
||||
> · 🔀 endret fra opprinnelig råd · 💤 utsatt (bevisst)
|
||||
>
|
||||
> Sist oppdatert: 2026-08-14 (stale-opprydding — seks seksjoner rettet
|
||||
> til å reflektere faktisk levert status, se CHANGELOG.md samme dato)
|
||||
> Sist oppdatert: 2026-08-17 (NGF-spilleform-sammenligning, manuell
|
||||
> koordinat-editor og spiller-CSV-import notert, se seksjonene nederst)
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -4517,3 +4517,116 @@ innlogging/auth-flyten fikk den nye "clubhouse"-paletten. Resten av appen
|
|||
palett (se DESIGN_SYSTEM.md) inntil videre — retemaes gradvis, skjerm for
|
||||
skjerm, når de likevel røres i senere runder. Ingen egen stor
|
||||
retemaings-runde er igangsatt eller bedt om.
|
||||
|
||||
## NGF spilleformer vs. det TeeCup faktisk har bygget — 📋 NOTERT, IKKE besluttet hva som skal bygges
|
||||
|
||||
Bruker lastet opp NGF sitt offisielle "Spilleformer"-dokument (sist
|
||||
endret 4. oktober 2023, `Temp-uploads/spilletyper-og-spilleformer-2023
|
||||
(1).pdf` — identisk med den tidligere opplastede versjonen samme navn
|
||||
uten "(1)") 2026-08-17 og ba om en sammenligning mot alt TeeCup faktisk
|
||||
har bygget. Sjekket mot de LIVE CHECK-constraintene i `teecup_db` (ikke
|
||||
bare dokumentasjon): `round.play_format`, `session.format`,
|
||||
`tournament.scoring_method`.
|
||||
|
||||
**Dekket** (rett frem eller under annet navn): Single/match, Foursome,
|
||||
Four-Ball, Greensome, Scramble (2-/4-manns + egen solo-variant utover
|
||||
NGF), Individuell slagspill, Stableford, Eclectic, Flaggkonkurranse,
|
||||
Københavner, Nassau (bygget som poeng-panel oppå en singel-match, ikke
|
||||
egen format-verdi), Chapman (= NGFs "Irish Greensome", samme mekanikk
|
||||
annet navn), High-low-high (= NGFs "Four-ball beste og dårligste").
|
||||
Skins/Bingo Bango Bongo/Money Ball/Shamble er TeeCup-tillegg UTOVER
|
||||
NGF-lista (ikke i dokumentet i det hele tatt).
|
||||
|
||||
**Ikke dekket -- ekte hull i NGF-lista, ingen omtale andre steder i
|
||||
denne filen:**
|
||||
- **Amerikaner** -- 4 spillere, 12 poeng/hull fordelt etter plassering
|
||||
(8-4-0-0 / 6-6-0-0 / 4-4-4-0 / 3-3-3-3 osv. avhengig av utfall)
|
||||
- **Four-ball sammenlagt** / **Four-ball besteball og sammenlagt** --
|
||||
enklere lag-sammenlagt-varianter (kun best-ball-varianten er bygget)
|
||||
- **Hallington** -- poengformel (hullets par × 2 minus brukte slag)
|
||||
- **Hidden hole** -- et forhåndsbestemt antall tilfeldige hull trekkes
|
||||
ut og telles etter at hele runden er spilt
|
||||
- **Ransome** -- 3×6-hulls rotasjon: fourball → foursome → sammenlagt
|
||||
- **Mexican Scramble** -- scramble-variant der spilleren hvis slag ble
|
||||
valgt ikke får slå neste slag
|
||||
- **Mulligan** -- HCP-baserte omslag, kan tas når som helst
|
||||
- **Snorkonkurranse** -- spilleren får en snor (lengde = spillehandicap
|
||||
i meter) til å forbedre ballens leie med
|
||||
- **Three-ball match / Threesome (match og slagspill)** -- ekte
|
||||
3-spiller-matchformater (kan i praksis omgås i dag med 3 separate
|
||||
1v1-matcher manuelt satt opp, men ikke som egen, sammenhengende
|
||||
turneringsform)
|
||||
- **Maksimum Score** som egen, distinkt konkurranseform (migrasjon 038
|
||||
sin generelle "pickup"-mekanikk dekker DELER av dette, men ikke som
|
||||
eget valgbart format med par+4-cap)
|
||||
- **Bogey/Par-konkurranse** -- matchspill mot et fast target-resultat,
|
||||
ikke stableford-poeng
|
||||
- **Nærmest hullet / Lengste drive** -- vanlige side-konkurranser ved
|
||||
siden av hovedturneringen, ingen støtte i det hele tatt (verken som
|
||||
eget "mini-format" eller som en tilleggsmarkering på en runde/økt)
|
||||
|
||||
**Vurdert, men trolig ikke aktuelt å bygge:** Pro Am er en deltaker-
|
||||
sammensetning (profesjonell + amatører), ikke en distinkt scoringsform
|
||||
-- TeeCup har ingen pro/am-status-modell i dag, og det er uklart om det
|
||||
gir egenverdi å bygge som eget format fremfor bare la brukeren sette opp
|
||||
et vanlig lag.
|
||||
|
||||
**Neste steg:** ingen bygging igangsatt. Når/hvis bruker vil prioritere
|
||||
noen av disse, bør de vurderes én om gangen (samme mønster som de åtte
|
||||
formatene i punkt 14/CHANGELOG.md) -- flere av dem (Nærmest hullet/
|
||||
Lengste drive spesielt) er trolig enklere å bygge enn et helt nytt
|
||||
scoringsformat, siden de er sidespill uavhengig av selve rundens
|
||||
hovedformat.
|
||||
|
||||
## Manuell koordinat-editor for rangefinder-punkter — 📋 NOTERT, IKKE besluttet/designet
|
||||
|
||||
Etter ADR-081 (migrasjon 079, rangefinder for offisielle baner) kan
|
||||
koordinater for en offisiell (TeeOff-koblet) bane settes via `PUT /orgs/
|
||||
{id}/courses/{id}/coordinates` -- men KUN via et rått API-kall (Claude
|
||||
kjørte dette manuelt for Tjøme, to runder på rad). Bruker ba 2026-08-17
|
||||
om en ekte selvbetjent vei: "et system for mulighet for å legge inn
|
||||
koordinater manuelt, uten at jeg må spørre deg."
|
||||
|
||||
**Grunnlag allerede på plass, verifisert denne runden:**
|
||||
- Skrive-endepunktet for OFFISIELLE baner finnes allerede (`courses.py`,
|
||||
se ADR-081) -- mangler kun et menneskelig grensesnitt foran seg.
|
||||
- GolfAPI-koblede PERSONLIGE baner (`personal_course`/`golfapi_course_
|
||||
coordinate`) har derimot INGEN manuell skrive-vei i det hele tatt --
|
||||
fylles i dag kun automatisk via `golfapi_cache.get_or_fetch_golfapi_
|
||||
course()`. Bør trolig få en tilsvarende manuell overstyrings-/
|
||||
tilleggs-vei, ikke bare offisielle baner.
|
||||
- `MapPointPicker` (`frontend/components/shot/map-point-picker.tsx`,
|
||||
Mapbox, brukt til slagmåling/ADR-048) er en FERDIG, produksjonsbrukt
|
||||
"klikk et punkt på kartet og få lat/long tilbake"-komponent -- den
|
||||
tyngste enkeltbrikken en koordinat-editor trenger finnes allerede,
|
||||
trolig gjenbrukbar med moderat tilpasning fremfor å bygges fra bunnen.
|
||||
- Selve TYPE-valget (bunker/vann/tre/landemerke/tee/green osv. +
|
||||
front/midt/bak + venstre/senter/høyre) må fortsatt gjøres av et
|
||||
menneske via et skjema/dropdown -- Tjøme-rundens "Voll"/"Bjella"-
|
||||
erfaring viste konkret at fritekst-til-kategori IKKE kan automatiseres
|
||||
pålitelig. Editoren bør altså være: velg bane/hull → klikk punkt på
|
||||
kart (eller tast lat/long manuelt) → velg type/plassering/side fra
|
||||
dropdown → lagre. Sannsynligvis også en tabell-/listevisning av
|
||||
allerede lagrede punkter per hull (les via eksisterende `GET .../
|
||||
coordinates`) med slette-/rediger-mulighet.
|
||||
|
||||
**Neste steg:** egen planrunde (ikke påbegynt) -- avklare om `GET`/`PUT`
|
||||
trenger utvidelse for GolfAPI-baner, konkret UI-flyt (kart vs. rent
|
||||
skjema, eller begge), og om dette skal være en frittstående admin-side
|
||||
eller hektes inn i eksisterende baneoppsett-flyt i `courses.py`-relatert
|
||||
UI (se "Baneoppsett i turneringer"-seksjonen over).
|
||||
|
||||
## Massimport av spillere til organisasjon/turnering (CSV) + redigerbar spillertabell — 🔨 PÅBEGYNT 2026-08-17
|
||||
|
||||
Bruker ba om en måte å masseimportere spillere fremfor én-og-én, og
|
||||
spurte konkret om en tabell der ALLE felt er redigerbare. Research denne
|
||||
runden bekreftet: ingen bulk-endepunkt finnes (`POST /orgs/{id}/players`
|
||||
er kun én-om-gangen, frontend gjør det i en løkke i dag), og INGEN
|
||||
redigerbar-tabell-UI-mønster finnes noe sted i kodebasen (all redigering
|
||||
i dag er skjema/modal-basert) -- begge deler er reelt nytt arbeid, ikke
|
||||
gjenbruk av et eksisterende mønster. `player.user_id` kobles automatisk
|
||||
til en ekte konto ved fremtidig innlogging via e-post (samme mekanisme
|
||||
som selvregistrering), så importen selv trenger ikke håndtere
|
||||
invitasjon -- bare opprette rader.
|
||||
|
||||
Se ADR (skrives når planen er ferdig) for design/omfang.
|
||||
|
|
|
|||
Loading…
Reference in a new issue