2.4 KiB
2.4 KiB
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:touchcommands) - 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:
<leader>mc,<leader>mu,<leader>mm,<leader>ma,<leader>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 marginSTYLE_SPACING_Y- Base vertical marginSTYLE_HEADER_HEIGHT- Header bar heightSTYLE_TILE_GAP- Gap between tilesSTYLE_TILE_PADDING- Tile internal paddingSTYLE_TILE_RADIUS- Tile border radius
Colors
STYLE_COLOR_BG- Screen backgroundSTYLE_COLOR_HEADER- Header backgroundSTYLE_COLOR_FG- Primary text colorSTYLE_COLOR_ALERT- Alert screenSTYLE_COLOR_TILE_1throughSTYLE_COLOR_TILE_4- Tile colors
Useful Commands
# 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