id: 42c9f004d93b4191811e20ee99f0509d
parent_id: 692c2a0b4665469887abcb369c3cc115
item_type: 1
item_id: 6c0dcb2a567348fd9796f50c790082e4
item_updated_time: 1780578650437
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"*v0.\"],[-1,\"4.1\"],[1,\"5.0\"],[0,\" — R\"],[-1,\"emote operation support, PCARS + AC parsers, TUI\"],[1,\"EST API, Recording Manager, auto-start sessions\"],[0,\"** |\"]],\"start1\":508,\"start2\":508,\"length1\":63,\"length2\":62},{\"diffs\":[[0,\"ion (v0.\"],[-1,\"4.1\"],[1,\"5.0\"],[0,\")\\\n\\\n| Env\"]],\"start1\":594,\"start2\":594,\"length1\":19,\"length2\":19},{\"diffs\":[[0,\"t) | — |\"],[1,\"\\\n| `RUSTY_TELEMETRY_API_PORT` | REST API server port | `8080` |\"],[0,\"\\\n\\\n**Same\"]],\"start1\":944,\"start2\":944,\"length1\":16,\"length2\":79},{\"diffs\":[[0,\"ent loop\"],[1,\" + auto-recording)\\\n│   ├── api.rs                     (REST API server — axum, recording CRUD, live telemetry)\\\n│   ├── recording.rs               (recording session manager — manifest, UUID dirs, CRUD\"],[0,\")\\\n│   ├─\"]],\"start1\":1746,\"start2\":1746,\"length1\":16,\"length2\":216},{\"diffs\":[[0,\"ime \"],[-1,\"data dumps)\\\n    └── <session>/\"],[1,\"recording data)\\\n    └── <uuid>/\\\n        ├── manifest.json\"],[0,\"\\\n   \"]],\"start1\":2470,\"start2\":2470,\"length1\":38,\"length2\":65},{\"diffs\":[[0,\"- **1.6 \"],[1,\"REST API + Recording Manager — IMPLEMENTED IN v0.5.0**\\\n  - [x] `recording.rs` — RecordingManager with UUID-based session directories\\\n  - [x] `manifest.json` per recording with metadata (game, track, car, use_case, status, timestamps, feed stats)\\\n  - [x] Auto-start recording on launch\\\n  - [x] CRUD operations: create, list, get, stop, delete recordings\\\n  - [x] `api.rs` — REST API server using axum on configurable port (default 8080)\\\n  - [x] Live telemetry endpoint (`GET /api/live`) with feed snapshots\\\n  - [x] Recording management endpoints (list, create, stop, get, delete)\\\n  - [x] Raw feed binary download (`GET /api/recordings/{id}/data/{feed_name}`)\\\n  - [x] CORS enabled (permissive) for frontend integration\\\n  - [x] New dependencies: axum 0.8, axum-extra 0.10, serde 1, serde_json 1, uuid 1, tower-http 0.6\\\n  - [x] Updated README.md with REST API docs, recording docs, updated architecture\\\n  - [ ] Add API integration tests\\\n  - [ ] Add recording manager unit tests\\\n\\\n- **1.7 \"],[0,\"Workspac\"]],\"start1\":5201,\"start2\":5201,\"length1\":16,\"length2\":998},{\"diffs\":[[0,\"ve | — |\"],[1,\"\\\n| `RUSTY_TELEMETRY_API_PORT` | REST API server port | `8080` |\"],[0,\"\\\n\\\n### Po\"]],\"start1\":6956,\"start2\":6956,\"length1\":16,\"length2\":79},{\"diffs\":[[0,\" continues\\\n\\\n\"],[1,\"### REST API — Port 8080 (IMPLEMENTED v0.5.0)\\\n- Axum HTTP server with CORS enabled\\\n- `GET /api/live` — live telemetry snapshot (all feeds: health, frequency, speed, RPM, gear, inputs, lap time)\\\n- `GET /api/recordings` — list all recordings\\\n- `POST /api/recordings` — start new recording (JSON: name, game, track, car, use_case, notes — all optional)\\\n- `POST /api/recordings/stop` — stop active recording\\\n- `GET /api/recordings/{id}` — get recording manifest\\\n- `POST /api/recordings/{id}/stop` — stop specific recording\\\n- `DELETE /api/recordings/{id}` — delete recording (removes directory)\\\n- `GET /api/recordings/{id}/data/{feed_name}` — download raw feed binary\\\n- `GET /api/use-cases` — list valid use cases (shift_points, racing_line, braking_analysis, lap_times, sector_analysis, track_map, general)\\\n- `GET /api/games` — list supported games (assetto_corsa, assetto_corsa_competizione, project_cars_1, project_cars_2)\\\n\\\n\"],[0,\"### Port 500\"]],\"start1\":8056,\"start2\":8056,\"length1\":24,\"length2\":946},{\"diffs\":[[0,\"andshake\"],[1,\", auto-start recording\"],[0,\"\\\n\\\n**Remo\"]],\"start1\":9414,\"start2\":9414,\"length1\":16,\"length2\":38},{\"diffs\":[[0,\"ge Log\\\n\\\n\"],[1,\"### v0.5.0 (2026-06-04) — REST API + Recording Manager\\\n\\\n**New Features:**\\\n- REST API server (axum) on configurable port (default 8080) for recording management and live telemetry\\\n- Recording session manager with UUID-based directories and JSON manifests\\\n- Auto-start recording on launch\\\n- Live telemetry endpoint with per-feed snapshots (health, frequency, speed, RPM, gear, inputs, lap time)\\\n- Recording CRUD: create, list, get, stop, delete via REST API\\\n- Raw feed binary download endpoint\\\n- Use case taxonomy (shift_points, racing_line, braking_analysis, lap_times, sector_analysis, track_map, general)\\\n- CORS enabled for frontend integration\\\n\\\n**New Modules:**\\\n- `src/api.rs` (321 lines) — REST API server with axum\\\n- `src/recording.rs` (298 lines) — Recording session manager\\\n\\\n**New Dependencies:**\\\n- axum 0.8, axum-extra 0.10, serde 1 (derive), serde_json 1, uuid 1 (v4, serde), tower-http 0.6 (cors)\\\n\\\n**Documentation:**\\\n- Updated README.md with REST API docs, recording docs, updated architecture, TUI example at v0.5.0\\\n\\\n\"],[0,\"### v0.4\"]],\"start1\":9763,\"start2\":9763,\"length1\":16,\"length2\":1043},{\"diffs\":[[0,\" v0.\"],[-1,\"4.1: Remote operation support, README documentat\"],[1,\"5.0: REST API, recording manager, auto-start sess\"],[0,\"ion\"],[1,\"s\"],[0,\"*\\\n*Next:\"],[1,\" add API/recording tests,\"],[0,\" ver\"]],\"start1\":12957,\"start2\":12957,\"length1\":67,\"length2\":94}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-06-04T13:18:01.960Z
created_time: 2026-06-04T13:18:01.960Z
type_: 13