Files
libre-study/docs/project-state-2026-07-15.md
T

111 lines
5.8 KiB
Markdown

# Project State - 2026-07-15
## Eventual Goal
Libre Study should become a full-featured Bible study program built around open-source code and freely usable resources wherever licensing permits. It should stay platform-agnostic: one shared app core, with adapters for browser/HotView, hosted web, Tauri desktop, and later PWA/mobile surfaces.
LibreBible remains the public resource package lane. Libre Study remains the study workspace and user-data lane.
## Where We Started
The project began as a local Bible reader and Tauri/React shell. The early questions were whether it could consume real Bible data, whether the app could stay independent from a single platform, whether HotView could be the primary development loop, and whether the study surface would be useful enough to guide the architecture.
## Where We Are Now
The project has moved from prototype into early product architecture.
Working HotView behavior includes:
- KJV and NET Bible text.
- Strong's links and lexicon definitions.
- Strong's pronunciation text when the package provides it.
- KJV and NET footnotes and study notes.
- Matthew Henry Concise commentary.
- Easton and Smith dictionary entries.
- OpenBible place context and UBS route labels.
- KJV audio controls from the packaged Eliran Wong source.
- Session-aware resource toggles.
- Notes, timeline, imports, exports, and one-way Nextcloud WebDAV export.
- Structured notebook clips for verses, study resources, links, and pasted/dropped images.
Architecture now includes:
- `src/studyDataClient.ts` as the resource/query contract.
- `src/studyClient.ts` as the browser/Tauri adapter router.
- `src/workspace.ts` as the workspace/auth/session persistence contract.
- Browser/HotView JSON package loading from sibling `W:\libre-bible-data`.
- A Tauri/Rust/SQLite lane that exists but is not currently the lead development lane.
- Hosted login/persistence infrastructure that exists but is parked until explicitly resumed.
## Current Development Loop
HotView is the active loop. Do not run web builds, local builds, installer builds, or hosted deployments unless explicitly requested.
The private intranet/Tailscale target is:
```text
http://desktop:5174/
```
Vite HMR detects the machine's Tailscale IPv4 address when available. `VITE_HMR_HOST` can override that if a device needs a different private address. This is a private development path, not a public internet deployment.
## What We Learned
- Phase completion should mean: source updated, docs/changelog updated, validation run, committed, and pushed to Gitea.
- Current repo state is more authoritative than memory or phase labels.
- KeePass should own project credentials and operating notes where practical.
- Passwords generated for project services should be around 16-20 characters, using uppercase, lowercase, and numbers, without special characters unless a service requires them.
- Nextcloud export is one-way WebDAV export for now, not a primary database or full sync system.
- Browser/HotView currently has the richest resource behavior; desktop hardening comes later.
- Public resource data belongs to LibreBible. User workspace data belongs to Libre Study.
- Do not show fake pronunciation playback controls until licensed pronunciation audio packages exist.
- `desktop` resolves to multiple local addresses on this machine; the Tailscale IPv4 path is the reliable HMR target.
## Where We Are Not Yet
Libre Study is not yet a mature public Bible study application.
Missing or immature areas include:
- Cross-references.
- More commentaries, lexicons, dictionaries, atlas images, and audio packages.
- Licensed pronunciation audio packages.
- Resource install/update/offline package management.
- Mature hosted persistence and account lifecycle.
- Desktop offline hardening and signed installers.
- PWA/mobile adaptation.
- Collaboration.
- Public web release readiness: privacy, terms, license pages, abuse protection, backups, and monitoring.
## Recommended Next Step
After Phase 9, the next work should stay inside one product track at a time. The strongest near candidate is another Study Experience milestone focused on search result navigation, saved searches, richer clipping, and notebook document blocks. Cross-references should wait for a LibreBible cross-reference package.
## Phase 8 Result
Phase 8 completed the consolidation pass. The roadmap now keeps completed foundation phases as an archive and organizes future work by product tracks. The supporting references are:
- [Product Tracks](product-tracks.md)
- [App Architecture Boundaries](app-architecture-boundaries.md)
## Phase 9 Result
Phase 9 started the Study Experience track by changing the workspace into a Bible desk:
- The default desktop layout is now Bible page, verse-focused margin, and study stack.
- The Bible and margin columns resize, and the study stack can be pinned or collapsed into a right-edge tab bar.
- Long-form resources moved into stack books: Notebook, Dictionary, Lexicon, Atlas, Commentary, and Search.
- The middle margin now focuses on the hovered or clicked verse and keeps compact verse material there.
- Margin notes can be written directly against a verse, carry markers like `!` and `?`, and preserve book/chapter/verse plus translation context for export.
- Session exports now include margin-note anchor metadata in JSON, Markdown, HTML, and CSV.
## Phase 10 Result
Phase 10 continued the Study Experience track by making the study-stack notebook a real clipping destination:
- Notebook notes now preserve structured blocks alongside the legacy draft text.
- Verses and study resources can carry clip metadata when dragged into the notebook.
- The notebook accepts dropped text, links, resource clips, image files, and pasted screenshots/images.
- Clips retain source type, title, timestamp, translation, and verse anchor when available.
- Session exports include notebook block data in JSON, Markdown, HTML, and CSV.