F6: cross-references and footnotes (module markup + TSK) #13

Open
opened 2026-10-20 18:52:05 +00:00 by claude-bot · 4 comments
Collaborator

Phase 1 item (docs/04-features.md F6).

  • Inline markers for OSIS <note type="crossReference">, <reference> and footnotes.
  • Tap a marker → popup listing each reference with its verse text from the current Bible. Tap → jump; Back → exact previous position (history from the reading window issue). Long-press → second window (v0.2, stub for now).
  • TSK (zCom) as the cross-reference source for any Bible: "Cross-references" in the verse menu. Parse its free-text references (Ps 18:40-43; 78:68); same fallback for relative refs like Elberfelder 1871's Kap 6,5.
  • Greyed out with an explanation when neither the module nor TSK is available.
Phase 1 item (docs/04-features.md F6). - Inline markers for OSIS `<note type="crossReference">`, `<reference>` and footnotes. - Tap a marker → popup listing each reference with its verse text from the current Bible. Tap → jump; Back → exact previous position (history from the reading window issue). Long-press → second window (v0.2, stub for now). - TSK (zCom) as the cross-reference source for any Bible: "Cross-references" in the verse menu. Parse its free-text references (`Ps 18:40-43; 78:68`); same fallback for relative refs like Elberfelder 1871's `Kap 6,5`. - Greyed out with an explanation when neither the module nor TSK is available.
Author
Collaborator

Design (agreed with the owner, 2026-10-29)

Mockups: the #13 design canvas (owner's private artifact LKo59hG9K71zkvpJAF6QoB).

Decisions

  1. Markers: small raised letters. The label is the module's own n if it has one, else a–z restarting at "a" in each verse ("aa" as a fallback past z; 6a measures the busiest verse to confirm it's rare). No Display setting and no dot style in #13 → #116.
  2. Verse sheet: tapping the verse number opens a sheet with Cross-references (TSK · N), Notes and Copy verse. A row with nothing behind it (e.g. no notes in this verse) is greyed out with a reason.
  3. Long lists: capped at 5 with "Show all N". Tapping that grows the sheet to near full height and lists all N with full verse text, scrolling.
  4. A reference the current Bible lacks: shown greyed with "Not in this Bible", not hidden.
  5. Long-press on a reference: offers nothing until the second window (v0.2).
  6. Relative references (Kap 6,5): not in #13 → #117. Until then they stay plain text, never wrong links.
  7. TSK missing: the Cross-references row is greyed, with "Needs the TSK module" and an Install TSK button that opens Modules on TSK.
  8. Bottom sheet: one reusable control in qml/controls/ (Strong's and morphology will reuse it).

Split into PRs (one at a time):

  • 6a sword: note bodies, <reference osisRef>, ThML <scripRef>; marker positions in runs. Goldens for KJV, BSB, Darby, Elberfelder. No UI.
  • 6b core: reference parser (core/src/bible/refs.rs) for TSK free text, osisRef and cross-chapter ranges; TSK sweep ≥ 99.9 % parsed. No UI.
  • 6c render/worker/glue/QML: markers, the generic bottom sheet, note popup, tap a reference to jump (Back returns to the exact spot). Phone check.
  • 6d TSK cross-references from the verse sheet, greyed and Install TSK when missing; memory effect of the second open module stated against docs/07. Phone check.

🤖 Generated with Claude Code

## Design (agreed with the owner, 2026-10-29) Mockups: the #13 design canvas (owner's private artifact LKo59hG9K71zkvpJAF6QoB). **Decisions** 1. **Markers:** small raised letters. The label is the module's own `n` if it has one, else a–z restarting at "a" in each verse ("aa" as a fallback past z; 6a measures the busiest verse to confirm it's rare). No Display setting and no dot style in #13 → #116. 2. **Verse sheet:** tapping the verse number opens a sheet with Cross-references (TSK · N), Notes and Copy verse. A row with nothing behind it (e.g. no notes in this verse) is greyed out with a reason. 3. **Long lists:** capped at 5 with "Show all N". Tapping that grows the sheet to near full height and lists all N with full verse text, scrolling. 4. **A reference the current Bible lacks:** shown greyed with "Not in this Bible", not hidden. 5. **Long-press on a reference:** offers nothing until the second window (v0.2). 6. **Relative references** (`Kap 6,5`): not in #13 → #117. Until then they stay plain text, never wrong links. 7. **TSK missing:** the Cross-references row is greyed, with "Needs the TSK module" and an **Install TSK** button that opens Modules on TSK. 8. **Bottom sheet:** one reusable control in `qml/controls/` (Strong's and morphology will reuse it). **Split into PRs** (one at a time): - **6a** sword: note bodies, `<reference osisRef>`, ThML `<scripRef>`; marker positions in runs. Goldens for KJV, BSB, Darby, Elberfelder. No UI. - **6b** core: reference parser (`core/src/bible/refs.rs`) for TSK free text, osisRef and cross-chapter ranges; TSK sweep ≥ 99.9 % parsed. No UI. - **6c** render/worker/glue/QML: markers, the generic bottom sheet, note popup, tap a reference to jump (Back returns to the exact spot). Phone check. - **6d** TSK cross-references from the verse sheet, greyed and Install TSK when missing; memory effect of the second open module stated against docs/07. Phone check. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Author
Collaborator

Phone QC: merged main 6bc07b8 (all of F6: 6a to 6d)

Installed on the phone; the footer shows 6bc07b83e.

Checked on the phone (ute2e taps, shots, journal), or by e2e where the phone tools can't reach:

  • Note markers in the text; a tap opens the note sheet with each reference and its verse text. A tap jumps there, and Back returns to the exact place (6a–6c, e2e note-sheet).
  • A tap on a verse's text (not only its number) opens its sheet, in both the verse-per-line and running-text layouts. Checked on John 11:4 and 11:10, and in e2e verse-text-tap.
  • The verse sheet shows the verse under its reference, its notes (greyed "none in this verse" when empty) and TSK's cross-references with the BSB's text: five, then "Show all 21". The jump to John 11:45 and Back to John 11:1 work.
  • Without TSK, the row is greyed with "Needs the TSK module" and an "Install TSK" button (e2e verse-sheet-no-tsk). A removed or updated TSK is closed or reopened (core tests).
  • The copy icon sits at the sheet's title in Suru style: a tap copies, and a long press shows "Copy this verse" (the tooltip is in e2e verse-copy; too brief to catch with the phone tools).
  • A swipe over the text scrolls without opening a sheet.
  • Memory: +3.3 MB PSS with TSK sheets open (63078 → 66342 kB).

For you (feel and sign-off only):

  • Does tapping the text feel right next to the note markers? Do the markers stay easy to hit, and are there any accidental sheet opens while reading or scrolling?
  • The sheets in the system's dark theme.
  • Sign-off for #13. I'll keep the issue open until then.

Screenshots are on PR #130.

## Phone QC: merged main 6bc07b8 (all of F6: 6a to 6d) Installed on the phone; the footer shows `6bc07b83e`. **Checked on the phone (ute2e taps, shots, journal), or by e2e where the phone tools can't reach:** - [x] Note markers in the text; a tap opens the note sheet with each reference and its verse text. A tap jumps there, and Back returns to the exact place (6a–6c, e2e note-sheet). - [x] A tap on a verse's text (not only its number) opens its sheet, in both the verse-per-line and running-text layouts. Checked on John 11:4 and 11:10, and in e2e verse-text-tap. - [x] The verse sheet shows the verse under its reference, its notes (greyed "none in this verse" when empty) and TSK's cross-references with the BSB's text: five, then "Show all 21". The jump to John 11:45 and Back to John 11:1 work. - [x] Without TSK, the row is greyed with "Needs the TSK module" and an "Install TSK" button (e2e verse-sheet-no-tsk). A removed or updated TSK is closed or reopened (core tests). - [x] The copy icon sits at the sheet's title in Suru style: a tap copies, and a long press shows "Copy this verse" (the tooltip is in e2e verse-copy; too brief to catch with the phone tools). - [x] A swipe over the text scrolls without opening a sheet. - [x] Memory: +3.3 MB PSS with TSK sheets open (63078 → 66342 kB). **For you (feel and sign-off only):** - [ ] Does tapping the text feel right next to the note markers? Do the markers stay easy to hit, and are there any accidental sheet opens while reading or scrolling? - [ ] The sheets in the system's dark theme. - [ ] Sign-off for #13. I'll keep the issue open until then. Screenshots are on PR #130.
Author
Collaborator

PR #131 is merged (1889ec6): the verse and note sheets now scroll on a drag, short and after Show all. They close on a tap on the dimmed page or on Back, no longer on a downward swipe. Merged main is installed on the phone (build 1889ec689).

Still open here: your feel items from the checklist above and your sign-off.

PR #131 is merged (1889ec6): the verse and note sheets now scroll on a drag, short and after Show all. They close on a tap on the dimmed page or on Back, no longer on a downward swipe. Merged main is installed on the phone (build 1889ec689). Still open here: your feel items from the checklist above and your sign-off.
Author
Collaborator

#134 is merged. It covers the remarks from today:

  • Note markers are link blue and italic, as in the mockup: #1557a0 in light, #8ab4f8 in dark.
  • A tap within half a touch size of a marker opens its note.
  • In the dark theme the verse and note sheets now use the theme's window colour, so they are dark with readable text.

I checked all three on the phone (light and dark). Still open here: your feel items from the checklist and your sign-off, so this issue stays open.

#134 is merged. It covers the remarks from today: - Note markers are link blue and italic, as in the mockup: #1557a0 in light, #8ab4f8 in dark. - A tap within half a touch size of a marker opens its note. - In the dark theme the verse and note sheets now use the theme's window colour, so they are dark with readable text. I checked all three on the phone (light and dark). Still open here: your feel items from the checklist and your sign-off, so this issue stays open.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#13
No description provided.