Projects BibleWeb Cross-References Vote threshold adjustment
Done

Vote threshold adjustment

Area: Cross-References Milestone: v2

Context

Problem: The cross-reference dataset contains 432,949 connections with varying confidence levels (vote counts from -31 to 1268). Showing all of them would create visual noise. Users need control over the quality/quantity tradeoff.

Solution: A +/- stepper that adjusts the minimum vote threshold (1-20, default 3). Higher thresholds show fewer but more widely-agreed-upon connections. Lower thresholds reveal more connections including less certain ones.

Not included: Custom threshold input or per-section thresholds. Just a simple +/- stepper.

Functional

User flow:

  1. User views the cross-reference graph or sidebar
  2. Sees a vote threshold stepper showing the current minimum (default: 3)
  3. Clicks + to increase threshold → fewer, higher-confidence cross-refs shown
  4. Clicks - to decrease threshold → more cross-refs shown, including less certain ones
  5. Graph or sidebar re-fetches with the new threshold

Edge cases:

  • Range: 1 to 20
  • Default: 3 (good balance of quantity and quality)
  • API returns max 30 results regardless of threshold

UX & Design

Stepper control: [number] + buttons, compact inline display. Present in both the graph page header and the sidebar header.

Technical

Graph page: minVotes state passed as prop to CrossRefGraph, triggers re-fetch on change.

Sidebar: minVotes passed as ?minVotes=N query param to the API.

API: GET /api/crossrefs/[bookId]/[chapter]/[verse]?minVotes=N — defaults to 3.

Files:

  • apps/web/src/routes/(app)/crossrefs/[book]/[chapter]/[verse]/+page.svelte — graph page stepper
  • apps/web/src/lib/components/bible/CrossRefSidebar.svelte — sidebar stepper

Status

Current: DONE Milestone: v2 Priority: Medium — essential for usable cross-reference exploration

Dependencies:

  • Requires: cross-reference graph (DONE), cross-ref sidebar (DONE)

Screenshots

Feature screenshot