Verse and note sheets redesign (#148 step 2) #152
No reviewers
Labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
schaefera/utStudyBIble!152
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/redesign-verse-sheet"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The verse and footnote sheets in the Lapis style (board E5): rounded top, handle, serif title, inset rows, section labels, every label coloured for dark mode.
The verse sheet lists each note's words, not only its label. A reference sits beside its text, always in full; a range shows its first two verses, then " …" (owner's call at phone QC).
Without TSK the section says where references come from, with an outlined Install TSK (new
OutlineButton).Deviations from E5: no bookmark or note icons (no such features yet); the handle doesn't drag; the verse text stays on the sheet; Install TSK is 44 px high; the reference column is 104 px.
Blast radius
Tier: trunk
Trunk paths touched:
core/src/bible.rs,core/src/bible/verse_sheet.rs,core/src/bible/reader/verse.rs,core/src/bible/reader/sheet.rs,tools/e2e/cases/Testing tier: standard (also: ship on sight, for the styling)
Gate / rollback: no flag; revert this merge. No schema or stored data changes. Resources: a little more text in a sheet's JSON, and at most two verses read per reference where it was five; the slow profile's PSS was 186570 kB then 183534 kB on retry against the 185000 baseline, normal 172503 kB.
Proof
cargo makepasses on the head (fmt, clippy, tests with coverage, release check, deny, audit).bc115d6.cargo make app-dockerpasses (-Werror build, clang-tidy, QML lint, PSS); CI's app job passes on the head.verse-sheet-notes(new) logsnote 'a Cited in 2 Corinthians 4:6'from Genesis 1:3's sheet;note-sheet,verse-copy,verse-sheet-no-tsk,verse-sheet-scroll,verse-sheetandverse-text-tapstill pass, and the full e2e job passes in CI.a_range_of_two_verses_has_them_bothanda_longer_range_has_two_verses_and_an_ellipsis; the old limit of 5 and no ellipsis each faila_longer_range…; a note's body always its text failsa_note_of_references_alone_lists_them; JSON without the body failsthe_sheet_is_json_with_or_without_tsk; empty bodies on the sheet faila_verse_lists_its_notes_by_label.bc115d62e, said "Works, go for it".Review
Reviewer: fresh-context
code-reviewat high (review 394): 3 findings (all low), 3 fixed, 0 declined, 0 deferred; re-review at medium of the later commits (review 395): 0 findings; 0 left open.Review-Confidence: 100/100, both rounds together cover every trunk file up to the head, CI is green and the mutation checks show the new tests fail without the change.
Confidence by part
RefRowswrapping of a very long word (German book names) and the copy button's press tint: medium, no test exercises them.🤖 Generated with Claude Code
Review level: high (blast radius: trunk; core/src/bible*, tools/e2e). Commit:
b78645ca0e. Range: origin/main...HEAD. Single-pass review, no high or medium findings; three low ones, all inline.Checked: VerseNote/labels zip alignment and the JSON shape (no other consumer of VerseSheet.notes), BottomSheet.refit() arithmetic against the new handle/header margins, the sheet fit with 5 refs and "Show all" within 60% of the 960 px e2e window (target/shots confirm it stays on screen), the new verse-sheet-notes e2e case (ordinal 6 = Genesis 1:3, log-line parsing), the existing verse-sheet*/verse-copy e2e cases against the changed layout, po/ against the changed qsTr strings, SectionLabel/SystemColours/OutlineButton registration (qmldir, qml.qrc).
Files reviewed:
@ -320,3 +323,2 @@msgid "Notes: %1"msgstr "Anmerkungen: %1"msgid "NOTES"low: the three strings that were translated ("Notes: %1", "Notes: none in this verse", "Needs the TSK module") became NOTES, "None in this verse" and the TSK sentence, plus CROSS-REFERENCES, all with an empty msgstr. A German-locale user sees English in the verse sheet where it was German before; the sibling section labels (READING -> LESEN) are translated. Fill in the msgstr.
@ -38,2 +47,3 @@Label {Layout.fillWidth: trueLayout.alignment: Qt.AlignTopLayout.preferredWidth: 104low: the reference label is fixed at 104 px with wrapMode Text.Wrap, which only breaks at spaces. A single word wider than 104 px (German "Thessalonicher" is about 102 px at 14 px medium; wider with a larger system font) is not clipped or elided, so it paints over the verse text beside it. Consider WrapAnywhere or a minimum width tied to the font.
@ -164,8 +205,10 @@ BottomSheet {objectName: "copyVerse"width: Theme.touchheight: Theme.touchbackground: nulllow:
background: nullon the copy ToolButton removes all press/focus feedback (Suru drew it in the background), so a tap or keyboard focus on the title's only action shows nothing. A transparent Rectangle with a visualFocus border, as OutlineButton does, would keep the look.Answers to review 394, all three fixed in
11f2f70:po/de.po:324: fixed. The four new strings are translated (149 translated, 0 untranslated).qml/controls/RefRows.qml:49: fixed. The reference label wraps withWrapAtWordBoundaryOrAnywhere, so a word wider than the column breaks instead of painting over the text.qml/pages/VerseSheet.qml:208: fixed. The copy button has a round tint on press and on keyboard focus.None of these touch trunk code, so no re-review round.
verse-copy,verse-sheet-notesandverse-sheetpass after the fixes.Review level: medium (trunk). Reviewed commit:
bc115d62ec. Range: b78645ca0eba0437f67c5e132ad440f05bae5316..HEAD.Files reviewed: core/src/bible/reader/sheet.rs, docs/10-design.md, po/de.po, qml/controls/RefRows.qml, qml/pages/VerseSheet.qml (callers/consumers checked by grep: RANGE_VERSES, maximumLineCount, range_text).
Findings: none at high or medium. No defects with a concrete failure scenario found. The ellipsis condition (last - first >= 2) matches the two-verse cap, the tests cover both cases (they skip without SWORD_TEST_PATH), and removing the line cap in RefRows is bounded because the core now sends at most two verses.
WIP: Verse and note sheets redesign (#148 step 2)to Verse and note sheets redesign (#148 step 2)Merge gate: approved at
bc115d6.11f2f70and answered in comment 2908. Review 395 (medium, b78645c..bc115d6) had none. No high or medium findings are open.bc115d6, the last commit reviewed. No commits came after review 395.bc115d6.bc115d62ecovered it.