Skip to content

Heads-up Display (Hawkeye) ​

Hawkeye has three Heads-up Display (HUD) modes plus a separate debug overlay. Press H to cycle through Console → Tactical → Off → Console. Press Ctrl+D to toggle the debug overlay on top of any mode.

  • Console (default) is a rich telemetry overlay with transport bar, numpad, and pinned drone sidebar. Best for analysis and debugging.
  • Tactical is a minimal floating HUD with heading-up radar and 3D gimbal rings. Best for screen recording and cinematic playback.
  • Off hides the HUD entirely. Best for clean screenshots.

All HUD modes respect the active theme: colors, fonts, and layout adapt automatically.

Console HUD ​

The default HUD. Visible on first launch.

Annotated Console HUD

Telemetry rows ​

A row of seven numeric values anchored to the bottom of the screen:

  • HDG: heading (0 to 360°, compass convention)
  • ROLL: roll angle (°)
  • PITCH: pitch angle (°)
  • ALT: altitude above origin (m)
  • GS: ground speed (m/s)
  • AS: airspeed (m/s, fixed-wing and VTOL only)
  • VS: vertical speed (m/s, positive climbing)

Press Y to toggle the HDG display between heading (0–360, compass convention) and yaw (±180, math convention).

Attitude indicator and compass strip ​

An attitude indicator (artificial horizon) sits at the bottom-left, showing roll and pitch visually. A heading tape with tick marks runs along the bottom for quick reference.

Numpad and pin sidebar ​

In multi-drone scenes, a numpad appears at the bottom-left. Press a number key to select that drone; hold Shift plus a number to pin a drone to the HUD sidebar on the right.

The numpad layout adapts to drone count:

Adaptive numpad layouts

  • ≤9 drones: 3×3 grid, single-digit direct select
  • 10 to 12 drones: 3×4 grid with smaller font
  • 13 to 16 drones: 4×4 grid

Drones 10–16 are selected via a two-digit chord: press both digits within 300 ms. For example, to select drone 12, press 1 then 2 quickly. Shift plus the same chord toggles pinning.

Transport bar ​

In replay mode, a transport bar runs along the bottom of the HUD showing:

  • Playhead position with current time
  • Scrubber for seeking
  • Marker ticks for every marker in the flight (from all loaded drones; non-selected drones dimmed)
  • Playback speed indicator

See ULog Replay for the complete replay control reference.

Status indicators ​

The Console HUD surfaces several status badges:

  • Tier badge: current position data reliability (T1 / T2 / T3). See Position Data Tiers.
  • ESTIMATED POSITION warning, shown when the reference frame is falling back to estimated origin.
  • CONF / PRSN / RMSE badges: correlation statistics, visible when a secondary drone is pinned. See Correlation Analysis.

STATUSTEXT ticker ​

When replaying ULogs with logging messages (severity WARNING or worse), a message ticker appears above the HUD bar. Press N to toggle it on or off.

Font scaling ​

HUD text has minimum readable sizes at small window widths. At resolutions below 1280×720, label alpha is reduced slightly for contrast but all text remains legible. Don't rely on this behavior below 640×480; that's well outside the design target.

Tactical HUD ​

An alternative HUD mode designed for cinematic playback and screen recording. Minimal, floating, and focused on the selected vehicle.

Tactical HUD overview

A more comprehensive view showing all tactical HUD elements active at once (multi-drone scene with pinned ring cells, radar panel, ticker, transport bar, gimbal rings, GS/ALT stacks):

Annotated Tactical HUD

Press H from Console to enter Tactical. The camera smoothly zooms to a close chase distance on entry and restores when you exit.

Floating corner tags ​

Ground speed and altitude are displayed as large floating tags flanking the center of the screen. No other telemetry rows; Tactical is intentionally sparse.

Heading-up radar ​

A 2D radar panel shows all drones as colored blips relative to the selected drone's heading (forward is up). A range ring indicates the visible distance scale. In multi-drone scenes with a pinned drone, the correlation line renders directly on the radar in the pinned drone's color.

Radar panel with multi-drone blips

Gimbal rings ​

Three concentric 3D rings drawn around the selected vehicle represent yaw, pitch, and roll. Each ring has tick marks at key angles and a directional pyramid pointer.

Gimbal rings in motion

In multi-drone scenes with pinned drones, mini 2D ring cells appear in a corner bar, one per pinned drone.

Ortho insets ​

Press O while in Tactical to add compact ortho view panels (top / front / right) at the top or bottom edge. Useful for keeping spatial context visible without switching cameras.

Ticker and transport bar ​

In Tactical mode, the STATUSTEXT ticker moves to a corner panel (bottom-right) so it doesn't dominate the view. The transport bar renders at 50% height.

Debug Overlay ​

Press Ctrl+D to toggle a performance and diagnostics overlay on the right side of the screen. Independent of Console / Tactical, it can be enabled alongside either HUD mode (or with the HUD off entirely).

Debug overlay

Contents:

  • FPS: live frame rate with a color-coded graph and the min/max seen in the current window
  • Frame time: milliseconds per frame with matching graph, a 16.67 ms target line (60 FPS), and a peak tracker
  • Render stats: active vehicle count and total trail points across all drones
  • Memory estimates: trail buffer usage and approximate total footprint
  • Position: XYZ of the selected drone (Raylib draw-space coordinates) with a BAD REF warning if the reference frame is suspect
  • Position data tier: T1 / T2 / T3 indicator with full label

Colors adapt to the active theme. Use the debug overlay when diagnosing performance issues, verifying position reference, or checking memory footprint before sharing a replay session.

Annunciators ​

Annunciators are subtle HUD animations that draw attention to events without interrupting playback. Five animations ship built-in, each keyed to a specific event type and HUD mode.

AnnunciatorHUD modeTriggered by
Console tab fadeConsoleMarker crossing (any drone)
Gimbal ring bounceTacticalMarker crossing (pinned drone)
Radar droplet waveTacticalMarker crossing (any drone)
Ticker warning flashEitherSTATUSTEXT ≤ WARNING severity
Ring shakeTacticalSTATUSTEXT ≤ WARNING severity (per drone)

Console tab fade ​

When playback crosses a marker, the affected drone's color bar in the Console sidebar double-pulses: fades out, fades back in, then pulses once more at smaller amplitude.

Gimbal ring bounce ​

In Tactical mode, a marker crossing for a pinned drone bounces that drone's gimbal ring cell vertically: two cycles, the second smaller.

Gimbal ring bounce

Radar droplet wave ​

A marker crossing sends two expanding concentric rings outward from the affected drone's radar blip, like a droplet on water. Lets you spatially locate the event on the radar.

Radar droplet wave

Ticker warning flash ​

When a new STATUSTEXT arrives during ULog replay, its ticker entry's background brightens and the text inverts briefly before returning to normal. Unmissable attention for new warnings.

Ring shake ​

STATUSTEXT warnings for a specific drone oscillate that drone's gimbal ring cell horizontally: three cycles at low amplitude. Associates the warning with the specific drone, without needing to read the ticker text.

Ring shake

Released under the BSD-3-Clause License. Privacy Policy.