codex_lux_chirho 0.2.0

Cross-platform Bible study application - Codex of Light
codex_lux_chirho-0.2.0 is not a library.

Codex Lux Chirho

For God so loved the world that he gave his only begotten Son, that whoever believes in him should not perish but have eternal life. — John 3:16

Codex Lux Chirho (Latin: "Codex of Light") is a cross-platform Bible study application built with Rust and Slint UI framework, powered by rsword_chirho - a pure Rust SWORD library port.

Features Chirho

Current (v0.1.8)

  • Multi-Module Support Chirho: Load and display SWORD Bible modules via rsword_chirho (RawText, zText, RawCom, zCom, RawLD, zLD formats)
  • Navigation Chirho: Browse all 66 books with Old/New Testament grouping, chapter grid selector, prev/next book buttons
  • Goto Verse Chirho: Jump to any verse with Ctrl+G (supports abbreviations like "Jn 3:16", "Gen 1:1", "1Cor 13:4")
  • Text Display Chirho: Red letter text support, section headings, poetry indentation (0-3 levels), paragraph markers
  • Text Rendering Chirho: Proper rendering of Hebrew (RTL with vowel points) and Greek (with accents)
  • Highlights Chirho: Click verses to highlight them (persisted in SQLite, 5 colors, filter by color)
  • Notes Chirho: Personal notes on verses with save/delete UI, note indicator on verses
  • Bookmarks Chirho: Bookmark verses with sidebar panel, quick navigation to bookmarked verses, edit labels
  • Reading History Chirho: Track and navigate to recently read chapters
  • Search Chirho: Case-insensitive text search with scope selection (All, OT, NT, Current Book)
  • Data Persistence Chirho: SQLite database for highlights, bookmarks, notes, and settings
  • State Restoration Chirho: Remembers your last location between sessions
  • Theme Toggle Chirho: Dark, Light, Sepia, and High Contrast themes with Ctrl+T shortcut
  • Font Scaling Chirho: Adjustable scripture text size, line height, and font family
  • Settings Panel Chirho: Theme, font, paragraph mode, data export, and keyboard shortcuts reference
  • Module Manager Chirho: Browse available SWORD modules, view install status (Ctrl+M)
  • Quick Navigation Chirho: Command palette style navigation with Ctrl+K (fuzzy book search, recent history)
  • Context Menu Chirho: Right-click verses for quick actions (copy, bookmark, highlight, note, compare translations)
  • Copy Format Options Chirho: Configurable copy format (Text-Ref, Ref:Text, Text Only) with verse number toggle
  • Data Import/Export Chirho: Export/import highlights, bookmarks, notes to JSON for backup and restore
  • First-Run Onboarding Chirho: Welcome wizard with feature tour and keyboard shortcuts guide
  • Accessibility Chirho: Reduce motion option, focus indicators toggle, high contrast theme
  • Parallel View Chirho: Side-by-side translation comparison with Ctrl+P (select second module to compare)
  • Info Panel Chirho: Contextual verse details sidebar with Ctrl+I (verse reference, text, highlight/bookmark/note status)
  • Statistics Chirho: Reading progress tracking with Ctrl+Y (chapters read, reading streaks, study activity counts)
  • Study Journal Chirho: Personal Bible study journal with Ctrl+J (create entries, link to verses, add tags)
  • Prayer List Chirho: Prayer request tracking with Ctrl+R (add requests, link to verses, mark answered, categories)
  • Verse of the Day Chirho: Daily devotional verse with Vd toolbar button (31+ curated verses)
  • Strong's Numbers Chirho: Hebrew/Greek Strong's concordance lookup with H button and popup definitions
  • Morphology Display Chirho: Greek and Hebrew grammatical analysis with M button (Robinson/OSHM parsing)
  • Cross-References Chirho: Scripture cross-reference display with Xr button (clickable refs, popup preview)
  • Footnotes Chirho: Translator and textual footnotes with Fn button (alternative readings, variant notes)
  • Reading Plans Chirho: Pre-built Bible reading plans with Pl toolbar button (1-year, 90-day NT, Gospels, Psalms/Proverbs, Chronological)
  • Commentary Chirho: Commentary integration with Cm toolbar button (Ctrl+Shift+C) - auto-sync with current verse, module selection
  • Lexicon Chirho: Dictionary/lexicon lookup with Lx toolbar button (Ctrl+Shift+L) - search, A-Z browse, entry history
  • Interlinear Chirho: Word-by-word Hebrew/Greek display with interlinear toolbar button (Ctrl+Shift+I) - original text, transliteration, morphology, Strong's, gloss
  • Versification Systems Chirho: Support for KJV, Catholic, Orthodox, LXX, Vulgate, Luther versification
  • Toolbar Tooltips Chirho: Hover over toolbar buttons to see feature names and keyboard shortcuts
  • Keyboard Shortcuts Chirho: Navigate quickly with keyboard (28+ shortcuts)
  • Verse Comparison Chirho: Compare verse across multiple translations in a dedicated dialog

Keyboard Shortcuts Chirho

Shortcut Action
< / > Previous / Next chapter
<< / >> Previous / Next book (toolbar)
Ctrl+F Toggle search panel
Ctrl+G Goto verse dialog
Ctrl+K Quick navigation (command palette)
Ctrl+B Toggle books sidebar
Ctrl+D Toggle bookmarks panel
Ctrl+H Toggle highlights panel
Ctrl+I Toggle info panel (verse details)
Ctrl+N Toggle notes panel
Ctrl+M Toggle module manager panel
Ctrl+P Toggle parallel view (side-by-side translations)
Ctrl+T Cycle themes (Dark → Light → Sepia → High Contrast)
Ctrl+Y Toggle statistics panel (reading progress)
Ctrl+J Toggle study journal panel
Ctrl+R Toggle prayer list panel
Ctrl+Shift+V Show Verse of the Day dialog
Ctrl+Shift+S Toggle Strong's Numbers display
Ctrl+Shift+M Toggle Morphology display
Ctrl+Shift+X Toggle Cross-References display
Ctrl+Shift+F Toggle Footnotes display
Ctrl+Shift+P Toggle Reading Plans panel
Ctrl+Shift+C Toggle Commentary panel
Ctrl+Shift+L Toggle Lexicon panel
Ctrl+Shift+I Toggle Interlinear panel
Ctrl+, Toggle settings panel
Escape Close dialogs/panels

Planned Features Chirho

See PRD_CHIRHO.json for the complete product roadmap with 55+ features including:

  • Full-text search with Tantivy indexing (in progress)
  • Module management (install/uninstall from CrossWire)
  • Audio Bible playback
  • Scripture memory tools
  • Mac App Store, iOS, and Android distribution

Tech Stack Chirho

  • Language: Rust
  • UI Framework: Slint - Native cross-platform UI
  • Bible Engine: rsword_chirho - Pure Rust SWORD library port with full binary format support
  • Database: SQLite via rusqlite
  • Search: Tantivy full-text search engine

rsword_chirho SWORD Library Chirho

Codex Lux Chirho is powered by rsword_chirho, a pure Rust port of the SWORD Bible software library featuring:

  • Full Binary Format Support Chirho: RawText, RawText4, zText (compressed) modules
  • Commentary Support Chirho: RawCom, zCom formats
  • Lexicon Support Chirho: RawLD, zLD dictionary formats
  • Compression Chirho: zlib, bzip2, and xz decompression
  • Versification Chirho: KJV, Catholic, LXX, and other versification systems
  • CLI Tools Chirho: diatheke_chirho, installmgr_chirho, and module creation tools
  • Module Management Chirho: Install from CrossWire and other SWORD repositories

Building Chirho

Prerequisites Chirho

  • Rust 1.70 or later
  • Cargo

Build & Run Chirho

# Development build
cargo build

# Run the application
cargo run

# Release build
cargo build --release

# Run tests
cargo test

# Run clippy
cargo clippy

Project Structure Chirho

codex_lux_chirho/
├── Cargo.toml              # Rust dependencies
├── build.rs                # Slint UI compilation
├── PRD_CHIRHO.json         # Product requirements document
├── README.md               # This file
├── src/
│   └── main.rs             # Application entry point and backend
│       ├── database_chirho # SQLite database module
│       └── bible_engine_chirho # rsword_chirho integration
└── ui_chirho/
    └── main_chirho.slint   # Slint UI definition

Data Storage Chirho

User data is stored in a SQLite database at:

  • macOS: ~/Library/Application Support/com.rsword.codex-lux/codex_lux_chirho.db
  • Linux: ~/.local/share/codex-lux/codex_lux_chirho.db
  • Windows: %APPDATA%\rsword\codex-lux\codex_lux_chirho.db

The database stores:

  • Highlights Chirho (verse location, color, timestamp)
  • Bookmarks Chirho (verse location, label, folder)
  • Notes Chirho (verse location, content, timestamps)
  • Settings Chirho (key-value pairs)
  • Reading History Chirho (navigation log)

Naming Convention Chirho

All identifiers follow the Chirho suffix convention:

Rust (snake_case + _chirho)

  • Variables: variable_name_chirho
  • Functions: function_name_chirho
  • Structs: StructNameChirho
  • Constants: CONSTANT_NAME_CHIRHO

Slint UI (kebab-case + -chirho)

Slint language requires kebab-case for identifiers:

  • Properties: property-name-chirho
  • Callbacks: callback-name-chirho
  • Components: ComponentNameChirho

License Chirho

GPL-2.0-or-later

Contributing Chirho

Contributions welcome! Please ensure:

  • All new code follows the Chirho naming convention
  • John 3:16 comment header on all source files
  • Tests for new functionality
  • No secrets in git (use .env files)

Credits Chirho

  • SWORD Project for the module format specification
  • Slint UI framework
  • rsword_chirho Rust SWORD library

Soli Deo Gloria