diff --git a/server/internal/catalog/seeddefs/seeddefs.go b/server/internal/catalog/seeddefs/seeddefs.go index 0d64f05..f15e848 100644 --- a/server/internal/catalog/seeddefs/seeddefs.go +++ b/server/internal/catalog/seeddefs/seeddefs.go @@ -17,13 +17,23 @@ import "math" // (1/24 scale), power figures are real (full-scale 1.6L V6 hybrid // turbo, ~1000 hp combined MGU-K + ICE). func DefaultTracks() []Track { - return []Track{ + tracks := []Track{ Monaco(), BarcelonaCatalunya(), AustriaRedBullRing(), GreatBritainSilverstone(), BelgiumSpa(), } + for i := range tracks { + for j := range tracks[i].Centerline { + tracks[i].Centerline[j].Y = -tracks[i].Centerline[j].Y + tracks[i].Centerline[j].HeadingRad = -tracks[i].Centerline[j].HeadingRad + } + tracks[i].Bounds = ComputeBounds(tracks[i].Centerline) + tracks[i].LengthM = tracks[i].Bounds.LengthM + tracks[i].WidthM = tracks[i].Bounds.WidthM + } + return tracks } func DefaultCars() []Car { diff --git a/server/internal/races/leaderboard_test.go b/server/internal/races/leaderboard_test.go index bc020e0..456e2cc 100644 --- a/server/internal/races/leaderboard_test.go +++ b/server/internal/races/leaderboard_test.go @@ -294,17 +294,17 @@ func TestLeaderboard(t *testing.T) { t.Fatalf("expected 3 calendar entries, got %d", len(res)) } - // 1. Monaco (finished) - if res[0].TrackID != "monaco" || res[0].Status != "finished" { - t.Errorf("expected monaco (finished), got %s (%s)", res[0].TrackID, res[0].Status) + // 1. Austria (planned) + if res[0].TrackID != "austria-redbull-ring" || res[0].Status != "planned" { + t.Errorf("expected austria-redbull-ring (planned), got %s (%s)", res[0].TrackID, res[0].Status) } // 2. Barcelona (active) if res[1].TrackID != "barcelona-catalunya" || res[1].Status != "active" { t.Errorf("expected barcelona-catalunya (active), got %s (%s)", res[1].TrackID, res[1].Status) } - // 3. Austria (planned) - if res[2].TrackID != "austria-redbull-ring" || res[2].Status != "planned" { - t.Errorf("expected austria-redbull-ring (planned), got %s (%s)", res[2].TrackID, res[2].Status) + // 3. Monaco (finished) + if res[2].TrackID != "monaco" || res[2].Status != "finished" { + t.Errorf("expected monaco (finished), got %s (%s)", res[2].TrackID, res[2].Status) } }) } diff --git a/server/internal/races/seed/seed.go b/server/internal/races/seed/seed.go index dc3e494..bef9ebb 100644 --- a/server/internal/races/seed/seed.go +++ b/server/internal/races/seed/seed.go @@ -30,29 +30,34 @@ var DefaultNow = time.Now var fallbackTracks = []string{"default"} var defaultDriverSeeds = []struct { - nick string - name string + id string + nick string + name string + avatarURL string + clanID string + createdMs int64 + updatedMs int64 }{ - {"ACE", "Alice"}, - {"BOB", "Bob"}, - {"CAR", "Carol"}, - {"DAV", "Dave"}, - {"EVE", "Eve"}, - {"FRA", "Frank"}, - {"GRA", "Grace"}, - {"HEI", "Heidi"}, - {"IVY", "Ivy"}, - {"JAC", "Jack"}, - {"KEN", "Ken"}, - {"LEO", "Leo"}, - {"MAX", "Max"}, - {"NED", "Ned"}, - {"OLI", "Oliver"}, - {"PEP", "Peggy"}, - {"QIN", "Quincy"}, - {"ROY", "Roy"}, - {"SAM", "Sam"}, - {"TED", "Ted"}, + {"driver-seed-001", "BOR", "Gabriel Bortoleto", "https://minio.is1di.ru/x0gp/avatar/gabriel-bortoleto-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584003}, + {"driver-seed-002", "HUL", "Nico Hulkenberg", "https://minio.is1di.ru/x0gp/avatar/nico-hulkenberg-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584007}, + {"driver-seed-003", "ALB", "Alex Albon", "https://minio.is1di.ru/x0gp/avatar/alex-albon-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584008}, + {"driver-seed-004", "SAI", "Carlos Sainz", "https://minio.is1di.ru/x0gp/avatar/carlos-sainz-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584011}, + {"driver-seed-005", "BEA", "Oliver Bearman", "https://minio.is1di.ru/x0gp/avatar/oliver-bearman-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584012}, + {"driver-seed-006", "OCO", "Esteban Ocon", "https://minio.is1di.ru/x0gp/avatar/esteban-ocon-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584014}, + {"driver-seed-007", "LIN", "Arvid Lindblad", "https://minio.is1di.ru/x0gp/avatar/arvid-lindblad-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584018}, + {"driver-seed-008", "LAW", "Liam Lawson", "https://minio.is1di.ru/x0gp/avatar/liam-lawson-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584018}, + {"driver-seed-009", "COL", "Franco Colapinto", "https://minio.is1di.ru/x0gp/avatar/franco-colapinto-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584020}, + {"driver-seed-010", "GAS", "Pierre Gasly", "https://minio.is1di.ru/x0gp/avatar/pierre-gasly-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584023}, + {"driver-seed-011", "STR", "Lance Stroll", "https://minio.is1di.ru/x0gp/avatar/lance-stroll-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584023}, + {"driver-seed-012", "ALO", "Fernando Alonso", "https://minio.is1di.ru/x0gp/avatar/fernando-alonso-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584026}, + {"driver-seed-013", "ANT", "Kimi Antonelli", "https://minio.is1di.ru/x0gp/avatar/kimi-antonelli-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584028}, + {"driver-seed-014", "RUS", "George Russel", "https://minio.is1di.ru/x0gp/avatar/george-russell-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584028}, + {"driver-seed-015", "HAD", "Isack Hadjar", "https://minio.is1di.ru/x0gp/avatar/isack-hadjar-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584031}, + {"driver-seed-016", "VER", "Max Verstappen", "https://minio.is1di.ru/x0gp/avatar/max-verstappen-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584033}, + {"driver-seed-017", "HAM", "Lewis Hamilton", "https://minio.is1di.ru/x0gp/avatar/lewis-hamilton-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584034}, + {"driver-seed-018", "NOR", "Lando Norris", "https://minio.is1di.ru/x0gp/avatar/lando-norris-f1-driver-profile-picture.webp", "clan-seed-003", 1784120584003, 1784120584036}, + {"driver-seed-019", "LEC", "Charles Leclerc", "https://minio.is1di.ru/x0gp/avatar/charles-leclerc-f1-driver-profile-picture.webp", "clan-seed-001", 1784120584003, 1784120584038}, + {"driver-seed-020", "PIA", "Oscar Piastri", "https://minio.is1di.ru/x0gp/avatar/oscar-piastri-f1-driver-profile-picture.webp", "clan-seed-002", 1784120584003, 1784120584039}, } // Default clans. @@ -96,8 +101,8 @@ type Runner struct { // Filled by loadInputs. trackIDs []string - driverIDs []string // driver ids in the order they exist after seed - driverInfo []seedDriver // id, nick, name, clanID, clanTag + driverIDs []string // driver ids in the order they exist after seed + driverInfo []seedDriver // id, nick, name, clanID, clanTag clanByID map[string]string // clan id -> tag (for fast profile updates) } @@ -221,11 +226,11 @@ func (r *Runner) Run(ctx context.Context, opt Options) (Summary, error) { // 3. Race plans. Mix of one-shot and recurring. planShapes := []planShape{ - {intervalS: 0, offsetS: 5 * 60}, // one-shot in 5 min - {intervalS: 60, offsetS: 30 * 60}, // every minute, start in 30 min - {intervalS: 3600, count: 24, offsetS: 60 * 60}, // hourly x24, start in 1h - {intervalS: 0, offsetS: 6 * 3600}, // one-shot in 6h - {intervalS: 86400, offsetS: 24 * 3600}, // daily, start tomorrow + {intervalS: 0, offsetS: 5 * 60}, // one-shot in 5 min + {intervalS: 60, offsetS: 30 * 60}, // every minute, start in 30 min + {intervalS: 3600, count: 24, offsetS: 60 * 60}, // hourly x24, start in 1h + {intervalS: 0, offsetS: 6 * 3600}, // one-shot in 6h + {intervalS: 86400, offsetS: 24 * 3600}, // daily, start tomorrow } for i := 0; i < opt.Counts.Plans && i < len(planShapes); i++ { ps := planShapes[i] @@ -246,7 +251,7 @@ func (r *Runner) Run(ctx context.Context, opt Options) (Summary, error) { func (r *Runner) seedTrackCalendar(ctx context.Context) error { now := r.now - + if len(r.trackIDs) == 0 { return nil } @@ -353,21 +358,15 @@ func (r *Runner) seedDriversAndClans(ctx context.Context) error { return fmt.Errorf("count drivers: %w", err) } if drvCount == 0 { - now := time.Now().UnixMilli() - // Round-robin: each driver assigned to one of the seeded clans. - clanIDs := make([]string, 0, len(defaultClanSeeds)) - for i := range defaultClanSeeds { - clanIDs = append(clanIDs, fmt.Sprintf("clan-seed-%03d", i+1)) - } - for i, ds := range defaultDriverSeeds { + for _, ds := range defaultDriverSeeds { d := drivers.Driver{ - ID: fmt.Sprintf("driver-seed-%03d", i+1), + ID: ds.id, Nickname: ds.nick, Name: ds.name, - AvatarURL: fmt.Sprintf("https://cdn.example.com/drivers/%s.png", ds.nick), - ClanID: clanIDs[i%len(clanIDs)], - CreatedMs: now, - UpdatedMs: now, + AvatarURL: ds.avatarURL, + ClanID: ds.clanID, + CreatedMs: ds.createdMs, + UpdatedMs: ds.updatedMs, } if err := r.driversPg.Create(ctx, d); err != nil { return fmt.Errorf("insert driver %s: %w", ds.nick, err) diff --git a/server/internal/storage/postgres/migrations/002_seed.sql b/server/internal/storage/postgres/migrations/002_seed.sql index 12040a9..ebd452c 100644 --- a/server/internal/storage/postgres/migrations/002_seed.sql +++ b/server/internal/storage/postgres/migrations/002_seed.sql @@ -1,561 +1,582 @@ --- 002_seed.sql — initial system catalog (tracks + cars). --- Generated from internal/catalog/seeddefs via scripts/genseed. --- Idempotent: safe to re-apply (ON CONFLICT DO NOTHING). - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('monaco', 'Monaco', 'Circuit de Monaco. Narrow street circuit, tight hairpins, no room for error.', 'system', 'system', 27, - 3.5500000000000003, 1.1, 0.18, 'tile', 0, 'Verstappen', - 0.4, 1.4, 3.95, 2.5, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 0, 0.4, 2.2, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 1, 1.1, 2.2, 0, 3, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 2, 1.5, 2.05, -0.4, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 3, 1.7, 1.85, -0.9, 2.2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 4, 1.55, 1.55, -1.6, 2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 5, 1.25, 1.4, -2.4, 2.1, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 6, 0.95, 1.55, 3.141592653589793, 1.9, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 7, 0.75, 1.85, 2, 1.8, 2.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 8, 0.95, 2.15, 2.6, 1.8, 2.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 9, 1.2, 2.4, -2.8, 2.1, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 10, 1.6, 2.5, -3, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 11, 2.6, 2.5, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 12, 3.4, 2.5, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 13, 3.6, 2.25, -0.5, 2.6, 1.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 14, 3.55, 1.95, 0.4, 2.6, 1.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 15, 3.3, 1.75, 1, 2.3, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 16, 2.95, 1.55, 1.7, 2.1, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 17, 2.6, 1.65, 2.6, 2.1, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 18, 2.4, 1.9, -2.7, 2.3, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 19, 2.4, 2.2, -3, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 20, 2.6, 2.4, 2.8, 2.5, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 21, 3.2, 2.4, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 22, 3.7, 2.4, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 23, 3.95, 2.3, -0.3, 2.8, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'street') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'tight') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'slow') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'monaco') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('barcelona-catalunya', 'Barcelona-Catalunya', 'Circuit de Barcelona-Catalunya. Mix of high-speed corners and technical chicanes.', 'system', 'system', 27, - 3.75, 2.3000000000000003, 0.18, 'tile', 0, 'Verstappen', - 0.3, 0.4, 4.05, 2.7, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 0, 0.3, 0.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 1, 1.4, 0.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 2, 1.7, 0.65, 1.5707963267948966, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 3, 1.5, 0.95, 3.141592653589793, 2, 2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 4, 1.2, 1.1, 3.4415926535897934, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 5, 0.95, 1, 4.0415926535897935, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 6, 0.8, 1.2, -1.5707963267948966, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 7, 1.05, 1.5, 0, 3.2, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 8, 1.3, 1.65, 1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 9, 1.15, 1.85, 3.141592653589793, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 10, 1.4, 2, 2.641592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 11, 1.7, 2, 2.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 12, 1.95, 2.2, 1.5707963267948966, 2.8, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 13, 1.65, 2.5, 0.3, 2.8, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 14, 2.2, 2.7, 0.7, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 15, 2.8, 2.7, 1.1, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 16, 3.1, 2.5, 1.9707963267948967, 2.2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 17, 2.95, 2.2, 3.541592653589793, 2.2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 18, 3.3, 1.9, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 19, 4, 1.9, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 20, 4.05, 1.6, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 21, 3.8, 1.4, 3.141592653589793, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 22, 3.5, 1.5, 3.9269908169872414, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 23, 3.1, 1.25, -1.9707963267948967, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 24, 2.7, 1, -2.4707963267948965, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 25, 2.3, 0.7, 3.541592653589793, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 26, 1.6, 0.5, 3.3415926535897933, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 27, 0.9, 0.42, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'balanced') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'testing') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'barcelona') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('austria-redbull-ring', 'Austria (Red Bull Ring)', 'Red Bull Ring. Short, fast, three straights separated by hairpins.', 'system', 'system', 27, - 3.5500000000000003, 2, 0.18, 'wood', 0, 'Verstappen', - 0.3, 0.4, 3.85, 2.4, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 0, 0.3, 0.4, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 1, 1.6, 0.4, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 2, 1.85, 0.65, 1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 3, 1.6, 0.95, 3.141592653589793, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 4, 1.3, 1, 3.641592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 5, 1.05, 1.2, -1.5707963267948966, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 6, 1.4, 1.4, 0, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 7, 1.85, 1.4, 1.7707963267948965, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 8, 2.1, 1.65, 3.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 9, 2, 1.85, -1.5707963267948966, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 10, 2.25, 2.05, 0, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 11, 2.4, 2, 1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 12, 2.4, 2.2, 3.141592653589793, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 13, 2.2, 2.3, -1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 14, 2.55, 2.4, -0.2, 3.4, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 15, 3, 2.4, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 16, 3.5, 2.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 17, 3.85, 2.15, 1.7707963267948965, 3.4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 18, 3.6, 1.8, 3.141592653589793, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 19, 3.25, 1.85, 3.741592653589793, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 20, 3, 1.6, -1.9707963267948967, 3.2, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 21, 2.6, 1.4, -3.141592653589793, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 22, 2, 1.2, 2.641592653589793, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 23, 1.4, 0.8, 2.9415926535897934, 3.8, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 24, 0.8, 0.5, 0, 4.2, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'short') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'austria') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('great-britain-silverstone', 'Great Britain (Silverstone)', 'Silverstone Circuit. Fast, flowing corners; home of British motorsport.', 'system', 'system', 27, - 3.5500000000000003, 1.2499999999999998, 0.18, 'carpet', 0, 'Hamilton', - 0.3, 1.8, 3.85, 3.05, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 0, 0.3, 2.8, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 1, 2.4, 2.8, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 2, 2.8, 2.65, -1.5707963267948966, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 3, 2.6, 2.3, -3.141592653589793, 3.4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 4, 2.95, 2.05, -2.0707963267948966, 3.2, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 5, 3.3, 1.8, 0, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 6, 3.6, 1.95, 1.5707963267948966, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 7, 3.6, 2.3, 3.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 8, 3.85, 2.55, 1.5707963267948966, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 9, 3.55, 2.85, 0, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 10, 3.25, 2.85, 1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 11, 3.05, 2.55, -1.8707963267948966, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 12, 2.85, 2.65, -3.141592653589793, 4, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 13, 1.8, 2.8, 0, 4.6, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 14, 1.2, 2.95, 1.7707963267948965, 3.8, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 15, 1, 2.65, 3.541592653589793, 3.6, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 16, 0.7, 2.4, -1.8707963267948966, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 17, 0.5, 2.6, 0, 2.6, 0.9) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 18, 0.7, 2.85, 1.5707963267948966, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 19, 0.45, 3.05, 3.541592653589793, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 20, 0.7, 2.5, -1.1707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 21, 0.5, 2.05, 3.541592653589793, 2.6, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 22, 0.3, 2.4, 1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'flowing') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'silverstone') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('belgium-spa', 'Belgium (Spa-Francorchamps)', 'Spa-Francorchamps. Long, fast, legendary Eau Rouge / Raidillon.', 'system', 'system', 27, - 3.85, 2.25, 0.18, 'carpet', 0, 'Verstappen', - 0.4, 0.5, 4.25, 2.75, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 0, 0.4, 0.5, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 1, 1.6, 0.5, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 2, 1.95, 0.6, 0.3, 4.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 3, 2.2, 0.95, 0.9, 4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 4, 2.1, 1.3, 3.541592653589793, 4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 5, 2.7, 1.5, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 6, 3.5, 1.5, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 7, 3.85, 1.3, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 8, 3.6, 1.1, 3.4415926535897934, 2.6, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 9, 3.3, 1.25, 4.0415926535897935, 2.6, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 10, 3.5, 1.55, 1.5707963267948966, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 11, 3.25, 1.85, 0, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 12, 3.05, 1.7, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 13, 3.25, 1.5, 0, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 14, 3.7, 1.65, 1.8707963267948966, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 15, 4.1, 2, 2.1707963267948966, 4, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 16, 4.25, 2.4, 3.541592653589793, 4.6, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 17, 4, 2.7, -1.8707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 18, 3.7, 2.55, 3.141592653589793, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 19, 3.55, 2.75, 3.8415926535897933, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 20, 3.05, 2.7, -1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 21, 2.85, 2.45, 0, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 22, 2, 2.2, 2.8415926535897933, 3.6, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 23, 1.2, 1.6, 2.541592653589793, 4, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 24, 0.6, 1.05, 2.8415926535897933, 4.4, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'long') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'spa') -ON CONFLICT DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-redbull-rb20', 'Oracle Red Bull Racing RB20', 'system', 'system', 24, - 238, 83, 40, 33, - 'RB20 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 95, '#1e3a8a', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-ferrari-sf24', 'Scuderia Ferrari SF-24', 'system', 'system', 24, - 238, 83, 40, 33, - 'SF-24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU 066/12', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#dc2626', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-mclaren-mcl38', 'McLaren MCL38', 'system', 'system', 24, - 238, 83, 40, 33, - 'MCL38 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#ea580c', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-mercedes-w15', 'Mercedes-AMG W15', 'system', 'system', 24, - 238, 83, 40, 33, - 'W15 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU M15', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#06b6d4', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-astonmartin-amr24', 'Aston Martin Aramco AMR24', 'system', 'system', 24, - 238, 83, 40, 33, - 'AMR24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#16a34a', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - +-- 002_seed.sql — initial system catalog (tracks + cars). +-- Generated from internal/catalog/seeddefs via scripts/genseed. +-- Idempotent: safe to re-apply (ON CONFLICT DO NOTHING). + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('monaco', 'Monaco', 'Circuit de Monaco. Narrow street circuit, tight hairpins, no room for error.', 'system', 'system', 27, + 3.5500000000000003, 1.1, 0.18, 'tile', 0, 'Verstappen', + 0.4, -2.5, 3.95, -1.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 0, 0.4, -2.2, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 1, 1.1, -2.2, -0, 3, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 2, 1.5, -2.05, 0.4, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 3, 1.7, -1.85, 0.9, 2.2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 4, 1.55, -1.55, 1.6, 2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 5, 1.25, -1.4, 2.4, 2.1, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 6, 0.95, -1.55, -3.141592653589793, 1.9, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 7, 0.75, -1.85, -2, 1.8, 2.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 8, 0.95, -2.15, -2.6, 1.8, 2.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 9, 1.2, -2.4, 2.8, 2.1, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 10, 1.6, -2.5, 3, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 11, 2.6, -2.5, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 12, 3.4, -2.5, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 13, 3.6, -2.25, 0.5, 2.6, 1.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 14, 3.55, -1.95, -0.4, 2.6, 1.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 15, 3.3, -1.75, -1, 2.3, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 16, 2.95, -1.55, -1.7, 2.1, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 17, 2.6, -1.65, -2.6, 2.1, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 18, 2.4, -1.9, 2.7, 2.3, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 19, 2.4, -2.2, 3, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 20, 2.6, -2.4, -2.8, 2.5, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 21, 3.2, -2.4, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 22, 3.7, -2.4, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 23, 3.95, -2.3, 0.3, 2.8, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'street') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'tight') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'slow') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'monaco') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('barcelona-catalunya', 'Barcelona-Catalunya', 'Circuit de Barcelona-Catalunya. Mix of high-speed corners and technical chicanes.', 'system', 'system', 27, + 3.75, 2.3000000000000003, 0.18, 'tile', 0, 'Verstappen', + 0.3, -2.7, 4.05, -0.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 0, 0.3, -0.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 1, 1.4, -0.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 2, 1.7, -0.65, -1.5707963267948966, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 3, 1.5, -0.95, -3.141592653589793, 2, 2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 4, 1.2, -1.1, -3.4415926535897934, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 5, 0.95, -1, -4.0415926535897935, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 6, 0.8, -1.2, 1.5707963267948966, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 7, 1.05, -1.5, -0, 3.2, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 8, 1.3, -1.65, -1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 9, 1.15, -1.85, -3.141592653589793, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 10, 1.4, -2, -2.641592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 11, 1.7, -2, -2.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 12, 1.95, -2.2, -1.5707963267948966, 2.8, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 13, 1.65, -2.5, -0.3, 2.8, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 14, 2.2, -2.7, -0.7, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 15, 2.8, -2.7, -1.1, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 16, 3.1, -2.5, -1.9707963267948967, 2.2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 17, 2.95, -2.2, -3.541592653589793, 2.2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 18, 3.3, -1.9, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 19, 4, -1.9, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 20, 4.05, -1.6, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 21, 3.8, -1.4, -3.141592653589793, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 22, 3.5, -1.5, -3.9269908169872414, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 23, 3.1, -1.25, 1.9707963267948967, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 24, 2.7, -1, 2.4707963267948965, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 25, 2.3, -0.7, -3.541592653589793, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 26, 1.6, -0.5, -3.3415926535897933, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 27, 0.9, -0.42, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'balanced') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'testing') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'barcelona') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('austria-redbull-ring', 'Austria (Red Bull Ring)', 'Red Bull Ring. Short, fast, three straights separated by hairpins.', 'system', 'system', 27, + 3.5500000000000003, 2, 0.18, 'wood', 0, 'Verstappen', + 0.3, -2.4, 3.85, -0.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 0, 0.3, -0.4, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 1, 1.6, -0.4, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 2, 1.85, -0.65, -1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 3, 1.6, -0.95, -3.141592653589793, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 4, 1.3, -1, -3.641592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 5, 1.05, -1.2, 1.5707963267948966, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 6, 1.4, -1.4, -0, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 7, 1.85, -1.4, -1.7707963267948965, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 8, 2.1, -1.65, -3.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 9, 2, -1.85, 1.5707963267948966, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 10, 2.25, -2.05, -0, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 11, 2.4, -2, -1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 12, 2.4, -2.2, -3.141592653589793, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 13, 2.2, -2.3, 1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 14, 2.55, -2.4, 0.2, 3.4, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 15, 3, -2.4, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 16, 3.5, -2.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 17, 3.85, -2.15, -1.7707963267948965, 3.4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 18, 3.6, -1.8, -3.141592653589793, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 19, 3.25, -1.85, -3.741592653589793, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 20, 3, -1.6, 1.9707963267948967, 3.2, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 21, 2.6, -1.4, 3.141592653589793, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 22, 2, -1.2, -2.641592653589793, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 23, 1.4, -0.8, -2.9415926535897934, 3.8, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 24, 0.8, -0.5, -0, 4.2, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'short') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'austria') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('great-britain-silverstone', 'Great Britain (Silverstone)', 'Silverstone Circuit. Fast, flowing corners; home of British motorsport.', 'system', 'system', 27, + 3.5500000000000003, 2.4, 0.18, 'carpet', 0, 'Hamilton', + 0.3, -2.65, 3.85, -0.25, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 0, 0.3, -0.3, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 1, 2.4, -0.3, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 2, 2.8, -0.45, -1.5707963267948966, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 3, 2.6, -0.8, -3.141592653589793, 3.4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 4, 2.95, -1.05, -2.0707963267948966, 3.2, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 5, 3.3, -1.3, -0, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 6, 3.6, -1.15, 1.5707963267948966, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 7, 3.6, -0.8, 3.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 8, 3.85, -0.55, 1.5707963267948966, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 9, 3.55, -0.25, -0, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 10, 3.25, -0.25, -1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 11, 3.05, -0.55, -1.8707963267948966, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 12, 2.85, -0.45, -3.141592653589793, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 13, 1.8, -0.3, -0, 4.6, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 14, 1.2, -0.45, 1.7707963267948965, 3.8, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 15, 1, -0.85, 3.541592653589793, 3.6, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 16, 0.7, -1.15, -1.8707963267948966, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 17, 0.5, -0.9, -0, 2.6, 0.9) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 18, 0.7, -0.65, 1.5707963267948966, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 19, 0.45, -0.45, 3.541592653589793, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 20, 0.75, -1, -1.1707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 21, 0.5, -1.5, 3.541592653589793, 2.6, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 22, 0.3, -1.15, 1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 23, 0.7, -1.6, -0.7853981633974483, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 24, 2, -1.95, -1.9707963267948967, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 25, 3, -2.4, -3.3415926535897933, 3.4, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 26, 2.4, -2.65, 1.8707963267948966, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 27, 1.4, -2.6, 3.141592653589793, 4.4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 28, 0.5, -2.3, 2.8415926535897933, 4.8, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 29, 0.3, -1.7, 1.2707963267948965, 5, 0.1) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'flowing') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'silverstone') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('belgium-spa', 'Belgium (Spa-Francorchamps)', 'Spa-Francorchamps. Long, fast, legendary Eau Rouge / Raidillon.', 'system', 'system', 27, + 3.85, 2.25, 0.18, 'carpet', 0, 'Verstappen', + 0.4, -2.75, 4.25, -0.5, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 0, 0.4, -0.5, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 1, 1.6, -0.5, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 2, 1.95, -0.6, -0.3, 4.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 3, 2.2, -0.95, -0.9, 4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 4, 2.1, -1.3, -3.541592653589793, 4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 5, 2.7, -1.5, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 6, 3.5, -1.5, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 7, 3.85, -1.3, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 8, 3.6, -1.1, -3.4415926535897934, 2.6, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 9, 3.3, -1.25, -4.0415926535897935, 2.6, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 10, 3.5, -1.55, -1.5707963267948966, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 11, 3.25, -1.85, -0, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 12, 3.05, -1.7, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 13, 3.25, -1.5, -0, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 14, 3.7, -1.65, -1.8707963267948966, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 15, 4.1, -2, -2.1707963267948966, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 16, 4.25, -2.4, -3.541592653589793, 4.6, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 17, 4, -2.7, 1.8707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 18, 3.7, -2.55, -3.141592653589793, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 19, 3.55, -2.75, -3.8415926535897933, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 20, 3.05, -2.7, 1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 21, 2.85, -2.45, -0, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 22, 2, -2.2, -2.8415926535897933, 3.6, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 23, 1.2, -1.6, -2.541592653589793, 4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 24, 0.6, -1.05, -2.8415926535897933, 4.4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'long') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'spa') +ON CONFLICT DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-redbull-rb20', 'Oracle Red Bull Racing RB20', 'system', 'system', 24, + 238, 83, 40, 33, + 'RB20 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 95, '#1e3a8a', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-ferrari-sf24', 'Scuderia Ferrari SF-24', 'system', 'system', 24, + 238, 83, 40, 33, + 'SF-24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU 066/12', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#dc2626', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-mclaren-mcl38', 'McLaren MCL38', 'system', 'system', 24, + 238, 83, 40, 33, + 'MCL38 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#ea580c', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-mercedes-w15', 'Mercedes-AMG W15', 'system', 'system', 24, + 238, 83, 40, 33, + 'W15 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU M15', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#06b6d4', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-astonmartin-amr24', 'Aston Martin Aramco AMR24', 'system', 'system', 24, + 238, 83, 40, 33, + 'AMR24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#16a34a', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + diff --git a/server/internal/storage/postgres/migrations/003_f1_seed.sql b/server/internal/storage/postgres/migrations/003_f1_seed.sql index 3db1e98..155bfd1 100644 --- a/server/internal/storage/postgres/migrations/003_f1_seed.sql +++ b/server/internal/storage/postgres/migrations/003_f1_seed.sql @@ -4,585 +4,585 @@ DELETE FROM cars WHERE id IN ('compact-1-27-touring', 'compact-1-27-formula'); DELETE FROM tracks WHERE id IN ('oval-classic', 'figure-eight', 'sprint-straight'); --- 002_seed.sql — initial system catalog (tracks + cars). --- Generated from internal/catalog/seeddefs via scripts/genseed. --- Idempotent: safe to re-apply (ON CONFLICT DO NOTHING). - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('monaco', 'Monaco', 'Circuit de Monaco. Narrow street circuit, tight hairpins, no room for error.', 'system', 'system', 27, - 3.5500000000000003, 1.1, 0.18, 'tile', 0, 'Verstappen', - 0.4, 1.4, 3.95, 2.5, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 0, 0.4, 2.2, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 1, 1.1, 2.2, 0, 3, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 2, 1.5, 2.05, -0.4, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 3, 1.7, 1.85, -0.9, 2.2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 4, 1.55, 1.55, -1.6, 2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 5, 1.25, 1.4, -2.4, 2.1, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 6, 0.95, 1.55, 3.141592653589793, 1.9, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 7, 0.75, 1.85, 2, 1.8, 2.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 8, 0.95, 2.15, 2.6, 1.8, 2.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 9, 1.2, 2.4, -2.8, 2.1, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 10, 1.6, 2.5, -3, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 11, 2.6, 2.5, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 12, 3.4, 2.5, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 13, 3.6, 2.25, -0.5, 2.6, 1.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 14, 3.55, 1.95, 0.4, 2.6, 1.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 15, 3.3, 1.75, 1, 2.3, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 16, 2.95, 1.55, 1.7, 2.1, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 17, 2.6, 1.65, 2.6, 2.1, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 18, 2.4, 1.9, -2.7, 2.3, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 19, 2.4, 2.2, -3, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 20, 2.6, 2.4, 2.8, 2.5, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 21, 3.2, 2.4, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 22, 3.7, 2.4, 0, 3.2, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('monaco', 23, 3.95, 2.3, -0.3, 2.8, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'street') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'tight') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'slow') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'monaco') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('barcelona-catalunya', 'Barcelona-Catalunya', 'Circuit de Barcelona-Catalunya. Mix of high-speed corners and technical chicanes.', 'system', 'system', 27, - 3.75, 2.3000000000000003, 0.18, 'tile', 0, 'Verstappen', - 0.3, 0.4, 4.05, 2.7, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 0, 0.3, 0.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 1, 1.4, 0.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 2, 1.7, 0.65, 1.5707963267948966, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 3, 1.5, 0.95, 3.141592653589793, 2, 2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 4, 1.2, 1.1, 3.4415926535897934, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 5, 0.95, 1, 4.0415926535897935, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 6, 0.8, 1.2, -1.5707963267948966, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 7, 1.05, 1.5, 0, 3.2, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 8, 1.3, 1.65, 1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 9, 1.15, 1.85, 3.141592653589793, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 10, 1.4, 2, 2.641592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 11, 1.7, 2, 2.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 12, 1.95, 2.2, 1.5707963267948966, 2.8, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 13, 1.65, 2.5, 0.3, 2.8, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 14, 2.2, 2.7, 0.7, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 15, 2.8, 2.7, 1.1, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 16, 3.1, 2.5, 1.9707963267948967, 2.2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 17, 2.95, 2.2, 3.541592653589793, 2.2, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 18, 3.3, 1.9, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 19, 4, 1.9, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 20, 4.05, 1.6, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 21, 3.8, 1.4, 3.141592653589793, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 22, 3.5, 1.5, 3.9269908169872414, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 23, 3.1, 1.25, -1.9707963267948967, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 24, 2.7, 1, -2.4707963267948965, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 25, 2.3, 0.7, 3.541592653589793, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 26, 1.6, 0.5, 3.3415926535897933, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('barcelona-catalunya', 27, 0.9, 0.42, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'balanced') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'testing') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'barcelona') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('austria-redbull-ring', 'Austria (Red Bull Ring)', 'Red Bull Ring. Short, fast, three straights separated by hairpins.', 'system', 'system', 27, - 3.5500000000000003, 2, 0.18, 'wood', 0, 'Verstappen', - 0.3, 0.4, 3.85, 2.4, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 0, 0.3, 0.4, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 1, 1.6, 0.4, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 2, 1.85, 0.65, 1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 3, 1.6, 0.95, 3.141592653589793, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 4, 1.3, 1, 3.641592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 5, 1.05, 1.2, -1.5707963267948966, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 6, 1.4, 1.4, 0, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 7, 1.85, 1.4, 1.7707963267948965, 3.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 8, 2.1, 1.65, 3.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 9, 2, 1.85, -1.5707963267948966, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 10, 2.25, 2.05, 0, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 11, 2.4, 2, 1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 12, 2.4, 2.2, 3.141592653589793, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 13, 2.2, 2.3, -1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 14, 2.55, 2.4, -0.2, 3.4, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 15, 3, 2.4, 0, 4, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 16, 3.5, 2.4, 0, 4.5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 17, 3.85, 2.15, 1.7707963267948965, 3.4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 18, 3.6, 1.8, 3.141592653589793, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 19, 3.25, 1.85, 3.741592653589793, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 20, 3, 1.6, -1.9707963267948967, 3.2, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 21, 2.6, 1.4, -3.141592653589793, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 22, 2, 1.2, 2.641592653589793, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 23, 1.4, 0.8, 2.9415926535897934, 3.8, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('austria-redbull-ring', 24, 0.8, 0.5, 0, 4.2, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'short') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'austria') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('great-britain-silverstone', 'Great Britain (Silverstone)', 'Silverstone Circuit. Fast, flowing corners; home of British motorsport.', 'system', 'system', 27, - 3.5500000000000003, 2.4, 0.18, 'carpet', 0, 'Hamilton', - 0.3, 0.25, 3.85, 2.65, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 0, 0.3, 0.3, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 1, 2.4, 0.3, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 2, 2.8, 0.45, 1.5707963267948966, 3, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 3, 2.6, 0.8, 3.141592653589793, 3.4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 4, 2.95, 1.05, 2.0707963267948966, 3.2, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 5, 3.3, 1.3, 0, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 6, 3.6, 1.15, -1.5707963267948966, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 7, 3.6, 0.8, -3.141592653589793, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 8, 3.85, 0.55, -1.5707963267948966, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 9, 3.55, 0.25, 0, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 10, 3.25, 0.25, 1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 11, 3.05, 0.55, 1.8707963267948966, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 12, 2.85, 0.45, 3.141592653589793, 4, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 13, 1.8, 0.3, 0, 4.6, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 14, 1.2, 0.45, -1.7707963267948965, 3.8, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 15, 1, 0.85, -3.541592653589793, 3.6, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 16, 0.7, 1.15, 1.8707963267948966, 2.4, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 17, 0.5, 0.9, 0, 2.6, 0.9) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 18, 0.7, 0.65, -1.5707963267948966, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 19, 0.45, 0.45, -3.541592653589793, 2.6, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 20, 0.75, 1, 1.1707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 21, 0.5, 1.5, -3.541592653589793, 2.6, 0.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 22, 0.3, 1.15, -1.5707963267948966, 2.4, 1) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 23, 0.7, 1.6, 0.7853981633974483, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 24, 2, 1.95, 1.9707963267948967, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 25, 3, 2.4, 3.3415926535897933, 3.4, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 26, 2.4, 2.65, -1.8707963267948966, 4, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 27, 1.4, 2.6, -3.141592653589793, 4.4, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 28, 0.5, 2.3, -2.8415926535897933, 4.8, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('great-britain-silverstone', 29, 0.3, 1.7, -1.2707963267948965, 5, 0.1) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'flowing') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'silverstone') -ON CONFLICT DO NOTHING; - -INSERT INTO tracks (id, name, description, author_id, visibility, scale, - length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, - bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, - created_ms, updated_ms) -VALUES ('belgium-spa', 'Belgium (Spa-Francorchamps)', 'Spa-Francorchamps. Long, fast, legendary Eau Rouge / Raidillon.', 'system', 'system', 27, - 3.85, 2.25, 0.18, 'carpet', 0, 'Verstappen', - 0.4, 0.5, 4.25, 2.75, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 0, 0.4, 0.5, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 1, 1.6, 0.5, 0, 4.8, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 2, 1.95, 0.6, 0.3, 4.2, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 3, 2.2, 0.95, 0.9, 4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 4, 2.1, 1.3, 3.541592653589793, 4, 0.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 5, 2.7, 1.5, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 6, 3.5, 1.5, 0, 5, 0) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 7, 3.85, 1.3, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 8, 3.6, 1.1, 3.4415926535897934, 2.6, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 9, 3.3, 1.25, 4.0415926535897935, 2.6, 1.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 10, 3.5, 1.55, 1.5707963267948966, 3.6, 0.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 11, 3.25, 1.85, 0, 2.2, 1.6) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 12, 3.05, 1.7, -1.5707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 13, 3.25, 1.5, 0, 3, 0.7) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 14, 3.7, 1.65, 1.8707963267948966, 3.4, 0.5) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 15, 4.1, 2, 2.1707963267948966, 4, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 16, 4.25, 2.4, 3.541592653589793, 4.6, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 17, 4, 2.7, -1.8707963267948966, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 18, 3.7, 2.55, 3.141592653589793, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 19, 3.55, 2.75, 3.8415926535897933, 2.4, 1.4) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 20, 3.05, 2.7, -1.5707963267948966, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 21, 2.85, 2.45, 0, 2, 1.8) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 22, 2, 2.2, 2.8415926535897933, 3.6, 0.3) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 23, 1.2, 1.6, 2.541592653589793, 4, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) -VALUES ('belgium-spa', 24, 0.6, 1.05, 2.8415926535897933, 4.4, 0.2) -ON CONFLICT (track_id, seq) DO NOTHING; - -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'f1') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'long') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'fast') -ON CONFLICT DO NOTHING; -INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'spa') -ON CONFLICT DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-redbull-rb20', 'Oracle Red Bull Racing RB20', 'system', 'system', 24, - 238, 83, 40, 33, - 'RB20 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 95, '#1e3a8a', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-ferrari-sf24', 'Scuderia Ferrari SF-24', 'system', 'system', 24, - 238, 83, 40, 33, - 'SF-24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU 066/12', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#dc2626', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-mclaren-mcl38', 'McLaren MCL38', 'system', 'system', 24, - 238, 83, 40, 33, - 'MCL38 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#ea580c', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-mercedes-w15', 'Mercedes-AMG W15', 'system', 'system', 24, - 238, 83, 40, 33, - 'W15 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU M15', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#06b6d4', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - -INSERT INTO cars (id, name, owner_id, visibility, scale, - length_mm, width_mm, height_mm, weight_g, - chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, - motor_kind, motor_class, motor_kv, motor_power_w, - battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, - drive, top_speed_ms, color_hex, avatar_url, active, - created_ms, updated_ms) -VALUES ('f1-2024-astonmartin-amr24', 'Aston Martin Aramco AMR24', 'system', 'system', 24, - 238, 83, 40, 33, - 'AMR24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, - 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, - 0, 0, 0, 'li-ion MGU-K', - '2WD', 94, '#16a34a', '', TRUE, - 1700000000000, 1700000000000) -ON CONFLICT (id) DO NOTHING; - +-- 002_seed.sql — initial system catalog (tracks + cars). +-- Generated from internal/catalog/seeddefs via scripts/genseed. +-- Idempotent: safe to re-apply (ON CONFLICT DO NOTHING). + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('monaco', 'Monaco', 'Circuit de Monaco. Narrow street circuit, tight hairpins, no room for error.', 'system', 'system', 27, + 3.5500000000000003, 1.1, 0.18, 'tile', 0, 'Verstappen', + 0.4, -2.5, 3.95, -1.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 0, 0.4, -2.2, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 1, 1.1, -2.2, -0, 3, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 2, 1.5, -2.05, 0.4, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 3, 1.7, -1.85, 0.9, 2.2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 4, 1.55, -1.55, 1.6, 2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 5, 1.25, -1.4, 2.4, 2.1, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 6, 0.95, -1.55, -3.141592653589793, 1.9, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 7, 0.75, -1.85, -2, 1.8, 2.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 8, 0.95, -2.15, -2.6, 1.8, 2.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 9, 1.2, -2.4, 2.8, 2.1, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 10, 1.6, -2.5, 3, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 11, 2.6, -2.5, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 12, 3.4, -2.5, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 13, 3.6, -2.25, 0.5, 2.6, 1.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 14, 3.55, -1.95, -0.4, 2.6, 1.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 15, 3.3, -1.75, -1, 2.3, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 16, 2.95, -1.55, -1.7, 2.1, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 17, 2.6, -1.65, -2.6, 2.1, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 18, 2.4, -1.9, 2.7, 2.3, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 19, 2.4, -2.2, 3, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 20, 2.6, -2.4, -2.8, 2.5, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 21, 3.2, -2.4, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 22, 3.7, -2.4, -0, 3.2, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('monaco', 23, 3.95, -2.3, 0.3, 2.8, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'street') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'tight') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'slow') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('monaco', 'monaco') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('barcelona-catalunya', 'Barcelona-Catalunya', 'Circuit de Barcelona-Catalunya. Mix of high-speed corners and technical chicanes.', 'system', 'system', 27, + 3.75, 2.3000000000000003, 0.18, 'tile', 0, 'Verstappen', + 0.3, -2.7, 4.05, -0.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 0, 0.3, -0.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 1, 1.4, -0.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 2, 1.7, -0.65, -1.5707963267948966, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 3, 1.5, -0.95, -3.141592653589793, 2, 2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 4, 1.2, -1.1, -3.4415926535897934, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 5, 0.95, -1, -4.0415926535897935, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 6, 0.8, -1.2, 1.5707963267948966, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 7, 1.05, -1.5, -0, 3.2, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 8, 1.3, -1.65, -1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 9, 1.15, -1.85, -3.141592653589793, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 10, 1.4, -2, -2.641592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 11, 1.7, -2, -2.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 12, 1.95, -2.2, -1.5707963267948966, 2.8, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 13, 1.65, -2.5, -0.3, 2.8, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 14, 2.2, -2.7, -0.7, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 15, 2.8, -2.7, -1.1, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 16, 3.1, -2.5, -1.9707963267948967, 2.2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 17, 2.95, -2.2, -3.541592653589793, 2.2, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 18, 3.3, -1.9, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 19, 4, -1.9, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 20, 4.05, -1.6, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 21, 3.8, -1.4, -3.141592653589793, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 22, 3.5, -1.5, -3.9269908169872414, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 23, 3.1, -1.25, 1.9707963267948967, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 24, 2.7, -1, 2.4707963267948965, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 25, 2.3, -0.7, -3.541592653589793, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 26, 1.6, -0.5, -3.3415926535897933, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('barcelona-catalunya', 27, 0.9, -0.42, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'balanced') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'testing') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('barcelona-catalunya', 'barcelona') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('austria-redbull-ring', 'Austria (Red Bull Ring)', 'Red Bull Ring. Short, fast, three straights separated by hairpins.', 'system', 'system', 27, + 3.5500000000000003, 2, 0.18, 'wood', 0, 'Verstappen', + 0.3, -2.4, 3.85, -0.4, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 0, 0.3, -0.4, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 1, 1.6, -0.4, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 2, 1.85, -0.65, -1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 3, 1.6, -0.95, -3.141592653589793, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 4, 1.3, -1, -3.641592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 5, 1.05, -1.2, 1.5707963267948966, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 6, 1.4, -1.4, -0, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 7, 1.85, -1.4, -1.7707963267948965, 3.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 8, 2.1, -1.65, -3.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 9, 2, -1.85, 1.5707963267948966, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 10, 2.25, -2.05, -0, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 11, 2.4, -2, -1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 12, 2.4, -2.2, -3.141592653589793, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 13, 2.2, -2.3, 1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 14, 2.55, -2.4, 0.2, 3.4, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 15, 3, -2.4, -0, 4, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 16, 3.5, -2.4, -0, 4.5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 17, 3.85, -2.15, -1.7707963267948965, 3.4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 18, 3.6, -1.8, -3.141592653589793, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 19, 3.25, -1.85, -3.741592653589793, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 20, 3, -1.6, 1.9707963267948967, 3.2, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 21, 2.6, -1.4, 3.141592653589793, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 22, 2, -1.2, -2.641592653589793, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 23, 1.4, -0.8, -2.9415926535897934, 3.8, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('austria-redbull-ring', 24, 0.8, -0.5, -0, 4.2, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'short') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('austria-redbull-ring', 'austria') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('great-britain-silverstone', 'Great Britain (Silverstone)', 'Silverstone Circuit. Fast, flowing corners; home of British motorsport.', 'system', 'system', 27, + 3.5500000000000003, 2.4, 0.18, 'carpet', 0, 'Hamilton', + 0.3, -2.65, 3.85, -0.25, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 0, 0.3, -0.3, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 1, 2.4, -0.3, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 2, 2.8, -0.45, -1.5707963267948966, 3, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 3, 2.6, -0.8, -3.141592653589793, 3.4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 4, 2.95, -1.05, -2.0707963267948966, 3.2, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 5, 3.3, -1.3, -0, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 6, 3.6, -1.15, 1.5707963267948966, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 7, 3.6, -0.8, 3.141592653589793, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 8, 3.85, -0.55, 1.5707963267948966, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 9, 3.55, -0.25, -0, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 10, 3.25, -0.25, -1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 11, 3.05, -0.55, -1.8707963267948966, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 12, 2.85, -0.45, -3.141592653589793, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 13, 1.8, -0.3, -0, 4.6, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 14, 1.2, -0.45, 1.7707963267948965, 3.8, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 15, 1, -0.85, 3.541592653589793, 3.6, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 16, 0.7, -1.15, -1.8707963267948966, 2.4, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 17, 0.5, -0.9, -0, 2.6, 0.9) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 18, 0.7, -0.65, 1.5707963267948966, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 19, 0.45, -0.45, 3.541592653589793, 2.6, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 20, 0.75, -1, -1.1707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 21, 0.5, -1.5, 3.541592653589793, 2.6, 0.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 22, 0.3, -1.15, 1.5707963267948966, 2.4, 1) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 23, 0.7, -1.6, -0.7853981633974483, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 24, 2, -1.95, -1.9707963267948967, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 25, 3, -2.4, -3.3415926535897933, 3.4, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 26, 2.4, -2.65, 1.8707963267948966, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 27, 1.4, -2.6, 3.141592653589793, 4.4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 28, 0.5, -2.3, 2.8415926535897933, 4.8, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('great-britain-silverstone', 29, 0.3, -1.7, 1.2707963267948965, 5, 0.1) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'flowing') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('great-britain-silverstone', 'silverstone') +ON CONFLICT DO NOTHING; + +INSERT INTO tracks (id, name, description, author_id, visibility, scale, + length_m, width_m, lane_width_m, surface, best_lap_ms, best_lap_holder, + bounds_min_x, bounds_min_y, bounds_max_x, bounds_max_y, + created_ms, updated_ms) +VALUES ('belgium-spa', 'Belgium (Spa-Francorchamps)', 'Spa-Francorchamps. Long, fast, legendary Eau Rouge / Raidillon.', 'system', 'system', 27, + 3.85, 2.25, 0.18, 'carpet', 0, 'Verstappen', + 0.4, -2.75, 4.25, -0.5, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 0, 0.4, -0.5, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 1, 1.6, -0.5, -0, 4.8, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 2, 1.95, -0.6, -0.3, 4.2, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 3, 2.2, -0.95, -0.9, 4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 4, 2.1, -1.3, -3.541592653589793, 4, 0.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 5, 2.7, -1.5, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 6, 3.5, -1.5, -0, 5, 0) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 7, 3.85, -1.3, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 8, 3.6, -1.1, -3.4415926535897934, 2.6, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 9, 3.3, -1.25, -4.0415926535897935, 2.6, 1.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 10, 3.5, -1.55, -1.5707963267948966, 3.6, 0.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 11, 3.25, -1.85, -0, 2.2, 1.6) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 12, 3.05, -1.7, 1.5707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 13, 3.25, -1.5, -0, 3, 0.7) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 14, 3.7, -1.65, -1.8707963267948966, 3.4, 0.5) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 15, 4.1, -2, -2.1707963267948966, 4, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 16, 4.25, -2.4, -3.541592653589793, 4.6, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 17, 4, -2.7, 1.8707963267948966, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 18, 3.7, -2.55, -3.141592653589793, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 19, 3.55, -2.75, -3.8415926535897933, 2.4, 1.4) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 20, 3.05, -2.7, 1.5707963267948966, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 21, 2.85, -2.45, -0, 2, 1.8) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 22, 2, -2.2, -2.8415926535897933, 3.6, 0.3) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 23, 1.2, -1.6, -2.541592653589793, 4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) +VALUES ('belgium-spa', 24, 0.6, -1.05, -2.8415926535897933, 4.4, 0.2) +ON CONFLICT (track_id, seq) DO NOTHING; + +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'f1') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'long') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'fast') +ON CONFLICT DO NOTHING; +INSERT INTO track_tags (track_id, tag) VALUES ('belgium-spa', 'spa') +ON CONFLICT DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-redbull-rb20', 'Oracle Red Bull Racing RB20', 'system', 'system', 24, + 238, 83, 40, 33, + 'RB20 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 95, '#1e3a8a', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-ferrari-sf24', 'Scuderia Ferrari SF-24', 'system', 'system', 24, + 238, 83, 40, 33, + 'SF-24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU 066/12', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#dc2626', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-mclaren-mcl38', 'McLaren MCL38', 'system', 'system', 24, + 238, 83, 40, 33, + 'MCL38 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#ea580c', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-mercedes-w15', 'Mercedes-AMG W15', 'system', 'system', 24, + 238, 83, 40, 33, + 'W15 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU M15', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#06b6d4', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + +INSERT INTO cars (id, name, owner_id, visibility, scale, + length_mm, width_mm, height_mm, weight_g, + chassis_model, chassis_material, chassis_printed, chassis_wheelbase_mm, chassis_track_mm, + motor_kind, motor_class, motor_kv, motor_power_w, + battery_voltage_v, battery_capacity_mah, battery_cells, battery_chemistry, + drive, top_speed_ms, color_hex, avatar_url, active, + created_ms, updated_ms) +VALUES ('f1-2024-astonmartin-amr24', 'Aston Martin Aramco AMR24', 'system', 'system', 24, + 238, 83, 40, 33, + 'AMR24 carbon monocoque', 'carbon-fibre', FALSE, 150, 75, + 'turbo-hybrid', 'F1 PU Mercedes-derived', 0, 746000, + 0, 0, 0, 'li-ion MGU-K', + '2WD', 94, '#16a34a', '', TRUE, + 1700000000000, 1700000000000) +ON CONFLICT (id) DO NOTHING; + diff --git a/server/internal/storage/postgres/migrations/004_monaco_rescale.sql b/server/internal/storage/postgres/migrations/004_monaco_rescale.sql index d1eb601..0379159 100644 --- a/server/internal/storage/postgres/migrations/004_monaco_rescale.sql +++ b/server/internal/storage/postgres/migrations/004_monaco_rescale.sql @@ -20,56 +20,56 @@ UPDATE tracks SET WHERE id = 'monaco'; -- New centerline (51 waypoints, scale_xy=0.016, v=0.632 m/s) -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 0, -3.2064, -1.0454, 1.4710, 0.632, -0.1988); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 1, -3.1387, -0.5857, 1.3926, 0.632, -0.1787); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 2, -3.0418, -0.1312, 1.3043, 0.632, -0.2544); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 3, -2.8946, 0.3084, 1.1557, 0.632, -0.4431); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 4, -2.6693, 0.7141, 0.8629, 0.632, -1.0875); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 5, -2.3517, 0.9426, 0.1919, 0.632, -1.2844); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 6, -1.8935, 0.8648, -0.1182, 0.632, -0.2237); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 7, -1.4302, 0.8332, -0.0660, 0.632, 0.0475); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 8, -0.9667, 0.8035, -0.0743, 0.632, 0.0756); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 9, -0.5052, 0.7644, 0.0045, 0.632, 0.0806); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 10, -0.0425, 0.8077, 0.0000, 0.632, -0.0425); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 11, 0.4197, 0.7644, -0.0351, 0.632, 0.3650); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 12, 0.8809, 0.7753, 0.3862, 0.632, 1.3887); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 13, 1.1985, 1.0811, 1.2440, 0.632, 1.4550); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 14, 1.1372, 1.5315, 1.5878, 0.632, -0.2144); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 15, 1.1839, 1.9468, 1.0284, 0.632, -1.2681); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 16, 1.5551, 2.2249, 0.6162, 0.632, -0.4763); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 17, 1.9414, 2.4832, 0.5226, 0.632, -0.1756); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 18, 2.3526, 2.6842, 0.4546, 0.632, -0.1494); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 19, 2.3526, 2.6842, -1.2476, 0.632, -0.0225); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 20, 2.4622, 2.3570, -1.2545, 0.632, 0.1775); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 21, 2.5976, 1.9356, -0.5751, 0.632, 34.1925); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 22, 2.6154, 2.2577, 1.0415, 0.632, -0.8400); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 23, 2.9239, 2.4933, -0.0053, 0.632, -3.1975); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 24, 3.2311, 2.2544, -1.4159, 0.632, -2.7456); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 25, 3.0259, 1.8399, -2.1127, 0.632, -0.6488); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 26, 2.7546, 1.4629, -2.2528, 0.632, -0.2769); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 27, 2.4413, 1.1199, -2.3708, 0.632, -0.3044); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 28, 2.0895, 0.8170, -2.5300, 0.632, -0.3825); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 29, 1.6852, 0.5897, -2.7255, 0.632, -0.4019); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 30, 1.2447, 0.4437, -2.9031, 0.632, -0.3538); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 31, 0.7862, 0.3711, -3.0547, 0.632, -0.3044); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 32, 0.3218, 0.3632, 3.0973, 0.632, -0.0975); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 33, -0.1396, 0.4121, 3.1387, 0.632, -0.0394); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 34, -0.5818, 0.3659, 3.0594, 0.632, -0.2375); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 35, -1.0290, 0.4854, 2.9319, 0.632, -0.0950); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 36, -1.4880, 0.5588, 2.9664, 0.632, -0.2500); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 37, -1.9441, 0.6474, -3.1052, 0.632, 0.8825); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 38, -2.3631, 0.5269, -2.4971, 0.632, 1.3600); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 39, -2.6181, 0.1409, -1.9547, 0.632, 0.9481); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 40, -2.7014, -0.3108, -1.5706, 0.632, 0.3788); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 41, -2.6179, -0.7633, -1.6025, 0.632, -0.3425); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 42, -2.7299, -1.2092, -1.8788, 0.632, -0.0725); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 43, -2.8930, -1.6280, -1.6659, 0.632, 0.7706); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 44, -2.8134, -2.0840, -1.2045, 0.632, 0.2162); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 45, -2.5685, -2.4739, -1.5682, 0.632, -2.4475); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 46, -2.8118, -2.6842, 3.0638, 0.632, -4.0544); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 47, -3.1281, -2.4303, 2.0706, 0.632, -1.2500); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 48, -3.2004, -1.9728, 1.6822, 0.632, -0.4706); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 49, -3.2311, -1.5093, 1.5774, 0.632, -0.2275); -INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 50, -3.2064, -1.0454, 1.4710, 0.632, -0.1988); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 0, -3.2064, 1.0454, -1.4710, 0.632, -0.1988); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 1, -3.1387, 0.5857, -1.3926, 0.632, -0.1787); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 2, -3.0418, 0.1312, -1.3043, 0.632, -0.2544); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 3, -2.8946, -0.3084, -1.1557, 0.632, -0.4431); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 4, -2.6693, -0.7141, -0.8629, 0.632, -1.0875); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 5, -2.3517, -0.9426, -0.1919, 0.632, -1.2844); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 6, -1.8935, -0.8648, 0.1182, 0.632, -0.2237); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 7, -1.4302, -0.8332, 0.0660, 0.632, 0.0475); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 8, -0.9667, -0.8035, 0.0743, 0.632, 0.0756); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 9, -0.5052, -0.7644, -0.0045, 0.632, 0.0806); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 10, -0.0425, -0.8077, -0.0000, 0.632, -0.0425); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 11, 0.4197, -0.7644, 0.0351, 0.632, 0.3650); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 12, 0.8809, -0.7753, -0.3862, 0.632, 1.3887); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 13, 1.1985, -1.0811, -1.2440, 0.632, 1.4550); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 14, 1.1372, -1.5315, -1.5878, 0.632, -0.2144); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 15, 1.1839, -1.9468, -1.0284, 0.632, -1.2681); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 16, 1.5551, -2.2249, -0.6162, 0.632, -0.4763); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 17, 1.9414, -2.4832, -0.5226, 0.632, -0.1756); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 18, 2.3526, -2.6842, -0.4546, 0.632, -0.1494); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 19, 2.3526, -2.6842, 1.2476, 0.632, -0.0225); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 20, 2.4622, -2.3570, 1.2545, 0.632, 0.1775); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 21, 2.5976, -1.9356, 0.5751, 0.632, 34.1925); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 22, 2.6154, -2.2577, -1.0415, 0.632, -0.8400); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 23, 2.9239, -2.4933, 0.0053, 0.632, -3.1975); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 24, 3.2311, -2.2544, 1.4159, 0.632, -2.7456); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 25, 3.0259, -1.8399, 2.1127, 0.632, -0.6488); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 26, 2.7546, -1.4629, 2.2528, 0.632, -0.2769); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 27, 2.4413, -1.1199, 2.3708, 0.632, -0.3044); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 28, 2.0895, -0.8170, 2.5300, 0.632, -0.3825); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 29, 1.6852, -0.5897, 2.7255, 0.632, -0.4019); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 30, 1.2447, -0.4437, 2.9031, 0.632, -0.3538); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 31, 0.7862, -0.3711, 3.0547, 0.632, -0.3044); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 32, 0.3218, -0.3632, -3.0973, 0.632, -0.0975); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 33, -0.1396, -0.4121, -3.1387, 0.632, -0.0394); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 34, -0.5818, -0.3659, -3.0594, 0.632, -0.2375); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 35, -1.0290, -0.4854, -2.9319, 0.632, -0.0950); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 36, -1.4880, -0.5588, -2.9664, 0.632, -0.2500); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 37, -1.9441, -0.6474, 3.1052, 0.632, 0.8825); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 38, -2.3631, -0.5269, 2.4971, 0.632, 1.3600); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 39, -2.6181, -0.1409, 1.9547, 0.632, 0.9481); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 40, -2.7014, 0.3108, 1.5706, 0.632, 0.3788); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 41, -2.6179, 0.7633, 1.6025, 0.632, -0.3425); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 42, -2.7299, 1.2092, 1.8788, 0.632, -0.0725); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 43, -2.8930, 1.6280, 1.6659, 0.632, 0.7706); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 44, -2.8134, 2.0840, 1.2045, 0.632, 0.2162); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 45, -2.5685, 2.4739, 1.5682, 0.632, -2.4475); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 46, -2.8118, 2.6842, -3.0638, 0.632, -4.0544); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 47, -3.1281, 2.4303, -2.0706, 0.632, -1.2500); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 48, -3.2004, 1.9728, -1.6822, 0.632, -0.4706); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 49, -3.2311, 1.5093, -1.5774, 0.632, -0.2275); +INSERT INTO track_waypoints (track_id, seq, x, y, heading_rad, speed_ms, curvature) VALUES ('monaco', 50, -3.2064, 1.0454, -1.4710, 0.632, -0.1988); COMMIT; diff --git a/server/web/tracks.html b/server/web/tracks.html new file mode 100644 index 0000000..bd256fc --- /dev/null +++ b/server/web/tracks.html @@ -0,0 +1,395 @@ + + +
+ + +