Commit Graph

39 Commits

Author SHA1 Message Date
Developer
31efa90a87 fix(reader): skip leading newlines after page split to prevent blank top/bottom 2026-05-15 23:12:52 +08:00
Developer
7602121fda fix(pagination): balance window_back=1line, safety_h=0.96, recalc_height=-45 2026-05-15 22:16:39 +08:00
Developer
cbb0ee373a fix(pagination): shrink window_back to half-line, improve height estimation (-40px, safety 0.98) 2026-05-15 22:11:32 +08:00
Developer
a6e011261d fix(pagination): shrink window_back to 2 lines, reduce default paragraph spacing to 0 2026-05-15 21:57:45 +08:00
Developer
93f529e700 fix(style): spacing directly represents blank lines between paragraphs (1 or 2) 2026-05-15 21:43:30 +08:00
Developer
362acfddbf fix(style): fix paragraph spacing formula, reduce from 2x to linear extra lines 2026-05-15 21:34:19 +08:00
Developer
9d09e991f4 fix(pagination): rewrite calculate_pages to track lines instead of chars, newlines consume vertical height not horizontal 2026-05-15 21:26:34 +08:00
Developer
669650147b feat(layout): detect reflowable vs fixed-layout EPUB, fix pagination overflow 2026-05-15 21:11:57 +08:00
Developer
e2ed63a982 fix(pagination): paginate styled content to account for indent and paragraph spacing 2026-05-15 20:47:31 +08:00
Developer
33ec709a5e fix(pagination): recalc pages before progress bar using current available height 2026-05-15 20:09:54 +08:00
Developer
0d0700cf89 fix(pagination): recalculate with exact text_rect dims inside CentralPanel, validate current_page 2026-05-15 20:05:34 +08:00
Developer
1cb0c2aef2 fix(pagination): use accurate text area dimensions and char_width=1.0 for Chinese, sync pages before toolbar 2026-05-15 20:00:22 +08:00
Developer
4e79181e07 fix(pagination): recalculate pages using actual text area size, fix char_width for Chinese 2026-05-15 19:43:40 +08:00
eecab02ead 修复崩溃问题:字节索引和字符索引不匹配导致的 Option::unwrap() panic 2026-05-15 13:44:46 +08:00
19336d5d34 标题粗体显示:h1-h6 标题在正文中标粗区分 2026-05-15 12:09:11 +08:00
b51ce6853b 修复侧边栏标签页状态无法保持的问题 2026-05-15 11:32:04 +08:00
2df605c864 细化书签功能:正文指示器、侧边栏书签列表、跳转功能 2026-05-15 11:27:22 +08:00
Developer
88f15d307a feat(bg): multi-background support with kraft, manuscript, composition, and custom image 2026-05-14 23:19:14 +08:00
Developer
a82fa6b7b6 fix(styling): fullscreen kraft paper bg, persistence preset refresh, reader cleanup 2026-05-14 22:50:01 +08:00
Developer
0521439281 fix: use extreme style values (14/20/26 font), remove RichText::line_height, fix para spacing threshold 2026-05-14 21:19:15 +08:00
Developer
4655ad5d31 fix: differentiate style presets with wider font/line/paragraph spacing values, apply paragraph_spacing 2026-05-14 21:13:49 +08:00
Developer
515ec0e07d fix: replace profile cycle button with ComboBox for instant style switching 2026-05-14 21:08:31 +08:00
Developer
7d056e2670 feat: add typography style system with profiles, alignment, line spacing, first-line indent 2026-05-14 21:02:34 +08:00
Developer
d69229b1ca feat: add kraft paper tiled background texture for comfortable reading 2026-05-14 20:49:27 +08:00
Developer
16f801cdf8 feat: improve HTML text extraction with paragraph preservation, add reading margins, paragraph-aware pagination 2026-05-14 20:43:29 +08:00
b0071c6617 功能更新: 目录点击跳转、翻页按钮移至底部右侧、所有按钮添加悬停提示 2026-05-14 17:28:40 +08:00
Developer
88afb217c6 docs: add README with features, build instructions, and tech stack 2026-05-13 23:55:44 +08:00
Developer
4a1ac384a1 feat: wire App with reading view dispatch, theme toggle, and reading position save 2026-05-13 23:52:21 +08:00
Developer
d1c3a9058a Implement reading view with paginated text, TOC sidebar, toolbar, progress bar, and navigation 2026-05-13 23:50:39 +08:00
Developer
51356f7258 Implement Welcome screen + App skeleton with state management, file opening, and settings persistence 2026-05-13 23:44:36 +08:00
Developer
17fbe7efbb feat: add create_style function with light/dark theme support 2026-05-13 23:43:02 +08:00
Developer
5bf11256b7 Implement settings persistence with save/load functions and tests 2026-05-13 23:41:24 +08:00
Developer
103f767e53 Implement Chinese font loading with NotoSansSC 2026-05-13 23:35:54 +08:00
Developer
46fe8c4da5 Implement pagination algorithm with TDD
Add calculate_pages function that splits text into page boundaries
by character offset. Includes tests for empty, single-page, multi-page,
and zero-chars-per-page edge cases.
2026-05-13 23:24:25 +08:00
Developer
79d2fcd75c fix: address code review issues in EpubLoader 2026-05-13 23:16:50 +08:00
Developer
5f66478c26 Implement EpubLoader with load_epub, extract_title, and build_toc functions 2026-05-13 23:09:01 +08:00
Developer
072a47378d Define core data models for book and theme 2026-05-13 23:02:04 +08:00
Developer
8b42a3d679 Remove unnecessary egui dependency, use eframe::egui re-exports instead 2026-05-13 22:58:33 +08:00
Developer
2bdb8a90b9 Initial project scaffold: Rust egui ePub reader
- Cargo.toml with eframe, egui, epub, rfd, serde dependencies
- Source modules: app, book, font, persistence, reader, theme
- MinGW static linking config
- .gitignore for build artifacts
2026-05-13 22:56:10 +08:00