This commit is contained in:
2025-12-01 22:01:58 +01:00
parent 086fdc1ea1
commit f717abf0a0
14 changed files with 3305 additions and 1780 deletions

250
docs/concept/RACING.md Normal file
View File

@@ -0,0 +1,250 @@
# GridPilot Race Management
*A unified system for running modern iRacing leagues with team formats, automated series structures, and clean penalty handling.*
---
# 1. Overview
GridPilot Race Management defines **how racing works on the platform**,
independent of league size or community style.
It consists of three pillars:
1. **Team Leagues** — real constructors-style multi-driver competitions
2. **Automated Leagues** — structured series (e.g., F1-style) that GridPilot can mirror
3. **Penalty & Protest System** — clean dispute resolution without Discord chaos
GridPilot's goal is to make league racing **consistent, fair, and meaningful**,
without forcing admins into complexity or drivers into mandatory social interaction.
---
# 2. Team Leagues (Constructors Format)
Most iRacing leagues treat teams as cosmetic.
GridPilot treats them as **primary competition units**, like real motorsport.
## 2.1 Team Structure
A team has:
- Team profile (logo, colors, description)
- Captain / co-captains
- Roster of drivers
- Recruitment status
- Participation history
- Team stats + points
Teams exist platform-wide — not only inside one league.
## 2.2 Team Participation in a League
Teams can:
- register for seasons
- assign drivers to race slots
- have different drivers each week
- score parallel points from every contributing driver
## 2.3 Constructors-Style Points
GridPilot supports multiple team scoring methods:
- **All Drivers Count** (every finisher scores team points)
- **Top X Drivers Count** (top 2, top 3, etc.)
- **Weighted Points** (e.g., top driver counts 60%, next counts 40%)
- **Custom Rules per League**
Admins choose their model.
GridPilot handles the math, standings, history, and transparency.
## 2.4 Team Rivalries & Identity
Built-in:
- team standings
- driver contribution breakdown
- cross-season performance
- team “form” (last 5 races)
- recruitment visibility
Team racing becomes **a core part of the platform**, not an afterthought.
---
# 3. Automated Leagues (F1-Style Mirror Systems)
Some admins want complete freedom.
Some drivers want structured, official-feeling series.
GridPilot supports *both* by providing the option for **auto-generated leagues**.
These are **not forced**; they are templates admins or communities can adopt.
## 3.1 What Are Automated Leagues?
An automated league is a **predefined series template** provided by GridPilot that mirrors real motorsport.
Examples:
- F1 World Championship (same tracks, same order)
- F2 / F3 / F4 analogs
- GT3 European Sprint Cup
- IMSA-style multiclass
- DTM-style format
Users dont need to invent formats — they pick from proven structures.
## 3.2 What an Automated League Includes
A template defines:
- car class
- track calendar (pre-set schedule)
- race format (practice, quali, race)
- scoring system (e.g., FIA F1 points)
- bonus points (fastest lap, sprint race, etc.)
- team size (e.g., 2 drivers like Constructors)
- DNF rules
- drop rules (if any)
- penalty rules (warnings → time penalties → DSQ)
Admins can tweak details OR run it 1:1 as provided.
## 3.3 Session Generation
GridPilot can automatically:
- create the full season
- populate all race settings
- optionally generate sessions via browser automation
- clearly list required content for admins
This is still *admin-controlled* automation —
GridPilot enhances, not replaces, human oversight.
## 3.4 Why Automated Leagues Matter
For drivers:
- familiar formats
- real-world relevance
- stability
For admins:
- less planning
- less overhead
- instantly “professional” structure
For GridPilot:
- predictable competition ecosystem
- consistent feature usage
- scalable community engagement
---
# 4. Penalty & Protest System
A clean, structured way to handle disputes — core to GridPilot fairness.
## 4.1 Driver-Protest Flow
Drivers can submit:
- race
- involved drivers
- replay timestamp(s)
- explanation text
- optional clip/video links
GridPilot stores everything in a clean UI.
## 4.2 Admin Review Tools
Admin sees:
- list of protests
- timestamps
- notes
- links
- driver details
- race context
Actions:
- no action
- warning
- time penalty (+5s / +10s / +30s)
- points deduction
- DSQ race
Everything updates automatically.
## 4.3 Automatic Classification Updates
Time penalties:
- re-sort results
- adjust finishing positions
- recalc points
- update team standings
Penalties:
- logged in history
- visible on driver/team pages
- part of season record
## 4.4 Consistency & Transparency
GridPilot helps:
- keep decisions structured
- avoid DM drama
- maintain fairness
- preserve season integrity
Admins stay in full control — GridPilot handles presentation & recalculation.
---
# 5. What We Must Consider (Key Constraints)
## 5.1 Content Ownership
Automated leagues need:
- admins (or bot accounts) who own the tracks
- 1 owned car per allowed class
- iRacing credits to host sessions
GridPilot cannot bypass iRacing content rules.
## 5.2 Avoiding Splits (Very Important)
Splits destroy community identity.
GridPilot must:
- keep leagues small (2030 drivers)
- allow multiple parallel micro-series (F1-A, F1-B, etc.)
- unify standings across micro-series through stats (optional)
We scale *horizontally*, not vertically.
## 5.3 Admin Optionality
Automation is optional.
Manual control must always be possible.
## 5.4 Dont Replace Community
GridPilot provides structure — not social control.
Discord remains important; we complement it.
## 5.5 Avoid excessive complexity
Penalty rules, team formats, automated templates —
all must stay simple, configurable, and not overwhelming.
---
# 6. GridPilot Race Management Summary
GridPilot provides:
- professional team racing
- structured constructors scoring
- predefined (or custom) league formats
- optional auto-generated F1-style calendars
- clean protests and quick penalties
- automatic standings
- minimal admin workload
- consistent racing identity
- scalable competition model
We dont replace iRacing —
we give league racing the **structure, fairness, and identity** it has always lacked.