2 Commits

Author SHA1 Message Date
Adolfo 4a153099f9 fix(bibleverse): fix gui stack overflow after firmware update
Gui task stack is 4096 with 2800 free min. After recent driver migrations,
app overflowed:

- verse_buf[2048] on stack in show_current_verse
- bin_path[320]+idx_path[320] in load_book
- temp[512] in parse_books_json

Caused 'stack overflow in task gui' + LoadProhibited in sdmmc/stat path.

Fix:
- MAX_PATH 320 -> 128 (paths <80 chars)
- temp 512 -> 256
- verse_buf stack -> heap malloc/free
- ref buffers reduced

Also bump manifest to V2 (0.2) required by SDK 0.8.0-dev and versionCode 2.

Tested on 192.168.68.132 (ES3C28P): loads 66 books, displays verse, no reboot.
2026-07-21 14:16:20 -04:00
Adolfo Reyna e9c396df66 feat(BibleVerse): immersive offline bible app - ESP32 color screen
- Single verse fullscreen, auto-advances every minute, tap toggles chrome
- Offline WEB bible split per-book: books.json + 66 bin/idx pairs (~4.1MB)
  - bin = NUL-terminated UTF-8 concatenation, idx = {offset,cnum,vnum}
  - RAM tiny: loads one book at a time, biggest Psalms ~215KB vs 3.8MB monolith
- Adaptive text scaling by length: <40 ultra-large (Jesus wept), <100 large,
  100-200 default, 200-350 small, 350+ compact (Esther 8:9 492c)
- Persistence via user_data_path: progress.txt + favorites.txt (like BookPlayer)
- LVGL fixes: use lvgl_get_text_font(FONT_SIZE_*) - direct montserrat not exported,
  no gradients (bg_grad_color not exported), LV_OPA_95 -> OPA_COVER, format-truncation werror silenced
- Deploys to 192.168.68.112 via PUT /api/apps/install (dashboard port 80, dev 6666 closed)

Tested: build esp32s3 local-sdk 0 missing symbols, 4.2MB .app, screenshot Gen 2:10

Refs: tools/convert_bible.py regenerates assets from WEB source
2026-07-11 17:08:22 -04:00