# Session Notes - 2026-02-19 ## What's Been Done ### Build System - Fixed mise.toml compile task (single quotes, proper shell escaping) - Added upload task back - All 3 boards now compile successfully ### Code Changes - Added font abstraction (`setTitleFont`, `setBodyFont`, `setLabelFont`, `setDefaultFont`) - Added CSS-like styling constants (`STYLE_*` in board_config.h) - Added Layout helpers in `KlubhausCore/src/Style.h` - Added `drawDebugTouch()` for red crosshair debug feature - Added test harness for touch injection (`TEST:touch` commands) - Fixed dashboard tile layout to use STYLE constants ### Neovim Integration - Added keymaps in `~/.config/nvim/lua/config/keymaps.lua` - Board auto-detection from current file path - Notifications via `vim.notify()` on task completion/failure - Keybindings: `mc`, `mu`, `mm`, `ma`, `mk` ### Documentation - Updated AGENTS.md with Style System section - Updated RTK section (slimmed down) - Added note about multiple mise tasks with `&&` ## Current Issues / TODO ### High Priority - [ ] Test touch coordinates on esp32-s3-lcd-43 - crosshair should show where user taps - [ ] Debug why tiles overlap header (should be fixed with STYLE_HEADER_HEIGHT) ### Medium Priority - [ ] Add theme support (dark/light mode) - [ ] Fix esp32-32e and esp32-32e-4 dashboard rendering ### Low Priority - [ ] Add more tile labels for esp32-s3-lcd-43 (currently just "1", "2", "3"...) ## Board Status | Board | Display | Build | Notes | |-------|---------|-------|-------| | esp32-s3-lcd-43 | 800x480 | ✅ 35% | Main development board | | esp32-32e-4 | 320x480 | ✅ 83% | | | esp32-32e | 320x240 | ✅ 82% | | ## Style Constants Reference ### Spacing (in board_config.h) - `STYLE_SPACING_X` - Base horizontal margin - `STYLE_SPACING_Y` - Base vertical margin - `STYLE_HEADER_HEIGHT` - Header bar height - `STYLE_TILE_GAP` - Gap between tiles - `STYLE_TILE_PADDING` - Tile internal padding - `STYLE_TILE_RADIUS` - Tile border radius ### Colors - `STYLE_COLOR_BG` - Screen background - `STYLE_COLOR_HEADER` - Header background - `STYLE_COLOR_FG` - Primary text color - `STYLE_COLOR_ALERT` - Alert screen - `STYLE_COLOR_TILE_1` through `STYLE_COLOR_TILE_4` - Tile colors ## Useful Commands ```bash # Compile and upload mise run compile && mise run upload && mise run monitor # Debug touch (in serial monitor) TEST:touch X Y press TEST:touch X Y release TEST:touch clear ```