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

5.9 KiB

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:

  • ASV, 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:

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.

After Phase 10, the next work should stay inside one product track at a time. Strong near candidates are search result navigation, saved searches, richer notebook document workflows, or a Resource Ecosystem phase for cross-references and additional freely usable translations/resources. Cross-reference UI 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:

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.