refactor(lua): give the status bar its own dirty tracking and split settings out of sys

The bar repainted itself whole every second. It now compares each field against what
it last painted, adds seconds and a memory percentage, and keys the cache on
gui.getRotation() and ui.themeName so rotation and theme changes still repaint it.
Invalidation lives entirely in Lua; the firmware's push flag and gfx/statusbar.h are gone.

Bindings follow getName/setName/isName, persisted preferences move from sys to a settings
table, and gui.setRotation takes degrees like settings does. A bar that dies mid-run now
keeps its rows reserved rather than silently resizing the running app.
This commit is contained in:
2026-08-02 10:49:01 -04:00
parent b9b620ad2b
commit b5146b8642
21 changed files with 454 additions and 270 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ void registerInput(lua_State* L) {
{"getRawTouch", l_input_getRawTouch},
// --- Whether the panel is being touched.
// @return boolean
{"touched", l_input_touched},
{"isTouched", l_input_touched},
{nullptr, nullptr}};
luaL_newlib(L, lib);
lua_setglobal(L, "input");