190 lines
5.1 KiB
TypeScript
190 lines
5.1 KiB
TypeScript
import { GroupRideSummary, RadarRiderTelemetry } from './types';
|
||
|
||
export const INITIAL_RADAR_RIDERS: RadarRiderTelemetry[] = [
|
||
{
|
||
id: 'rider-1',
|
||
callsign: 'ApexLead',
|
||
role: 'Pace Setter',
|
||
roleBadge: 'Lead',
|
||
speedMph: 68,
|
||
leanAngleDeg: 42,
|
||
throttlePct: 78,
|
||
brakePct: 0,
|
||
gapMeters: 0,
|
||
gapDeltaSec: 0,
|
||
color: '#00F2FE', // cyan
|
||
status: 'active',
|
||
coordinates: { x: 84, y: 18 },
|
||
},
|
||
{
|
||
id: 'rider-2',
|
||
callsign: 'Ghost99',
|
||
role: 'Wingman L',
|
||
roleBadge: 'Wing L',
|
||
speedMph: 67,
|
||
leanAngleDeg: 40,
|
||
throttlePct: 74,
|
||
brakePct: 0,
|
||
gapMeters: 45,
|
||
gapDeltaSec: 0.4,
|
||
color: '#00F2FE',
|
||
status: 'active',
|
||
coordinates: { x: 71, y: 32 },
|
||
},
|
||
{
|
||
id: 'rider-3',
|
||
callsign: 'Sarah_RR',
|
||
role: 'Wingman R',
|
||
roleBadge: 'Wing R',
|
||
speedMph: 65,
|
||
leanAngleDeg: 36,
|
||
throttlePct: 62,
|
||
brakePct: 0,
|
||
gapMeters: 110,
|
||
gapDeltaSec: 0.9,
|
||
color: '#FF6B6B',
|
||
status: 'warning',
|
||
alertText: 'Rear tire 28 PSI (low)',
|
||
coordinates: { x: 56, y: 34 },
|
||
},
|
||
{
|
||
id: 'rider-4',
|
||
callsign: 'Dan_KTM',
|
||
role: 'Mid Pack',
|
||
roleBadge: 'Mid',
|
||
speedMph: 63,
|
||
leanAngleDeg: 28,
|
||
throttlePct: 58,
|
||
brakePct: 0,
|
||
gapMeters: 180,
|
||
gapDeltaSec: 1.4,
|
||
color: '#00F2FE',
|
||
status: 'active',
|
||
coordinates: { x: 36, y: 60 },
|
||
},
|
||
{
|
||
id: 'rider-5',
|
||
callsign: 'Alex_Ducati',
|
||
role: 'Mid Pack',
|
||
roleBadge: 'Decel Event',
|
||
speedMph: 48,
|
||
leanAngleDeg: 14,
|
||
throttlePct: 0,
|
||
brakePct: 85,
|
||
gapMeters: 320,
|
||
gapDeltaSec: 2.5,
|
||
color: '#FF4444',
|
||
status: 'alert',
|
||
alertText: 'Hard Braking (-1.2G) ABS Engaged',
|
||
coordinates: { x: 26, y: 78 },
|
||
},
|
||
{
|
||
id: 'rider-6',
|
||
callsign: 'Sweep_Marshal',
|
||
role: 'Rear Guard',
|
||
roleBadge: 'Sweep',
|
||
speedMph: 59,
|
||
leanAngleDeg: 22,
|
||
throttlePct: 52,
|
||
brakePct: 0,
|
||
gapMeters: 450,
|
||
gapDeltaSec: 3.8,
|
||
color: '#39FF14', // neon green
|
||
status: 'sweeper',
|
||
coordinates: { x: 12, y: 88 },
|
||
},
|
||
];
|
||
|
||
export const INITIAL_GROUP_RIDES: GroupRideSummary[] = [
|
||
{
|
||
id: 'ride-bay-dawn-patrol',
|
||
title: 'Bay Area Dawn Patrol',
|
||
description: 'Fast sweepers from Woodside down to San Gregorio beach before morning traffic. Strict staggered formation enforced.',
|
||
region: 'San Francisco, CA',
|
||
scheduledDate: 'Saturday',
|
||
scheduledTime: '06:30 AM PST',
|
||
paceClassification: 'Track Pace',
|
||
formationProfile: 'Staggered Dual Column [B]',
|
||
joinPolicy: 'requestToJoin',
|
||
leadHandle: 'ApexLead',
|
||
leadAvatarText: 'AL',
|
||
participantCount: 14,
|
||
participantLimit: 16,
|
||
distance: '82.4 Miles',
|
||
meetingPoint: "Alice's Restaurant, Skyline Blvd",
|
||
userStatus: 'none',
|
||
},
|
||
{
|
||
id: 'ride-malibu-canyons',
|
||
title: 'Malibu Canyons Fast Pace',
|
||
description: 'Tuna Canyon descent to Latigo Canyon technical curves. Regroup checkpoint planned at Rock Store overlook.',
|
||
region: 'Malibu, CA',
|
||
scheduledDate: 'Sunday',
|
||
scheduledTime: '07:15 AM PST',
|
||
paceClassification: 'Brisk Pace',
|
||
formationProfile: 'Staggered Paceline',
|
||
joinPolicy: 'requestToJoin',
|
||
leadHandle: 'Dan_KTM',
|
||
leadAvatarText: 'DK',
|
||
participantCount: 9,
|
||
participantLimit: 12,
|
||
distance: '64.0 Miles',
|
||
meetingPoint: 'Rock Store Overlook',
|
||
userStatus: 'none',
|
||
},
|
||
{
|
||
id: 'ride-tail-of-dragon',
|
||
title: 'Tail of the Dragon Run',
|
||
description: '11 miles, 318 technical curves. Telemetry debrief sessions every evening with custom apex analysis and gear logs.',
|
||
region: 'Robbinsville, NC',
|
||
scheduledDate: 'Fri-Sun',
|
||
scheduledTime: 'Oct 12-14',
|
||
paceClassification: 'Endurance / Chill',
|
||
formationProfile: 'Dynamic Paceline',
|
||
joinPolicy: 'open',
|
||
leadHandle: 'Sweep_Marshal',
|
||
leadAvatarText: 'SM',
|
||
participantCount: 24,
|
||
participantLimit: 24,
|
||
distance: '318 Curves',
|
||
meetingPoint: 'Deal’s Gap Motorcycle Resort',
|
||
userStatus: 'none',
|
||
},
|
||
{
|
||
id: 'ride-angeles-crest',
|
||
title: 'Angeles Crest Sunrise Ridge',
|
||
description: 'Sweeping high-altitude pavement through the San Gabriel Mountains. Moderate pace with designated cooldown turnouts.',
|
||
region: 'La Cañada Flintridge, CA',
|
||
scheduledDate: 'Saturday',
|
||
scheduledTime: '06:00 AM PST',
|
||
paceClassification: 'Brisk Pace',
|
||
formationProfile: 'Staggered Dual Column',
|
||
joinPolicy: 'open',
|
||
leadHandle: 'Ghost99',
|
||
leadAvatarText: 'G9',
|
||
participantCount: 7,
|
||
participantLimit: 10,
|
||
distance: '52.8 Miles',
|
||
meetingPoint: 'Shell Station at Foothill Blvd',
|
||
userStatus: 'none',
|
||
},
|
||
{
|
||
id: 'ride-lolo-pass',
|
||
title: 'Lolo Pass Transcontinental Tour',
|
||
description: 'Scenic sweepers following the Lochsa River through Idaho into Montana. Open touring formation with radio check-ins.',
|
||
region: 'Missoula, MT',
|
||
scheduledDate: 'Weekend',
|
||
scheduledTime: 'Aug 18-20',
|
||
paceClassification: 'Weekend Tours',
|
||
formationProfile: 'Open Touring Formation',
|
||
joinPolicy: 'open',
|
||
leadHandle: 'Sarah_RR',
|
||
leadAvatarText: 'SR',
|
||
participantCount: 6,
|
||
participantLimit: 15,
|
||
distance: '134.5 Miles',
|
||
meetingPoint: 'Lolo Hot Springs Rest Area',
|
||
userStatus: 'none',
|
||
},
|
||
];
|