Skip to content

v0.3.0 — Phase 3: Polish (bookmarks, sessions, wishlist, inline images)

Choose a tag to compare

@prajwalmahajan101 prajwalmahajan101 released this 09 Jun 14:50

Phase 3 — Polish

The biggest single phase. Adds bookmarks, reading-session tracking, wishlist (phantom books), and inline image rendering.

What's in

  • Bookmarks — `m` to add, `'` to list and jump. JSON store for library-less reading; SQLite store for the library path.
  • Reading sessions — `sessions` schema + repo + service; reader session lifecycle; orphan-close on dirty exit; `Time` column in library; `stats` CLI subcommand.
  • Wishlist / phantom books — add a book to the library before you have the EPUB; `A` opens the wishlist modal; phantom rows show a glyph; `attach_epub` promotes a phantom to a real book. Adds migration `0002` for the phantom schema.
  • Inline images — extract images at parse time as `ImageResource` on `Book`; `render_chapter_blocks` emits text + image blocks; `ChapterView` mounts text + image widgets per block (inline kitty / sixel where the terminal supports it, `[image: alt]` fallback otherwise).
  • ADR-0004 records the Phase 3 data model.

Numbers

14 commits, +1,717 / −45 lines. New tests for bookmarks (library + JSON store roundtrips), phantom add/attach/list paths, and session repo paths.

Anchor commit: `41e537c`