Refine telemetry-driven HUD and fitness feedback
This commit is contained in:
40
miniprogram/game/telemetry/telemetryState.ts
Normal file
40
miniprogram/game/telemetry/telemetryState.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { type LonLatPoint } from '../../utils/projection'
|
||||
import { type GameSessionStatus } from '../core/gameSessionState'
|
||||
|
||||
export interface TelemetryState {
|
||||
sessionStatus: GameSessionStatus
|
||||
sessionStartedAt: number | null
|
||||
sessionEndedAt: number | null
|
||||
elapsedMs: number
|
||||
distanceMeters: number
|
||||
currentSpeedKmh: number | null
|
||||
averageSpeedKmh: number | null
|
||||
distanceToTargetMeters: number | null
|
||||
targetControlId: string | null
|
||||
targetPoint: LonLatPoint | null
|
||||
lastGpsPoint: LonLatPoint | null
|
||||
lastGpsAt: number | null
|
||||
lastGpsAccuracyMeters: number | null
|
||||
heartRateBpm: number | null
|
||||
caloriesKcal: number | null
|
||||
calorieTrackingAt: number | null
|
||||
}
|
||||
|
||||
export const EMPTY_TELEMETRY_STATE: TelemetryState = {
|
||||
sessionStatus: 'idle',
|
||||
sessionStartedAt: null,
|
||||
sessionEndedAt: null,
|
||||
elapsedMs: 0,
|
||||
distanceMeters: 0,
|
||||
currentSpeedKmh: null,
|
||||
averageSpeedKmh: null,
|
||||
distanceToTargetMeters: null,
|
||||
targetControlId: null,
|
||||
targetPoint: null,
|
||||
lastGpsPoint: null,
|
||||
lastGpsAt: null,
|
||||
lastGpsAccuracyMeters: null,
|
||||
heartRateBpm: null,
|
||||
caloriesKcal: null,
|
||||
calorieTrackingAt: null,
|
||||
}
|
||||
Reference in New Issue
Block a user