Skip to content

docs: add project roadmap#2

Merged
gvonness-apolitical merged 1 commit intomainfrom
docs/roadmap
Feb 1, 2026
Merged

docs: add project roadmap#2
gvonness-apolitical merged 1 commit intomainfrom
docs/roadmap

Conversation

@gvonness-apolitical
Copy link
Copy Markdown
Collaborator

Summary

Adds a comprehensive roadmap document outlining the path from initial release to v1.0.

Phases

  1. Release Preparation - GitHub config, first npm release, testing
  2. Core Improvements - Error handling, accessibility, performance
  3. Reading Experience - TOC, search, text selection, zoom
  4. Personalization - Themes, typography, bookmarks, annotations
  5. Offline & PWA - Service worker, IndexedDB, installable app
  6. Advanced Features - Print, analytics, additional formats

Changes

  • Added ROADMAP.md with detailed feature breakdown
  • Updated README.md to link to roadmap

@gvonness-apolitical gvonness-apolitical merged commit 29a6170 into main Feb 1, 2026
2 checks passed
@gvonness-apolitical gvonness-apolitical deleted the docs/roadmap branch February 1, 2026 15:17
gvonness-apolitical added a commit that referenced this pull request Feb 1, 2026
* feat: initial implementation of Speed-Read (#1)

This commit introduces the complete MVP for Speed-Read, a lightweight
embeddable document reader for EPUB, PDF, and CBZ files.

Key features:
- Core validation layer (file size, magic bytes, DRM detection)
- Format-specific readers (EPUB via epub.js, PDF via pdf.js, CBZ via native ZIP)
- Unified page controller with keyboard and touch navigation
- Web Component <speed-reader> using Lit
- React <Reader /> component
- Manifest support for episodic/serial content
- CSS custom properties for theming
- CI/CD workflows (CI, release, docs)
- Comprehensive documentation and demo site

Tested with 32 unit tests covering validation and navigation.

* docs: add project roadmap and link from README (#2)

* feat(phase1): add sample files, troubleshooting docs, and improved demo (#3)

- Add sample test files (EPUB, PDF, CBZ) for manual testing
- Add comprehensive troubleshooting guide with CORS solutions
- Update demo page with sample file buttons and better UX
- Link troubleshooting from getting-started docs

* Rename package to @entrolution/speed-read

npm rejected "speed-read" as too similar to existing "speedread".
Updated all documentation and CDN references to use the scoped name.

* Migrate to entrolution GitHub organization

- Update all repository URLs and links
- Update GitHub Pages URL
- Update CODEOWNERS
- Switch release workflow to npm Trusted Publishing (OIDC)

* Fix GitHub Pages deployment and dev server

- Add sample files to docs build output
- Fix sample URLs to work with base path
- Add vite.dev.config.ts for local development with samples
- Update roadmap with completed items

* Mark demo site verification complete

* Fix sample.pdf with valid PDF file

Previous sample.pdf was returning HTML from source. Replaced with
Mozilla pdf.js test file which is properly licensed (Apache 2.0).

* Fix PDF.js worker URL to use jsdelivr

The cdnjs CDN doesn't have pdfjs-dist v4.0.379. Switch to jsdelivr
which serves npm packages directly and has the correct version.

* Add cache-busting to sample URLs

* Fix content cutoff and CBZ decompression

- Change reader-content overflow from hidden to auto for scrolling
- Center content in reader container
- Fix PDF scaling to fit both width and height
- Improve CBZ decompression with better error handling

* Switch to self-hosted runners and fix reader issues

Workflows:
- Update all workflows to use self-hosted runners

EPUB reader:
- Use explicit pixel dimensions for epub.js rendering

CBZ reader:
- Rewrite ZIP parser to use Central Directory for robustness
- Handles data descriptors and various ZIP formats correctly

Component:
- Change overflow from hidden to auto for scrolling
- Center content in reader container

* Revert to GitHub-hosted runners

* Fix EPUB rendering with dedicated container

- Create absolute-positioned container for epub.js
- Remove flexbox centering that interfered with epub.js iframe
- Add min-height: 0 for proper flex child sizing

* Fix EPUB pagination with proper container dimensions

- Use requestAnimationFrame to ensure layout is complete before measuring
- Set explicit pixel dimensions on epub container
- Remove continuous manager, use default for proper pagination

* Remove overflow:hidden from epub container

* Fix EPUB pagination following official examples

- Use "100%" width string as in epub.js examples
- Add padding to body via themes.default
- Use position: relative on container

* Replace epub.js with foliate-js for EPUB rendering

- Switch from epub.js to foliate-js library for better pagination support
- Use foliate-js native CSS column-based navigation instead of
  fraction-based PageController navigation
- Add custom keyboard navigation for EPUB that directly uses foliate-js
- Add debounced relocate event handling to prevent UI flickering
- Fix sample file serving with correct MIME types in dev server
- Fix CBZ reader lint error (while loop condition)
- Add TypeScript declarations for foliate-js

This fixes the issue where EPUB content was getting cut off at page
boundaries and navigation was skipping pages incorrectly.

* Add typeRoots for foliate-js type declarations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant