Consolidate roadmap into product tracks

This commit is contained in:
2026-07-15 18:20:09 -05:00
parent 759a75f50e
commit 55f7014aea
10 changed files with 292 additions and 194 deletions
+86
View File
@@ -0,0 +1,86 @@
# App Architecture Boundaries
Libre Study should remain one app with platform adapters, not a set of separate apps.
## Shared Core
The UI should talk to stable app-level contracts:
- resource catalog queries
- translation and page loading
- search
- Strong's lookup
- notes/commentary/dictionary/map/audio lookup
- session state
- user workspace persistence
- import/export
- authentication where a platform supports it
Primary files today:
- `src/studyDataClient.ts`: resource/query interface.
- `src/studyClient.ts`: browser and Tauri resource adapters.
- `src/workspace.ts`: workspace, auth, session, settings, and timeline persistence contracts.
- `src/sessionPortability.ts`: session export/import and one-way Nextcloud export.
## Resource Data Boundary
LibreBible owns public resources:
- translations
- Strong's links
- lexicons
- footnotes and study notes
- commentaries
- dictionaries
- places, routes, maps, and media
- audio metadata and packages
- license and attribution metadata
Libre Study consumes those packages. It should not become the canonical source for public Bible resources.
## User Data Boundary
Libre Study owns user workspace data:
- sessions
- notes
- timeline events
- view settings
- resource toggles
- tags and future highlights
- saved searches
- exports
- future collaboration state
User data should never be mixed into public LibreBible packages.
## Adapter Lanes
### HotView / Browser
Current lead lane. Uses Vite, local package reads, browser storage, and the private Tailscale/local intranet dev URL.
Normal URL:
```text
http://desktop:5174/
```
Vite HMR should use the detected Tailscale IPv4 address when available. `VITE_HMR_HOST` remains the override for other private addresses.
### Hosted Web
Parked until explicitly resumed. It may use login, remote persistence, private hosted resource URLs, and later collaboration services. Hosted deployment is not part of the normal HotView loop.
### Tauri Desktop
Future hardening lane. It should remain account-optional and offline-capable. Desktop storage can use SQLite and local package installation/update management.
### PWA / Mobile
Future lane. Evaluate responsive web and PWA behavior before considering mobile Tauri or native shells.
## Current Rule
When adding new features, first decide which shared contract owns the behavior. Only then wire platform-specific adapter details. This keeps browser, hosted web, desktop, and future mobile from drifting into separate products.
+119
View File
@@ -0,0 +1,119 @@
# Product Tracks
Phase 8 converts the completed foundation phases into durable product tracks. Future implementation phases should choose one track and define a narrow, finishable milestone inside it.
## Study Experience
Purpose: make the app feel like a serious Bible study workspace.
Current foundation:
- Page-first reader.
- Study margin.
- Session-aware resource toggles.
- Strong's links and definitions.
- Notes drawer.
- Timeline.
- Search.
- Maps and audio controls where resources exist.
Good next milestones:
- Cross-reference UX after a LibreBible package exists.
- Better search result navigation and saved searches.
- Highlights and richer note clipping.
- Sermon/study document workflows.
- Responsive layout and accessibility pass.
## Resource Ecosystem
Purpose: keep public Bible/study resources reusable, attributed, and separate from user data.
Current foundation:
- LibreBible packages are consumed from `W:\libre-bible-data\packages\json`.
- App-level query contracts hide the backing storage surface.
- Existing resources include KJV, NET, Strong's, notes, commentary, dictionaries, places/routes, and KJV audio metadata.
Good next milestones:
- Cross-reference package.
- Additional commentaries and dictionaries.
- Atlas images/media.
- Licensed pronunciation audio.
- Package install/update metadata.
- Offline package management for desktop.
## Persistence And Sync
Purpose: preserve study work across sessions and platforms without making any one backend mandatory.
Current foundation:
- Versioned local workspace snapshot.
- Structured session notes.
- Session timeline.
- JSON import/export.
- Markdown, HTML, and CSV export.
- Optional one-way Nextcloud WebDAV export.
- Hosted workspace client boundary exists but is not the active development lane.
Good next milestones:
- Import validation and conflict handling.
- Better workspace migration tests.
- Explicit backup/restore workflow.
- Hosted single-user persistence after deployment is explicitly resumed.
- Only consider sync after one-way export/import is reliable.
## Platform Adapters
Purpose: keep one app core while allowing platform-specific storage, packaging, and runtime behavior.
Current foundation:
- Browser/HotView adapter is the active lead lane.
- Hosted web adapter exists for login/workspace API but is parked.
- Tauri adapter exists with Rust/SQLite work but is not feature-parity with browser resources.
- HotView runs on private Tailscale/local intranet at `http://desktop:5174/`.
Good next milestones:
- Keep browser adapter clean and fast.
- Resume hosted web only through an explicit release/deploy pass.
- Harden Tauri once the study model is stable.
- Evaluate PWA/mobile after responsive web is proven.
## Public Responsibility
Purpose: prepare for responsible public use before public accounts or public hosted access.
Current foundation:
- Public resource/user workspace ownership split is documented.
- License attribution appears in resource surfaces.
- Public release is intentionally not the current active loop.
Good next milestones:
- License and attribution pages.
- Privacy and terms pages.
- Backups and monitoring.
- Password reset and account lifecycle.
- Abuse/rate-limit controls before public signup.
## Collaboration
Purpose: support shared Bible study without turning the app into a social network.
Current foundation:
- Sessions and exports can already carry study context.
- Timeline events already record study actions.
Good next milestones:
- Shareable read-only session exports or links.
- Shared sessions with explicit owners and participants.
- Collaborative notes before whiteboards.
- Conflict-safe document model only after single-user persistence works.
+7
View File
@@ -90,3 +90,10 @@ Consolidation should turn the completed Phase 1-7 foundation into durable produc
- Collaboration.
The goal is to preserve the platform-agnostic architecture before adding more features.
## 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)