e68909d64d
Main / Build (BookPlayer) (push) Has been cancelled
Main / Build (Brainfuck) (push) Has been cancelled
Main / Build (Breakout) (push) Has been cancelled
Main / Build (Calculator) (push) Has been cancelled
Main / Build (Diceware) (push) Has been cancelled
Main / Build (EpubReader) (push) Has been cancelled
Main / Build (GPIO) (push) Has been cancelled
Main / Build (GraphicsDemo) (push) Has been cancelled
Main / Build (HelloWorld) (push) Has been cancelled
Main / Build (M5UnitTest) (push) Has been cancelled
Main / Build (Magic8Ball) (push) Has been cancelled
Main / Build (MediaKeys) (push) Has been cancelled
Main / Build (MystifyDemo) (push) Has been cancelled
Main / Build (SerialConsole) (push) Has been cancelled
Main / Build (Snake) (push) Has been cancelled
Main / Build (TamaTac) (push) Has been cancelled
Main / Build (TodoList) (push) Has been cancelled
Main / Build (TwoEleven) (push) Has been cancelled
Main / Bundle (push) Has been cancelled
- Migrates tactility-app-development from ~/.hermes/skills/ into .claude/skills/ for repo co-location - Adds AGENTS.md with local workstation context, hardware table, board-direct build/env wrapper (PYTHONPATH fix), ELF missing-symbol triage, app patterns (immersive, QVGA rail, tutorial 2-row, GameKit bubbling, screenshot rate-limit), and skill index Refs: personal Gitea mirror
53 lines
3.0 KiB
Markdown
53 lines
3.0 KiB
Markdown
# v6 Black Bar Crop Fix + 15px Lift Correction — July 12 BibleVerse on .129 final 2142871
|
|
|
|
**Symptom:**
|
|
Vision: "black bar on the top cropping the text" — Habakkuk screenshots 4539 bytes showed 44px dark bar `#15151F COVER` + border overlapping center column, cutting first line. Also "reduce text size a bit for this font" — Georgia Italic 26pt wider than Montserrat LARGE. Then "main text can be moved a bit up 30px, seems padding favoring empty space on top." → corrected "We sent the text 30px up, but I think it should had been 15".
|
|
|
|
**Root cause header:**
|
|
```c
|
|
lv_obj_set_size(hb, LV_PCT(100), 44); bg #15151F COVER border 1 #232338
|
|
center_col lv_obj_center size 90%x80%
|
|
verse pad_all 6 font 26
|
|
```
|
|
|
|
**Fix v6 final 15px lift:**
|
|
1. Header transparent same root no border smaller:
|
|
```c
|
|
size 36 not 44; bg #0E0E14 same as parent root was #15151F; bg_opa TRANSP was COVER; border 0 was 1; pad_ver 4 was 0
|
|
```
|
|
2. Ctrl bar also TRANSP editorial: bg #0E0E14 TRANSP border 0 was #15151F COVER + top border
|
|
3. Center shift + lift correction:
|
|
```c
|
|
// was center
|
|
size 90%x82% // 80->82
|
|
align CENTER 0,8 // +8 down to clear statusbar
|
|
// then 30px up request -> 0,-22
|
|
// then correction 15px up -> 0,-7 = +8 base -15 = 15px up balanced final
|
|
// pad verse 4 not 6
|
|
```
|
|
Vision Zeph 1:3 after -7: "balanced now, optical center correct, prevents sitting on buttons, 1.5x padding above controls, no excessive top space" PASS. No black bar Hab 2:9 "No extra black bar overlapping, fully visible".
|
|
|
|
4. Georgia Italic down-tier wider than Montserrat:
|
|
```c
|
|
Before: LARGE->26 DEFAULT->20 SMALL->16
|
|
After v6: LARGE->22 was 26, DEFAULT->18 was 20, SMALL->16, ultra <40c still 26 via resolve_verse_font_ultra
|
|
pads tighter: <40 6/20 not 10/28, <100 4/16 not 8/24, <200 3/14 not 6/20, <350 2/12 not 4/16, 350+ 1/8 not 2/12
|
|
```
|
|
|
|
5. Menu auto-show 10s + book anim: See immersive-ui.md and book-browser.md v6 final. Timer gotcha: `t->user_data` incomplete typedef error in SDK 0.8.0-dev → must use `lv_timer_get_user_data(t)` (exported 382/388). Verified .129 menu show 8683 bytes.
|
|
|
|
**Verification final 2142871:**
|
|
- Build 4.3M `tactility.py build esp32s3 --local-sdk` ok, ELF 0 missing
|
|
- Install .129: heap `46215-47591 free largest 20480 psram 4810396` stable, ss `5335 serif` vs `3991 sans` vs `8683 menu visible` vs `6882 immersive`
|
|
- Vision checks: Hab 2:9 no crop, Zeph 1:3 balanced 15px lift, menu chrome visible at 0.8s then hidden showing premium cinematic
|
|
- Screenshot rate-limit >2s between to avoid `ConnectionResetError 54` heap spike from encoder
|
|
|
|
**Lessons:**
|
|
- Avoid opaque header on immersive — use root bg TRANSP so no crop when mistakenly visible
|
|
- When swapping Mont→Georgia reduce one tier — 26pt serif ~22pt sans visual
|
|
- Lift correction: base CENTER 0,8 too low empty top → 30px up → user corrected 15px up → -7 final, always confirm lift target in vision
|
|
- Timer incomplete typedef: use getter, not direct field
|
|
- Screenshot burst OOM — wait 2s+
|
|
|
|
See immersive-ui.md v6 final + pretty-font.md v6 final + book-browser.md v6 final. Beautiful per user final approval.
|