4e4e815995
- Manifest: HideStatusBar flag, version 0.2.0 - app_on_show: remove toolbar, get display resolution via lv_display_get_horizontal_resolution, allocate 320x480 framebuffer in PSRAM - Dynamic game_w/h, fb_w/h in AppCtx, set_px/fill_rect use dynamic size - touch_event_cb uses dynamic max_w/h - On-demand refresh: l_game_set_frame_updates sets wants_frame_updates flag - Pico games without set_frame_updates (solitaire) only redraw on touch events - Continuous games (breakout, pong) with set_frame_updates(true) use FRAME_TICK every 16ms - Initial draw after init for on-demand games - FPS tracking only when redraw occurs - Solitaire optimized: LEFT 37->4, GAP 10->4, TOP_Y 30->4, TAB_Y 98->60, removed draw_terminal_chrome (outer frame + title bar + window controls) - Uploaded optimized solitaire via /fs/upload?path=/sdcard/lua/solitaire.lua (24430 bytes) - Tested fullscreen: display 320x480, no toolbar, screenshot shows chrome removed, white pixels 3197 (cards only) - Logs show no continuous FPS spamming for solitaire (on-demand)