## Summary **Goal of this PR** Add an **"In-scope — technically not supported"** section to `SCOPE.md`. This clarifies hardware/UX limitations (e.g., clock support) and is intended to reduce recurring feature requests on topics already discussed. Based on discussions in #287 and #626. --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< NO >**_
59 lines
3.4 KiB
Markdown
59 lines
3.4 KiB
Markdown
# Project Vision & Scope: CrossPoint Reader
|
|
|
|
The goal of CrossPoint Reader is to create an efficient, open-source reading experience for the Xteink X4. We believe a
|
|
dedicated e-reader should do one thing exceptionally well: **facilitate focused reading.**
|
|
|
|
## 1. Core Mission
|
|
|
|
To provide a lightweight, high-performance firmware that maximizes the potential of the X4, prioritizing legibility and
|
|
usability over "swiss-army-knife" functionality.
|
|
|
|
## 2. Scope
|
|
|
|
### In-Scope
|
|
|
|
*These are features that directly improve the primary purpose of the device.*
|
|
|
|
* **User Experience:** E.g. User-friendly interfaces, and interactions, both inside the reader and navigating the
|
|
firmware. This includes things like button mapping, book loading, and book navigation like bookmarks.
|
|
* **Document Rendering:** E.g. Support for rendering documents (primarily EPUB) and improvements to the rendering
|
|
engine.
|
|
* **Format Optimization:** E.g. Efficiently parsing EPUB (CSS/Images) and other documents within the device's
|
|
capabilities.
|
|
* **Typography & Legibility:** E.g. Custom font support, hyphenation engines, and adjustable line spacing.
|
|
* **E-Ink Driver Refinement:** E.g. Reducing full-screen flashes (ghosting management) and improving general rendering.
|
|
* **Library Management:** E.g. Simple, intuitive ways to organize and navigate a collection of books.
|
|
* **Local Transfer:** E.g. Simple, "pull" based book loading via a basic web-server or public and widely-used standards.
|
|
* **Language Support:** E.g. Support for multiple languages both in the reader and in the interfaces.
|
|
* **Reference Tools:** E.g. Local dictionary lookup. Providing quick, offline definitions to enhance comprehension
|
|
without breaking focus.
|
|
|
|
### Out-of-Scope
|
|
|
|
*These items are rejected because they compromise the device's stability or mission.*
|
|
|
|
* **Interactive Apps:** No Notepads, Calculators, or Games. This is a reader, not a PDA.
|
|
* **Active Connectivity:** No RSS readers, News aggregators, or Web browsers. Background Wi-Fi tasks drain the battery
|
|
and complicate the single-core CPU's execution.
|
|
* **Media Playback:** No Audio players or Audio-books.
|
|
* **Complex Annotation:** No typed out notes. These features are better suited for devices with better input
|
|
capabilities and more powerful chips.
|
|
|
|
### In-scope — Technically Unsupported
|
|
|
|
*These features align with CrossPoint's goals but are impractical on the current hardware or produce poor UX.*
|
|
|
|
* **Clock Display:** The ESP32-C3's RTC drifts significantly during deep sleep; making the clock untrustworthy after any sleep cycle. NTP sync could help, but CrossPoint doesn't connect to the internet on every boot.
|
|
|
|
* **PDF Rendering:** PDFs are fixed-layout documents, so rendering them requires displaying pages as images rather than reflowable text — resulting in constant panning and zooming that makes for a poor reading experience on e-ink.
|
|
|
|
## 3. Idea Evaluation
|
|
|
|
While I appreciate the desire to add new and exciting features to CrossPoint Reader, CrossPoint Reader is designed to be
|
|
a lightweight, reliable, and performant e-reader. Things which distract or compromise the device's core mission will not
|
|
be accepted. As a guiding question, consider if your idea improve the "core reading experience" for the average user,
|
|
and, critically, not distract from that reading experience.
|
|
|
|
> **Note to Contributors:** If you are unsure if your idea fits the scope, please open a **Discussion** before you start
|
|
> coding!
|