comma design challenge openpilot · comma four modern UI stack

Horizon Halo — confidence at a glance, headroom before the alarm

Submission by VeigaPunk · interactive prototype + design rationale · for the comma design challenge

1. Problem reframed

openpilot is L2 and already self-aware about failure likelihood and actuator saturation. Today, drivers often learn about trouble at the alert — too late for calm intervention, and the alert itself is more annoying than useful. comma four is the headlining hardware: eyes stay on the road; the UI must work in peripheral vision on a modern non-Qt stack (flat solid fills still preferred for readability in cabin light).

Design thesis: confidence is a continuous spectrum rendered as ambient geometry (halo + path fill). Actuator limits are always-on headroom meters. Sound is reserved for rate-of-change and saturation events, never for steady mid confidence.

2. Interactive comma four mock (you are the world model)

RELIABLE
62
mph
ENGAGED
HOLD
TAKE OVER — low confidence

Live controls

88
28
12
22
62

Sound: soft tick only when confidence drops across a class boundary, or when any actuator enters the top 15% of limit. No looping chime in steady amber.

Reliable Disengage < once / 10 min. Cool green halo, strong path fill, quiet headroom.
Contingent May need hands every few minutes. Amber bloom; path thins; subtle edge emphasis.
Unreliable Seconds to disengage. Red halo + toast + one short double-tick; engage ring pulses.

3. System

Horizon Halo (confidence)

Screen-edge glow + trajectory ribbon share one continuous confidence scalar c ∈ [0,1] (not three discrete LEDs). Classes are soft bands for copy/sound only:

  • c ≥ 0.72 → RELIABLE
  • 0.38 ≤ c < 0.72 → CONTINGENT
  • c < 0.38 → UNRELIABLE

Color interpolates green→amber→red in OKLab-ish HSL (easy on any modern UI toolkit). Peripheral edges fire motion-sensitive receptors without covering the road camera plate.

Headroom meters (actuator limits)

Three always-visible bars: steer torque, brake pressure, longitudinal accel. Fill = fraction of car-specific limit currently commanded. Dashed line = soft limit (start of nonlinear tire / ABS / ESC region). Color flips amber at 70%, red at 90%.

This is the missing “pre-alert” channel: the driver sees torque climbing on a windy ramp before the classic “steering temporarily unavailable” bark.

4. Sound (alluded + implementable)

EventOne soft rising tick (120ms) on class down-transition only.
ActuatorShort double tick when any bar first crosses 85% within a 2s window.
Imminentc < 0.25 or multi-bar critical → one double-tick + toast; no loop until recovery then re-arm.
Non-goalsNo continuous hum, no speech, no music, no per-frame beeps.

5. Mapping to openpilot signals

UI inputSuggested source
confidence cBlend of model uncertainty, desire lane visibility, lead existence prob, road-edge, and historical disengage prior for scene class.
steer usage|steer_torque| / car_torque_max (already known per fingerprint).
brake / accelLong control output vs car accel/brake caps; include regen envelope if present.
engaged ringExisting engaged state + soft hands-on / wheel torque presence.

6. Constraints honored

7. Why this can beat the current board

Existing entries solve pieces well (dials, Figma systems, narrative writeups). Horizon Halo unifies the brief’s two requirements — confidence spectrum and limit proximity — into one implementable HUD for comma four with an interactive falsifiable demo, explicit signal mapping, and a sound policy that reduces annoyance (the brief’s own complaint about today’s alerts).