Commit Graph

5 Commits

Author SHA1 Message Date
evan e3153f57c5 feat(runtime): hand the whole app contract to /.lua/main.lua
The firmware knew four paths and called four globals, so the card could
not change its own layout or put anything around an app. It now loads one
file, and the table that file returns owns the rest: start() mounts the
route, home and data name the tree, and every callback is a field on it
rather than a global the app and its chrome would have to share.
2026-08-04 20:51:25 -04:00
evan 4533c7f61f chore: lsp + format 2026-08-04 10:21:18 -04:00
evan 6a9b082f97 feat(runtime): embed platform modules as bytecode
ui.lua and hints.lua are compiled to LUA_32BITS bytecode (matching the
firmware's Lua build) and linked into the binary. A new package.searchers
entry checks them as the fallback after the SD card, so a local
/.lua/lib/ui.lua still shadows the packaged one for debugging.

Bytecode is ~40% smaller than source and loads without parsing. A fresh
SD card with no make sdcard now has the platform available.
2026-08-03 21:08:35 -04:00
evan d53f9b77cd feat(runtime): expose canGoBack for firmware chrome
Firmware needs to know whether a back control would go anywhere, and the
history that answers it belongs to the runtime.
2026-08-03 17:53:27 -04:00
evan 95fa512047 initial commit 2026-08-03 17:46:14 -04:00