id: 6f1c99569c55487ea92d5f9239395e3f
parent_id: 3e2fc3a261e44d4988ca97e08b31f5ef
item_type: 1
item_id: 50a09627d5d347009197b94bcee90411
item_updated_time: 1782287489189
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"** v0.1.\"],[-1,\"4\"],[1,\"5\"],[0,\"\\\n\\\n---\\\n\\\n#\"]],\"start1\":319,\"start2\":319,\"length1\":17,\"length2\":17},{\"diffs\":[[0,\"r config\"],[1,\" (8 routes)\"],[0,\"\\\n├── sto\"]],\"start1\":932,\"start2\":932,\"length1\":16,\"length2\":27},{\"diffs\":[[0,\"├── \"],[-1,\"TrackMapView.vue       — Track map visualization (session analysis\"],[1,\"CharacteristicsView.vue — Car characteristics aggregation (v0.1.5\"],[0,\")\\\n│ \"]],\"start1\":1699,\"start2\":1699,\"length1\":74,\"length2\":73},{\"diffs\":[[0,\"g build\\\n\"],[1,\"  - Auto-runs `reAnalyze()` before `buildTrackModel()` — v0.1.5\\\n\"],[0,\"  - POST\"]],\"start1\":3291,\"start2\":3291,\"length1\":16,\"length2\":80},{\"diffs\":[[0,\"### \"],[-1,\"Track Map (`/analysis/track-map/:id`)\\\n- Track boundary visualization via Canvas 2D\\\n- Center line overlay\"],[1,\"Car Characteristics (`/characteristics`) — v0.1.5\\\n- Lists all cars with aggregated shift-point profiles from `GET /api/characteristics/cars`\\\n- Expandable car cards showing:\\\n  - Session count, recommended shift RPM\\\n  - Per-gear RPM ranges (min/max) and speed ranges\\\n  - Individual gear rows with gear number, RPM range, speed range\"],[0,\"\\\n\\\n##\"]],\"start1\":3909,\"start2\":3909,\"length1\":112,\"length2\":338},{\"diffs\":[[0,\"v0.1.4 |\"],[1,\"\\\n| `listCarProfiles()` | GET `/api/characteristics/cars` | v0.1.5 |\"],[0,\"\\\n\\\n---\\\n\\\n#\"]],\"start1\":6562,\"start2\":6562,\"length1\":16,\"length2\":83},{\"diffs\":[[0,\"ts`,\"],[-1,\" `track_map`,\"],[0,\" `tr\"]],\"start1\":6749,\"start2\":6749,\"length1\":21,\"length2\":8},{\"diffs\":[[0,\"general`\"],[1,\" (track_map removed in v0.1.5)\"],[0,\"\\\n- `Game\"]],\"start1\":6839,\"start2\":6839,\"length1\":16,\"length2\":46},{\"diffs\":[[0,\"on_g }`\\\n\"],[1,\"- **Car characteristics types (v0.1.5):**\\\n  - `CarProfile` — `{ car_name, session_count, recommended_shift_rpm }`\\\n  - `CarGearProfile` — `{ gear, min_rpm, max_rpm, min_speed_kmh, max_speed_kmh }`\\\n  - `CarProfileDetail` — `{ car_name, gears: CarGearProfile[], recommended_shift_rpm, session_count }`\\\n\"],[0,\"- **Trac\"]],\"start1\":7548,\"start2\":7548,\"length1\":16,\"length2\":315},{\"diffs\":[[0,\"ge Log\\\n\\\n\"],[1,\"### v0.1.5 (2026-06-24) — Characteristics Views, track_map Removal, Auto-Analyze\\\n\\\n**New Features:**\\\n- New view: CharacteristicsView (`/characteristics`) — expandable car cards showing aggregated shift-point profiles\\\n  - `listCarProfiles()` API client function (`GET /api/characteristics/cars`)\\\n  - `CarProfile`, `CarGearProfile`, `CarProfileDetail` TypeScript types\\\n  - Characteristics nav item + route\\\n- Tracks views committed (TracksView, TrackDetailView, tracks store — were uncommitted from v0.1.4)\\\n\\\n**Removed:**\\\n- `track_map` use case from types, views, and router\\\n- `TrackMapView.vue` deleted (superseded by TrackDetailView)\\\n- `TrackProfile` type, `getCarProfile()` and `listTrackProfiles()` API functions (dead code)\\\n\\\n**UX Fix:**\\\n- `handleBuildTrack` in SessionDetailView now auto-runs `reAnalyze()` before `buildTrackModel()` — ensures analysis is current\\\n\\\n**Other:**\\\n- `Game` type values updated to snake_case (`project_cars_1` / `project_cars_2`)\\\n\\\n\"],[0,\"### v0.1\"]],\"start1\":9124,\"start2\":9124,\"length1\":16,\"length2\":974},{\"diffs\":[[0,\"-06-\"],[-1,\"08\"],[1,\"24\"],[0,\" — v0.1.\"],[-1,\"4:\"],[1,\"5: car characteristics view,\"],[0,\" track\"],[-1,\" mapping web client, persistent track model views, track API integration, Canvas 2D geometry rendering\"],[1,\"_map removal, auto-analyze before build track model, tracks views committed, API endpoint count updated (28)\"],[0,\"*\"]],\"start1\":13591,\"start2\":13591,\"length1\":125,\"length2\":157}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-06-24T07:57:22.581Z
created_time: 2026-06-24T07:57:22.581Z
type_: 13