docs: update README and AGENTS.md for characteristics, tracks, endpoint changes
- Add Car Characteristics and Track Mapping feature sections - Update project structure (8 routes, tracks store, new views) - Update API contract (23 endpoints, add characteristics/tracks/build-track-model) - Add Features and State Management sections to AGENTS.md
This commit is contained in:
parent
9e0b46596e
commit
7bda8b4af1
2 changed files with 37 additions and 7 deletions
19
AGENTS.md
19
AGENTS.md
|
|
@ -46,7 +46,24 @@ Use the `joplin_get_note` tool with note ID `6c0dcb2a567348fd9796f50c790082e4` t
|
||||||
|
|
||||||
## API Communication
|
## API Communication
|
||||||
|
|
||||||
Racecraft communicates exclusively with the rusty-telemetry REST API. In development, Vite proxies `/api/*` to `http://127.0.0.1:8080`. See the rusty-telemetry README for full endpoint documentation.
|
Racecraft communicates exclusively with the rusty-telemetry REST API (23 endpoints). In development, Vite proxies `/api/*` to `http://127.0.0.1:8080`. See the rusty-telemetry README for full endpoint documentation.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Dashboard** — system status, live feed cards, recent sessions
|
||||||
|
- **Live Telemetry** — real-time gauges (speed, RPM, gear, inputs), per-feed status
|
||||||
|
- **Sessions** — create/complete/reopen sessions, start/stop/delete runs, view analysis
|
||||||
|
- **Shift Points** — gear RPM range charts, shift event timeline, recommended shift RPM
|
||||||
|
- **Car Characteristics** — aggregated shift-point profiles per car across all sessions
|
||||||
|
- **Track Mapping** — canvas-rendered track boundaries, persistent track models
|
||||||
|
|
||||||
|
## State Management (Pinia Stores)
|
||||||
|
|
||||||
|
| Store | Purpose |
|
||||||
|
|-------|---------|
|
||||||
|
| `stores/telemetry.ts` | Live telemetry polling + derived status |
|
||||||
|
| `stores/sessions.ts` | Session CRUD, run management, analysis retrieval |
|
||||||
|
| `stores/tracks.ts` | Track model list + detail |
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
|
|
|
||||||
25
README.md
25
README.md
|
|
@ -48,7 +48,7 @@ Web-based sim racing telemetry analysis client. Connects to [rusty-telemetry](ht
|
||||||
- Polling at 250ms for responsive updates
|
- Polling at 250ms for responsive updates
|
||||||
|
|
||||||
### Session Management
|
### Session Management
|
||||||
- Create analysis sessions with use case selection (Shift Points, Track Map, etc.)
|
- Create analysis sessions with use case selection (Shift Points, Track Mapping)
|
||||||
- Start/stop runs within a session to capture telemetry data
|
- Start/stop runs within a session to capture telemetry data
|
||||||
- Complete sessions to trigger automatic analysis
|
- Complete sessions to trigger automatic analysis
|
||||||
- Session detail view with run history and status
|
- Session detail view with run history and status
|
||||||
|
|
@ -59,10 +59,16 @@ Web-based sim racing telemetry analysis client. Connects to [rusty-telemetry](ht
|
||||||
- Recommended shift RPM from aggregated data
|
- Recommended shift RPM from aggregated data
|
||||||
- Detailed shift event table
|
- Detailed shift event table
|
||||||
|
|
||||||
### Track Map
|
### Car Characteristics
|
||||||
|
- Aggregated shift-point profiles per car across all sessions
|
||||||
|
- Expandable car cards showing per-gear RPM/speed ranges
|
||||||
|
- Recommended shift RPM per car
|
||||||
|
|
||||||
|
### Track Mapping
|
||||||
- Canvas-rendered track boundaries from coordinate data
|
- Canvas-rendered track boundaries from coordinate data
|
||||||
- Center line computation from left/right boundary runs
|
- Center line computation from left/right boundary runs
|
||||||
- Boundary legend with point counts
|
- Boundary legend with point counts
|
||||||
|
- Persistent track models with track list and detail views
|
||||||
- Responsive canvas that redraws on window resize
|
- Responsive canvas that redraws on window resize
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
@ -137,19 +143,22 @@ racecraft/
|
||||||
├── src/
|
├── src/
|
||||||
│ ├── main.ts # App bootstrap (Vue + Pinia + Router)
|
│ ├── main.ts # App bootstrap (Vue + Pinia + Router)
|
||||||
│ ├── App.vue # Root layout with navigation
|
│ ├── App.vue # Root layout with navigation
|
||||||
│ ├── router/index.ts # 6 routes with lazy loading
|
│ ├── router/index.ts # 8 routes with lazy loading
|
||||||
│ ├── types/index.ts # TypeScript interfaces matching API JSON shapes
|
│ ├── types/index.ts # TypeScript interfaces matching API JSON shapes
|
||||||
│ ├── api/client.ts # Typed Axios client (all API endpoints)
|
│ ├── api/client.ts # Typed Axios client (all API endpoints)
|
||||||
│ ├── stores/
|
│ ├── stores/
|
||||||
│ │ ├── telemetry.ts # Live telemetry with polling + derived status
|
│ │ ├── telemetry.ts # Live telemetry with polling + derived status
|
||||||
│ │ └── sessions.ts # Session CRUD, run management, analysis
|
│ │ ├── sessions.ts # Session CRUD, run management, analysis
|
||||||
|
│ │ └── tracks.ts # Track model list + detail
|
||||||
│ ├── views/
|
│ ├── views/
|
||||||
│ │ ├── DashboardView.vue # System status, feeds, quick actions
|
│ │ ├── DashboardView.vue # System status, feeds, quick actions
|
||||||
│ │ ├── LiveView.vue # Real-time gauges and telemetry
|
│ │ ├── LiveView.vue # Real-time gauges and telemetry
|
||||||
│ │ ├── SessionsView.vue # Session list with create/delete
|
│ │ ├── SessionsView.vue # Session list with create/delete
|
||||||
│ │ ├── SessionDetailView.vue # Run workflow, complete, analyze
|
│ │ ├── SessionDetailView.vue # Run workflow, complete, analyze
|
||||||
│ │ ├── ShiftPointsView.vue # RPM charts and shift event table
|
│ │ ├── ShiftPointsView.vue # RPM charts and shift event table
|
||||||
│ │ └── TrackMapView.vue # Canvas track map renderer
|
│ │ ├── CharacteristicsView.vue # Car characteristics aggregation
|
||||||
|
│ │ ├── TracksView.vue # Track model list
|
||||||
|
│ │ └── TrackDetailView.vue # Canvas track map renderer
|
||||||
│ ├── components/
|
│ ├── components/
|
||||||
│ │ └── FeedStatus.vue # Reusable feed card with health + telemetry
|
│ │ └── FeedStatus.vue # Reusable feed card with health + telemetry
|
||||||
│ └── assets/
|
│ └── assets/
|
||||||
|
|
@ -160,7 +169,7 @@ racecraft/
|
||||||
|
|
||||||
## API Contract
|
## API Contract
|
||||||
|
|
||||||
Racecraft consumes the rusty-telemetry REST API (19 endpoints). See the [rusty-telemetry README](https://codeberg.org/jhunnius/rusty-telemetry) for full endpoint documentation.
|
Racecraft consumes the rusty-telemetry REST API (23 endpoints). See the [rusty-telemetry README](https://codeberg.org/jhunnius/rusty-telemetry) for full endpoint documentation.
|
||||||
|
|
||||||
Key endpoints used:
|
Key endpoints used:
|
||||||
- `GET /api/live` — polled every 250ms–1000ms for live telemetry
|
- `GET /api/live` — polled every 250ms–1000ms for live telemetry
|
||||||
|
|
@ -168,6 +177,10 @@ Key endpoints used:
|
||||||
- `POST /api/sessions/{id}/runs` / `POST /api/sessions/{id}/runs/{run_id}/stop` — run capture
|
- `POST /api/sessions/{id}/runs` / `POST /api/sessions/{id}/runs/{run_id}/stop` — run capture
|
||||||
- `POST /api/sessions/{id}/complete` — complete session and trigger analysis
|
- `POST /api/sessions/{id}/complete` — complete session and trigger analysis
|
||||||
- `GET /api/sessions/{id}/analysis` — retrieve analysis results
|
- `GET /api/sessions/{id}/analysis` — retrieve analysis results
|
||||||
|
- `GET /api/characteristics/cars` — aggregated car shift-point profiles
|
||||||
|
- `GET /api/characteristics/cars/{car}` — detailed per-gear data for a car
|
||||||
|
- `GET /api/tracks` / `GET /api/tracks/{track}` — track model list and detail
|
||||||
|
- `POST /api/sessions/{id}/build-track-model` — build track model from session
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue