Files
StarPilot/system/ui
firestar5683 6e7b197e8a Weevil
2026-08-17 16:36:21 -05:00
..
2026-08-17 16:36:21 -05:00
2026-07-02 16:38:13 -05:00
2026-08-17 16:36:21 -05:00
UI
2026-04-11 23:49:51 -05:00
UI
2026-04-11 23:49:51 -05:00
UI
2026-04-11 23:49:51 -05:00
2026-08-15 11:22:14 -05:00
2026-07-02 16:38:13 -05:00
UI
2026-04-11 23:49:51 -05:00
ui
2026-04-14 17:16:17 -05:00
2025-12-18 23:23:21 -08:00
UI
2026-04-11 23:49:51 -05:00
UI
2026-04-11 23:49:51 -05:00
UI
2026-04-11 23:49:51 -05:00
2026-06-26 16:52:28 -05:00

ui

The user interfaces here are built with raylib.

Quick start:

  • set BIG=1 to run the comma 3X UI (comma four UI runs by default)
  • set SHOW_FPS=1 to show the FPS
  • set STRICT_MODE=1 to kill the app if it drops too much below 60fps
  • set SCALE=1.5 to scale the entire UI by 1.5x
  • set BURN_IN=1 to get a burn-in heatmap version of the UI
  • burn-in prevention shifts the UI by 2 pixels every 3 minutes on device; the shift is blended over 1 second so it is not visible as a jump. Set BURN_IN_PREVENTION=0 to disable it or tune it with BURN_IN_SHIFT_PIXELS, BURN_IN_SHIFT_INTERVAL, and BURN_IN_SHIFT_TRANSITION_SECONDS. TICI/TIZI shift the completed frame through the offscreen presentation path; MICI uses direct shifting by default. Setting WHITE_LUMINANCE_CAP below 1.0 also enables the offscreen presentation path.
  • the C4 UI uses copied camera textures by default to avoid sampling camerad's reusable EGL buffers; set MICI_FORCE_TEXTURE_CAMERA=0 to re-enable EGL for diagnostics
  • set MICI_FORCE_RENDER_TEXTURE=1 to force the C4 UI through the offscreen presentation path for diagnostics
  • set GRID=50 to show a 50-pixel alignment grid overlay
  • set MAGIC_DEBUG=1 to show every dropped frames (only on device)
  • set RECORD=1 to record the screen, output defaults to output.mp4 but can be set with RECORD_OUTPUT
  • https://www.raylib.com/cheatsheet/cheatsheet.html
  • https://electronstudio.github.io/raylib-python-cffi/README.html#quickstart

Style guide:

  • All graphical elements should subclass Widget.
    • Prefer a stateful widget over a function when it simplifies lifecycle management
  • All internal class variables and functions should be prefixed with _