Ein browserbasiertes F1-Manager-Spiel. Baue ein eigenes Rennteam auf, entwickle dein Auto, manage Fahrer und erlebe Rennen live – zuerst offline, später mit Multiplayer.
- Team-Erstellung – Name, Farben, Kurzcode, Team-Nationalität, Schwierigkeitsgrad (Underdog / Midfield / Frontrunner)
- Deterministische Simulationsengine – Reifen, Kraftstoff, ERS, Überholmanöver, Zuverlässigkeit, Wetter, Safety Car/VSC,
fastForwardRace() - Live-Rennen – Timing Tower, Telemetrie, Strategiepanel, Event-Feed, Speed Control, Pause/Resume, animierte Circuit Map
- Web Worker Simulation –
LocalSimulationControllerentkoppelt UI und Simulationsloop - Kalenderbasiertes Gameplay – Woche-zu-Woche Fortschritt statt direkter Race-Sprünge
- Vergangene Ergebnisse als eigene Seite – aus dem Kalender führt „Ergebnis öffnen“ auf eine separate Wochenend-Ansicht mit FP-/Qualifying-/Renn-Überblick und vollständiger Ergebnisliste
- Rennwochenende-Flow – FP1/FP2/FP3, Qualifying (live Reveal), Race
- FP-Navigation gefixt – Dashboard-Primärbutton öffnet FP1/FP2/FP3 jetzt interaktiv statt Sessions still im Hintergrund zu überspringen
- Practice-Recaps – nach jedem FP Erkenntnisse, Setup-Wissen und empfohlene Anpassungen
- FP-Session-Startlogik verbessert – FP startet pausiert; Session-Zeit läuft erst nach aktivem Start oder sobald ein Auto auf die Strecke geschickt wird
- Pre-Race Strategy (2 Autos) – individueller Stint-/Boxenplan pro Auto, empfohlener Plan, manuelle Startreifenwahl
- In-Race Strategie-UX verbessert – manuelle ERS-Befehle pro Auto überschreiben aggressive Team-Order-Overrides; „Aktuelle Strategie“ zeigt verbleibende geplante Stopps je Auto
- Pro-Auto Kontrolle verfeinert – Auto 1/2 zeigt den zugehörigen Fahrernamen; Reifenwahl ist im Rennen toggelbar (erneuter Klick entfernt den Boxenbefehl)
- Startreifen-Logik modernisiert – freie Startreifenwahl (nicht an Qualifying-Reifen gebunden), Warnungen bei Wetter-Mismatch
- KI-Startreifen modernisiert – KI wählt Startreifen wetter-/strecken-/profilbasiert
- Streckenintegration & Details – echte Streckenkarten/Assets, detaillierte Circuit-Ansicht mit Profil, Sektoren, DRS, Forecast und Team-Fit
- Streckencharakteristik im Gameplay – Team-/Auto-Profil beeinflusst Performance je Strecke, inkl. Prognosen im Dashboard
- F1-Punktesystem & Tabellen – realistische Punktevergabe inkl. Fahrer- und Konstrukteurswertung
- Auto-Entwicklung – 8 Komponenten, Kosten, Gains, ETA, Warteschlange, auf Teamprofil wirkende Upgrades
- Balancing für F&E – abgeschwächte Gains, stärkere Diminishing Returns und langsamere Progression
- Team-Fit Updates – nach Fahrzeugupdates werden Team-Fit und Streckenprognosen neu berechnet
- Fahrer-Management – eigene Fahrer + Fahrermarkt, Vertragsverhandlungen, Fahrer verpflichten/ersetzen
- Erweiterter Fahrermarkt – mehr als 20 Fahrer inkl. teamloser Fahrer
- Fahrerentwicklungssystem – wöchentliche Attributentwicklung mit Potenzial, Trainingsfokus, Staff-/Facility-Einfluss, FP1-Boost und Alters-Regression
- Personal/Staff-System – Technischer Direktor, Aero Chief, Race Engineer, Chief Mechanic inkl. Verträge
- Facilities/HQ-Ausbau – Fabrik, Windkanal, CFD, Simulator, Medical, Pit-Crew-Center inkl. Bauzeit & Upkeep
- Sponsoren & Teamziele – Signing Bonus, Weekly Payout, Objective Bonus, Laufzeiten
- Next-Year-Car-Projekt – parallele Investitionen in Aero/Power/Mechanical
- Saisonwechsel mit Meta-Progression – echter Übergang zur nächsten Saison inkl. Jahreswechsel, Button-Flow und sauberem Round-Reset
- Offseason-Car-Reset & Reglement-Effekt – kein permanentes 100/100; neue Saison startet mit Carry-over, Reglement-Impact und Balance-Neuberechnung
- AI-Catchup im Saisonwechsel – hintere Teams erhalten Offseason-Aufholpotenzial, dominante Teams bekommen leichte „Dominance Tax“
- Next-Year-Projekt wirkt auf neues Auto – Investitionen + Staff-Einfluss + Projektfortschritt fließen in Startperformance/-profil der Folgesaison ein
- Season Recap & Awards – Saisonabschluss mit Team-/Fahrerstatistiken, Awards-Ansicht und Historie über mehrere Saisons
- Max-Speed-UI-Fix im Rennen – bei
Maxbleiben Strategieaktionen (ERS/Box) bedienbar durch gebündelte Worker-Updates - Race-Speed um 15x erweitert – Rennansicht unterstützt jetzt
1x,5x,15x,30xundMax(inkl. lokalisierter Beschriftung) - Erweiterte Finanzen – Cost-Cap-Tracking, Monatsreports, Ledger
- Finanzdarstellung in Mio. – Budget/Kosten/Reports konsistent in
Mangezeigt - i18n – Deutsch + Englisch durchgehend verdrahtet und bereinigt
- Save/Load – persistenter Spielstand via
localStorage(Zustand persist) - Monorepo + Build – pnpm workspaces, Turbo, TypeScript, Vite
- Safety Car Strategie-Entscheidung – SC/VSC-Alert-Banner im StrategyPanel, Reifenempfehlung mit Compound-Vorschlag, Box-Button mit 1-Klick-Einstieg, Tyre-Fresh/Too-Late-Hinweise
- Team Radio / Fahrerfunk – automatische Funk-Nachrichten bei SC-Phase, Boxenstopp, Reifenwarnung, Überholmanöver, DNF, Fastest Lap und Lap-Countdown (5/3/1); Nachrichten im Event-Feed als cyan-farbige Radio-Einträge
- Fahrer-Persönlichkeiten – 5 Archetypen (Aggressiv, Methodisch, Teamplayer, Egozentrisch, Veteran); Persönlichkeit beeinflusst Radio-Dialog-Flavor und ist im Fahrerprofil sichtbar
- Steward-System – Post-Race-Untersuchungen nach Überholmanoövern und Boxenfehlern; 4 Verdikt-Typen (NFA, 5s-Strafe, Verwarnung, Drive-Through); Modal nach Rennende blockiert Abschluss bis Anerkennung
- Championships-Battle Visualisierung – WM-Snapshot mit Momentum-Indikator (letzte 3 Rennen), Verbleibende-Rennen + Max-Punkte-Berechnung, bis zu 3 Rivalen-Gaps, „Titelkampf offen" / „Führt die WM"-Narrativ
- Achievements-System – 12 persistente Erfolge (Podium, Sieg, Hattrick, Champion, Clean Season, Budget Baron…), Fortschrittsanzeige, Unlock-Toast-Benachrichtigung, eigene Achievements-Seite im Navigationsmenü
- Detaillierte Auto-Entwicklung – Forschungsdialog mit Fokus-Wahl (Performance / Ausgewogen / Zuverlässigkeit) und Risiko-Stufe (Konservativ / Normal / Aggressiv); Live-Vorschau auf Performance-/Reliability-Gain und Kosten; Abbruch mit Teilrückerstattung; Kosten-/Ressourcen-Anzeige auf Komponentenkarten
- F&E-Slot-Limit über Fabrik-Level – gleichzeitige Upgrades sind begrenzt; mehr Slot-Kapazität durch Fabrik-Ausbau (UI zeigt belegte/maximale Slots, Forschung bei vollem Slot-Limit gesperrt)
- Reservefahrer-Auswahl verbessert – FP1/Reserve-Dropdown zeigt Fahrerqualität direkt (GES/POT/Alter) und fokussiert auf Team + Academy; Free Agents sind dort entfernt
- Academy-Beförderung ins Stammteam – Academy-Fahrer können mit Vertragsangebot direkt auf ein Renncockpit befördert werden (Seat-Swap, Signing-Bonus, Budget-/Gehaltseffekt, freigesetzter Fahrer wird teamlos)
- Saison-Historie – Saisonrückblick nur noch nach letztem Rennen im Dashboard sichtbar; vollständige Historie aller Saisons auf eigener „Historie"-Seite inkl. 6 Stat-Kacheln je Saison (Position, Punkte, Siege, Podien, Schnellste Runden, DNFs)
- Historische Strecken – 39 Strecken im Pool (22 aktuelle + 17 historische: Hockenheimring, Istanbul, Nürburgring, Magny-Cours, Estoril, Adelaide, Sepang, Mugello, Portimão, Paul Ricard, Buddh, Kyalami, Buenos Aires, Jerez, Brands Hatch, Lusail, Yas Marina); Saisongenerator wählt jede Saison per Seed 22 aus dem Pool – jede Saison hat einen anderen Kalender
- Teile-Management – 5 physische Fahrzeugteile (Power Unit, Getriebe, Frontflügel, Unterboden, Bremsen) verschleißen nach jedem Rennen; Verschleiß-Schwellen (60/40/20%) beeinflussen Zuverlässigkeit und Performance; DNF verursacht Zusatzverschleiß; Spieler kann Teile gegen Kosten tauschen; eigene Seite mit Verschleiß-Balken, Zustandsanzeige und Budget-Check
- Interaktive Freie Trainings – FP1/FP2/FP3 als eigene Sessions: Spieler stellt Setup ein (Flügelstand, Federung, Bremsbias), wählt Stint-Typ (Quali-Sim / Renntempo / Setup-Arbeit) und Rundenzahl; Strecken-Idealsetup aus Streckencharakteristika; nach jedem Stint Feedback und Rundenzeit; Setup-Score beeinflusst Fahrerwertung und Rennperformance
- Fahrerattribute in FP/Quali rebalanced – Pace-Einfluss reduziert (0→100 ≈ 3s statt 5s); zusätzlich wirken
Konstanz,DruckresistenzundRegen-Performancedirekt auf FP-/Quali-Rundenzeiten - Car-Performance in FP/Quali an Race-Skalierung angeglichen – Einfluss der Team-Autoleistung in FP/Qualifying auf ~5s Spreizung (0↔100) rebalanced; verhindert überzogene Quali-Abstände bei gleicher Race-Balance
- Startreaktion & Fitness im Rennen verdrahtet –
startReactionbeeinflusst den Launch in den ersten Metern nach dem Start;fitnessLevelbeeinflusst den späten Renn-Stint (Late-Race-Fade bei niedriger Fitness, leichter Endphasenbonus bei hoher Fitness) - Setup-/Alt-Reifen-UI klarer – Label
Fahrerwertungwurde zuSetup-Vertrauenumbenannt; Alt-Satz-Auswahl wird als eindeutige Chips (Alt #n (xx%)) ohne Zeilenumbruchs-Artefakte angezeigt - Race-Spread rebalanced – Car-Performance-Skalierung in der Tick-Simulation reduziert; der Pace-Spread zwischen sehr schwachen und sehr starken Autos ist pro Runde deutlich kleiner (Target-Bereich ~5s statt extremer Ausreißer)
- High-Speed-Race-UX stabilisiert – bei hohen Geschwindigkeiten (
15x/30x) werden Worker-Updates gebündelt statt jeden Tick zu rendern; reduziert UI-Lag und harte Rekalibrierungs-Sprünge beim Zurückschalten - Kommentator-Stil im Event-Feed – Rennereignisse (Überholmanöver, Boxenstopps, Fastest Lap, DNF, SC/VSC, Zieleinlauf) werden in dynamischer, kommentatorähnlicher Sprache dargestellt
- FP-Idealsetup-Heuristik rebalanced – Schwellen für Flügel/Federung wurden verbreitert (
Hoch/Hartnur bei wirklich extremen Streckenwerten), sodassMitteldeutlich häufiger als realistischer Zielbereich auftaucht - FP-Topbar-Aktion vereinheitlicht – primäre Abschlussaktion heißt oben rechts konsistent
Speichern & Weiter; der separate Abschluss-Button im unteren Session-Over-Banner entfällt - Interaktives Qualifying (Q1/Q2/Q3) – echtes Eliminationsformat: Spieler entscheidet wann Fahrer eine schnelle Runde drehen, wählt Compound; Streckenentwicklung verbessert Zeiten über Session; „In Gefahr"-Warnung wenn in Bottom-5; Leaderboard mit allen 20 Fahrern; eliminierte Fahrer werden grau
- Qualifying-Track-Evolution rebalanced – Streckenentwicklung ist jetzt phasenbasiert gedeckelt: Q1 baut nur begrenzt Grip auf, Q2 erhöht weiter, Peak wird erst in Q3 erreicht (kein Full-Evolution mehr schon in Q1)
- Live-Session-Entwicklung in FP & Qualifying – dynamische Streckenentwicklung, Live-Temperatur-/Wetter-Shift und mehrere KI-Runs pro Fahrer je Session/Phase; Rundenzeiten reagieren live auf Evolution, Temperatur und Nässe
- Session-Timing rebalanced – FP/Qualifying laufen in realistischerer Zeitskala (1x nicht mehr überbeschleunigt), Qualifying startet pausiert
- Live-Stintzeiten im FP – während laufender Stints werden Rundenfortschritt, letzte Runde und aktuelle Bestzeit live angezeigt (statt erst nach Stint-Ende)
- Qualifying-Grid-Konsistenz – finale Startaufstellung folgt sauber der Q3/Q2/Q1-Eliminationsreihenfolge; Dashboard-Quali-Entry nutzt die dedizierte Qualifying-Session-Route
- Pre-Race Autoteile korrigiert – „Autoteile“-Panel nutzt jetzt echte
raceParts-Verschleißwerte (pro Auto) statt abgeleiteter/fiktiver Zuverlässigkeitswerte - Wetterintelligente Reifenlogik im Rennen – KI passt Boxenreifen bei Wetter-Mismatch automatisch an (kein Slick bei Regen / kein Wet auf trockener Strecke); Auto-Pit-Assist nutzt wetterabhängige Compound-Empfehlung
- Live-Wetterwarnungen im Rennen – deutlicher Hinweis bei Wetterumschwung sowie Warnbanner bei falscher Reifenwahl der Spielerautos inkl. aktueller Reifenempfehlung
- Stabile Car-Slots im Rennen – Auto 1/Auto 2 bleiben im Strategiepanel fest dem jeweiligen Fahrer-Sitz zugeordnet und wechseln nicht mehr mit der Live-Position
- Korrekte Fahrtrichtung auf Streckenkarten – Circuit-Map berücksichtigt reale Streckenrichtung (Uhrzeigersinn/Gegenuhrzeigersinn) und invertiert SVG-Progression automatisch, wenn die Pfadrichtung nicht zur Strecke passt; Richtungen für aktuelle + historische Strecken anhand F1DB-Circuitdaten gepflegt
- Start/Ziel-Referenz auf Circuit-Map – Fahrzeugpositionen sind auf eine Start/Ziel-Progression normalisiert; auch bei invertierter Streckenrichtung startet
t=0konsistent auf der Startlinie statt am SVG-Endpunkt - Race läuft über Seitenwechsel weiter – beim Wechsel von Race zu HQ/anderen Seiten wird die laufende Simulation nicht mehr neu gestartet; Re-Entry nutzt denselben aktiven Race-Worker
- Race-Start robuster gemacht – Guard gegen Hängenbleiben beim Simulationsstart (Timeout auf ersten Worker-Tick), klare Fehlermeldung + Retry-Button statt dauerhaftem „wird gestartet…“
- Dynamischer Fahrernamen-/Nationalitäten-Pool – Fahrer werden pro Saison aus separaten Vor-/Nachnamen- und Nationalitäten-Pools kombiniert (keine starren Nationalitäten-Paare mehr)
- F&E-Rebalance: komponentenspezifisch + Season-Cap – Upgrades erhöhen primär die betroffenen Fahrzeugbereiche (Power/High-Speed/Aero/Mechanical) statt pauschal den Gesamtwert;
carPerformancewird aus dem Profil abgeleitet. Zusätzlich limitieren harte In-Season-Caps den maximalen Fortschritt pro Saison (Performance, Reliability und Profil-Achsen) - HQ-Tab & Facility-Effekte – Nav-Tab „Personal" umbenannt zu „HQ"; jede Facility-Karte zeigt aktuellen Level-Effekt (grün) und Vorschau auf nächsten Level (grau): Fabrik (+Dev-Zuverlässigkeit), Windkanal (+Dev-Performance), Simulator (+FP-Wissensgain), Medical (+Fahrerregeneration), Pit-Crew (−Boxenstoppzeit); Simulator-Level wired in FP-Stintwissen-Berechnung (+10% pro Level)
- Qualifying-Live-Runs statt Sofortzeit – „Schnelle Runde“ startet jetzt einen echten Run mit Outlap/Flying-Lap/Inlap; Zeit wird erst auf der fliegenden Runde gesetzt, danach Inlap/Run-Ende
- Q2/Q3 mit frischen Rundenzeiten – beim Phasenwechsel werden Zeiten der weitergekommenen Fahrer zurückgesetzt; Q2/Q3-Ranking basiert damit nur auf in der jeweiligen Phase gefahrenen Runden
- Präzisere Lap-Crossing-Zeiten im Rennen – Rundenzeiten werden beim Überfahren der Linie innerhalb des Ticks interpoliert statt auf ganze Sekunden quantisiert; Fastest-Lap-Events zeigen damit realistische Millisekundenwerte
- FP-Reifenwahl um Inter/Wet erweitert – in freien Trainings sind jetzt neben Slicks auch Intermediate und Wet direkt auswählbar (inkl. Neu/Alt-Logik und Satzverfügbarkeit)
- FP-Zeitentabelle erweitert – Ergebnisliste zeigt zusätzlich den Reifen der Bestzeit und die bisher gefahrenen Runden pro Fahrer
- Grid-Startabstand erhöht – Fahrzeuge starten mit physischem Distanzversatz statt alle auf exakt 0 m, wodurch Überlagerungen am Start reduziert werden
- ERS-Quali-Modus aus Race-Strategie entfernt – im Rennen sind nur
Laden,Ausgewogen,Angriffauswählbar - Kommentatorstil im Event-Feed sichtbarer – Race-Events werden explizit mit Kommentator-Voice dargestellt (Overtakes, Fastest Lap, Box, DNF)
- Mehr Platz in FP/Quali/Race – Seiten-Navigation wird auf allen
/race/*Views ausgeblendet - Reglement-Kürzung als echte Saisoneffekt-Ressource – bei angenommener CFD/Windkanal-Kürzung werden
cfdCapacityPerWeekundwindTunnelHoursPerWeekfür die gesamte Folgesaison real um 10% reduziert (inkl. verfügbarer Wochenressourcen) - HQ-Kosten- und i18n-Verbesserung – Facility-Karten zeigen vor dem Upgrade jetzt Kosten + Bauzeit; harte EN-Texte wurden lokalisiert (inkl. Reifenallokations-Buttons und Effekttexte)
- Reifen-Pace-Fenster pro Compound – Reifen verlieren zu Stintbeginn keine degradationsbedingte Pace; der Pace-Abfall startet erst nach einem Compound-spezifischen Stabilitätsfenster (Soft früher, Hard später) und wird gegen Stintende deutlich steiler
- Echte Reifenallokation pro Rennwochenende – Reifenallokation speist jetzt ein persistentes Satz-Inventar je Race-Weekend; FP-Stints, Quali-Runs und Race-Reifenwahl verbrauchen daraus echte Sätze (inkl. Verfügbarkeitsanzeige/Disable bei 0)
- Gebrauchte Reifensätze wiederverwendbar – in FP/Quali eingesetzte Sätze wandern als „alt“ zurück in den Wochenend-Pool und können später erneut eingesetzt werden; UI zeigt verfügbare Alt-Sätze pro Compound
- Explizite Satzwahl (Neu/Alt) – in FP, Qualifying und im In-Race-Strategiepanel kann je Auto festgelegt werden, ob nur neue oder gezielt alte Reifensätze verwendet werden
- Alt-Auswahl nur bei Verfügbarkeit – die Option
Altist je Auto deaktiviert, wenn kein gebrauchter Satz verfügbar ist; Aktionen fallen in dem Fall automatisch aufNeuzurück - Alt-Reifen als Einzelsätze auswählbar – bei
Altkönnen in FP/Qualifying einzelne gebrauchte Sätze pro Compound anhand ihrer konkreten Abnutzung (#1 · xx%,#2 · yy%) ausgewählt werden - Alt-Modus zeigt nur verfügbare Compounds – bei aktivem
Altwerden Compounds ohne gebrauchte Sätze ausgeblendet - Alt-Reifen-Zustand sichtbar – gebrauchte Sätze zeigen jetzt zusätzlich einen ungefähren Verschleißwert in Prozent (
~xx%) direkt bei der Compound-Auswahl - Live-Reifenabbau nutzt Streckencharakteristik –
low/medium/high/extremeaus den Circuit-Daten wirkt jetzt direkt im Tick-basierten Rennverschleiß (nicht mehr nur in Pre-Race-Prognosen/KI-Heuristiken) - Echte Reifensätze statt Durchschnittsmodell – Wochenend-Reifen werden als einzelne Sätze mit eigener Abnutzung geführt; Alt-Satz-Prozente werden als konkrete Liste angezeigt und beim erneuten Einsatz fortgeschrieben
- Reifensatz-Sperren bis Session-Ziel – vor Q3 bleibt 1x Soft reserviert; bis Rennstart bleiben 1x Medium + 1x Hard reserviert (zentral im Store erzwungen)
- Fahrzeuggetrennte Reifenallokation – Reifensätze werden pro Auto (
car1/car2) geführt; Verbrauch, Alt-Sätze und Verfügbarkeit sind je Fahrzeug getrennt - Race-Pit-Abbuchung nach echtem Stopp – reservierte Reifensätze werden erst nach abgeschlossenem Boxenstopp final abgebucht und die UI-Auswahl pro Auto zurückgesetzt
- Exakter Alt-Satz beim Boxenstopp – wenn ein konkreter gebrauchter Satz gewählt wurde, wird genau dieser Satz (nicht ein anderer) nach dem Stopp final verbraucht
- FP-Reifensätze werden selektiv am Session-Ende entfernt – in FP genutzte/angebrochene Sätze bleiben während des laufenden FP nutzbar; beim Beenden von FP werden pro Fahrzeug die 2 am stärksten abgenutzten Sätze aus der Wochenend-Allokation entfernt
- Q3-Reserve bleibt bei Nichtnutzung erhalten – ein für Q3 reservierter Soft-Satz wird nur bei tatsächlichem Run verbraucht; ungenutzte Q3-Sätze bleiben fürs Rennen verfügbar
- Erweitertes FP-Setup – zusätzliche Setup-Achsen
DifferentialundRide Heightmit idealer Streckenableitung, Score-Einfluss und Feedback - Reifenplatzer-Risiko bei hohem Verschleiß – ab ~80% steigt die DNF-Wahrscheinlichkeit tick-basiert mit Verschleiß, Compound und Stintlänge
- Prisma Schema + DB – vollständige Datenbank-Anbindung
- Cloud-Saves, geräteübergreifendes Spielen, globale Bestenlisten
- Bis zu 10 Spieler pro Saison, server-seitige Simulation
- Alle Teams schauen gleichzeitig dasselbe Rennen, Echtzeit-Broadcast
| Bereich | Technologie |
|---|---|
| Frontend | Vite + React 19 + TypeScript |
| Routing | React Router v7 |
| Styling | Tailwind CSS + shadcn/ui |
| i18n | i18next (Deutsch + Englisch) |
| State | Zustand |
| Server-Daten | TanStack Query |
| Animationen | Motion (Framer Motion v12) |
| Race Map | Canvas 2D API |
| Backend | Node.js + Fastify + TypeScript |
| Datenbank | PostgreSQL + Prisma |
| Cache / Realtime | Redis + Socket.io |
| Mobile (Phase 3+) | Capacitor 7 |
# Abhängigkeiten installieren
pnpm install
# Entwicklungsserver starten (Web + Server parallel)
pnpm dev
# Tests laufen lassen
pnpm test
# Produktions-Build
pnpm build- Monorepo-Deployment ist auf die Web-App vorkonfiguriert (
vercel.json): - Build:
pnpm --filter @f1manager/web build - Output:
apps/web/dist - SPA-Rewrite aktiv (
/(.*) -> /index.html) für clientseitige Routes wie/season/results/:id - Hinweis: Der Web-Produktionsbuild nutzt aktuell
vite build(ohne blockierendestsc -b). TypeScript-Prüfung läuft separat überpnpm --filter @f1manager/web typecheck.
f1manager/
├── apps/
│ ├── web/ # Vite + React SPA
│ └── server/ # Fastify API + Race-Orchestrator
├── packages/
│ ├── engine/ # Simulationsengine (pure TypeScript)
│ ├── types/ # Geteilte TypeScript-Interfaces
│ └── ui/ # Geteilte UI-Komponenten
└── docs/
└── ARCHITECTURE.md
Vollständige Architektur-Dokumentation: docs/ARCHITECTURE.md