# Racecraft Web-based sim racing telemetry analysis client. Connects to [rusty-telemetry](https://codeberg.org/jhunnius/rusty-telemetry) via its REST API and provides live telemetry visualization, session management, and data analysis. ## Architecture ``` ┌─────────────────────────────────────────────────┐ │ Sim Machine │ │ │ │ ┌──────────────┐ ┌───────────────┐ │ │ │ Assetto │ │ rusty- │ │ │ │ Corsa │──│ telemetry │ │ │ │ (UDP out) │ │ :8080 (API) │ │ │ └──────────────┘ └───────────────┘ │ │ ┌───────────────┐ │ │ │ racecraft │ │ │ │ :5173 (Vite) │ │ │ └───────────────┘ │ └─────────────────────────────────────────────────┘ │ LAN / WiFi │ ┌──────────────────┐ │ Other machine │ │ Browser │ └──────────────────┘ ``` - **rusty-telemetry** listens for UDP telemetry from sim games on ports 9996, 10101, 5606 - **racecraft** is a Vue.js SPA that talks to the rusty-telemetry REST API via a Vite dev proxy - The Vite dev server binds to `0.0.0.0`, making it accessible from other machines on the LAN - API calls (`/api/*`) are proxied to `http://127.0.0.1:8080` ## Features ### Dashboard - System status overview: API server connectivity, sim connection state, active recording - Live feed cards with health indicators, frequency, and telemetry snapshot - Quick access to live telemetry and session management - Recent sessions list ### Live Telemetry - Real-time gauges: speed (km/h), RPM, gear indicator - Throttle and brake input bars - Lap time and track position (spline) - Per-feed status cards with health, frequency, and packet stats - Polling at 250ms for responsive updates ### Session Management - Create analysis sessions with use case selection (Shift Points, Track Map, etc.) - Start/stop runs within a session to capture telemetry data - Complete sessions to trigger automatic analysis - Session detail view with run history and status ### Shift Point Analysis - Gear RPM range visualization (min/avg/max bar chart) - Shift event timeline (RPM before/after each upshift) - Recommended shift RPM from aggregated data - Detailed shift event table ### Track Map - Canvas-rendered track boundaries from coordinate data - Center line computation from left/right boundary runs - Boundary legend with point counts - Responsive canvas that redraws on window resize ## Tech Stack | Layer | Technology | |-------|-----------| | Framework | Vue 3.5 (Composition API, `