useLandingAnalysis provides real-time access to touchdown detection, bounce counting, and settled landing analysis. It hydrates from GET /api/simulator/landing-analysis/snapshot on mount, then updates on flight:landing Socket.io events. The hook only re-renders when a landing-relevant event occurs — not on every simulator data tick.
Landing data resets automatically when a new tracking session starts.
Import
Signature
Parameters
| Parameter | Type | Description |
|---|---|---|
options.select | (snapshot: LandingAnalysisSnapshot) => TSelected | Selector to subscribe to a specific subset of landing data |
Return value
| Field | Type | Description |
|---|---|---|
landingRate | number | null | Final landing rate in feet per minute (negative = descent). null until settled. |
bounceCount | number | Number of bounces detected on the current landing sequence |
touchdowns | BounceData[] | Array of all touchdown events for the current landing |
isOnGround | boolean | Whether the aircraft is currently on the ground |
approachData | CapturePoint | null | Snapshot of flight parameters captured at approach |
landingAnalysis | LandingAnalysis | null | Full analysis object populated after a settled landing |
isLoading | boolean | true during the initial REST fetch |
Types
BounceData
Each entry in touchdowns represents one touchdown contact:
CapturePoint
Approach data captured when the aircraft enters the final approach phase:
LandingAnalysis
Populated after the aircraft settles (weight on wheels stabilizes):
Usage
Display landing rate after touchdown
Show detailed analysis after settling
Selector pattern
Notes
landingRateisnulluntil a settled landing is detected. During a bounce sequence it updates per bounce.- The
selectoption is passed directly to TanStack Query’s structural sharing. The component will not re-render if the selected value is deeply equal to the previous value. - Landing data resets when
FlightEventPipeline.startTracking()is called at the beginning of a new flight — previous session data is not preserved across flights.