Befehle in die Simulation schicken #129
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
thomas_knaus/RaceEngineer#129
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Erster Anwendungsfall ist
Bitte erstelle eine Brücke zwischen unserer generativen Sprachsteuerung und der iRacing Write-Back API (
PitCommandExecutor), die wir bereits konzipiert haben. Wir benötigen eineniRacing_PitIntentParser.Logik & Architektur:
Beispiel-Antwort von Qwen:
"Copy, Box diese Runde, 40 Liter und linke Reifen. Out.
PitIntentParserin unserem System fängt die Antwort ab, filtert das JSON heraus, schickt den normalen Text an die TTS-Engine (Kokoro) und leitet die JSON-Parameter an den nativen Rustirsdk_BroadcastPitCommandweiter.irsdk_PitCommand_Fuel,irsdk_PitCommand_LF, etc.), um das Auto entsprechend dem JSON zu konfigurieren.Hier ist dein Master‑Prompt für das komplette Feature, sauber in drei Ebenen gegliedert: Game‑Screens, Race‑Engineer‑Screen und die eigentliche PitIntent‑Pipeline.
Master‑Prompt: „Simulationssensitiver PitIntentParser + Hotkey‑Brücke für iRacing, ACC, AC Evo und F1“
Bitte implementiere das neue Feature
PitIntentParserals simulationssensitiven Brückenmechanismus zwischen unserer generativen Sprachsteuerung (Qwen) und den Pit/Pit‑Setup‑Systemen der jeweiligen Simulationen. Das Feature besteht aus drei Teilen:Teil 1: Erweiterung der Game‑Screens (Hotkey‑Konfiguration pro Simulation)
Ziel:
Jede Simulation, die keine Write‑Back API besitzt (ACC, AC Evo, F1), bekommt einen eigenen Konfigurations‑Screen, in dem der Nutzer die relevanten Hotkeys hinterlegt. iRacing benötigt keine Erweiterung, da dort die native Write‑Back API genutzt wird.
Umsetzung:
Erweitere die Game‑Settings‑Screens für:
Für jede dieser Sims einen Abschnitt „Pit & Setup Hotkeys“ hinzufügen mit folgenden Feldern:
F1:
ACC / AC Evo:
Speichere diese Hotkeys zentral im
GameStatebzw. in einerHotkeyConfig:Hinweis im jeweiligen Game‑Screen:
„Diese Hotkeys müssen exakt den In‑Game‑Keybinds entsprechen, damit der PitIntentParser das MFD/Pit‑Menü korrekt steuern kann.“
Teil 2: Erweiterung des Race‑Engineer‑Screens (Feature‑Panel + Warnung)
Ziel:
Der Race‑Engineer‑Screen bekommt ein eigenes Panel für das Feature
PitIntentParser, inklusive Status‑Anzeige und klarer Warnung, dass die Funktion für ACC/AC Evo/F1 nur mit gepflegten Hotkeys funktioniert.Umsetzung:
Neues Panel im Race‑Engineer‑Screen:
„Pit Intent / Voice‑Pitstop“
Anzeige‑Elemente:
Warnhinweis im Panel (deutlich sichtbar):
„Achtung: Für ACC, AC Evo und F1 müssen die Pit‑ und Setup‑Hotkeys im jeweiligen Game‑Screen gepflegt werden. Ohne korrekte Hotkeys kann das System das MFD/Pit‑Menü nicht automatisch steuern.“
Optional: Checkbox im Race‑Engineer‑Screen:
(globales Feature‑Toggle)
Teil 3: PitIntentParser – Qwen‑Brücke, JSON‑Parsing, iRacing‑Write‑Back & ACC/F1‑Hotkey‑Sequenzen
Ziel:
Ein zentrales Feature, das Qwen‑Antworten auswertet, JSON‑Intents extrahiert, TTS‑Text trennt und je nach Simulation entweder iRacing‑Write‑Back ausführt oder Hotkey‑Sequenzen in ACC/AC Evo/F1 abspielt.
Logik & Architektur:
Qwen‑System‑Prompt‑Erweiterung
Qwen soll bei erkannten Pit‑Instruktionen am Ende seiner Antwort einen JSON‑Block anhängen:
Textbeispiel:
PitIntentParser – zentrale Struktur
iRacing‑Pfad (Write‑Back API)
irsdk_BroadcastPitCommandmit den entsprechenden Flags:irsdk_PitCommand_Fuelirsdk_PitCommand_LF/LR/RF/RR(je nach Logik)irsdk_PitCommand_TireCompoundF1‑Pfad (MFD‑Hotkey‑Sequenzen)
game_state.hotkeys_f1ist gesetzt, sonst keine Aktion und Warnung im GUI.mfd_openmfd_left/mfd_right)front_wing_up/down,rear_wing_up/downauf Zielwert bringenmfd_confirmACC / AC Evo‑Pfad (Pit‑Menü + Setup‑Hotkeys)
game_state.hotkeys_accist gesetzt.pit_menu_openpit_menu_next_compoundpit_menu_fuel_up/downauf Zielwert bringensetup_opensetup_aero_tabsetup_wing_up/downauf Zielwert bringensetup_saveRace‑Engineer‑GUI‑Integration
PitCommandinkl. Simulation und Ausführungsmodus:Registry‑Eintrag
Damit hast du einen Master‑Prompt, der:
Wenn du magst, können wir den jetzt noch in eine „Coding‑Agent‑Version“ übersetzen, die direkt in deinem Repo loslegt.