Skip to content

Add optional yesterday BG comparison line to main graph#665

Merged
marionbarker merged 3 commits into
devfrom
feature/yesterday-bg-comparison-line
Jun 14, 2026
Merged

Add optional yesterday BG comparison line to main graph#665
marionbarker merged 3 commits into
devfrom
feature/yesterday-bg-comparison-line

Conversation

@bjorkert

Copy link
Copy Markdown
Member

Adds an optional comparison overlay that draws yesterday's BG curve on the main graph, time-shifted by 24h so it lines up with the same clock time today. It's a thin, dimmed gray "ghost" line (no dots, no tap popups) purely for visual comparison of how the day is tracking versus the day before.

Details

  • New Show Yesterday's BG toggle in Graph Settings → Graph Display (Nightscout only, default off). Dexcom Share only returns ~24h, so the 24–48h-ago window requires Nightscout.
  • When enabled, the BG fetch window is extended by one extra day; the normal display window (bgData) is unchanged, while the full set — shifted +24h — feeds the overlay.
  • The overlay is capped at now + Hours of Prediction, so it never extends further into the future than the prediction line.
  • Does not affect today's BG line, axis scaling, scrolling, stats, alarms, or the small graph. The line pans and zooms together with the main graph and extends as the day progresses.

Notes

  • The shift is a fixed +24h, so on daylight-saving change days the overlay is off by one hour versus wall-clock time — acceptable for a comparison aid.

Adds a Graph Settings toggle (Nightscout only) that overlays yesterday's
BG curve on the main graph, time-shifted by 24h so it aligns with the same
clock time today. Drawn as a thin dimmed gray line with no dots, purely for
comparison. When enabled, one extra day of history is fetched and the overlay
is capped to now plus the configured hours of prediction so it never extends
further into the future than the prediction line.
bjorkert added 2 commits June 13, 2026 22:45
…omparison-line

# Conflicts:
#	LoopFollow/Controllers/Graphs.swift
#	LoopFollow/Settings/GraphSettingsView.swift
…omparison-line

# Conflicts:
#	LoopFollow/Controllers/Nightscout/BGData.swift

@marionbarker marionbarker left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test with iOS 18 and iOS 26 phones and using Loop and Trio URLs.
Show yesterday's BG works for both URLs.

@marionbarker marionbarker merged commit 0841b1b into dev Jun 14, 2026
1 check passed
@marionbarker marionbarker deleted the feature/yesterday-bg-comparison-line branch June 14, 2026 20:34
marionbarker pushed a commit that referenced this pull request Jun 21, 2026
Adds a Graph Settings toggle (Nightscout only) that overlays yesterday's
BG curve on the main graph, time-shifted by 24h so it aligns with the same
clock time today. Drawn as a thin dimmed gray line with no dots, purely for
comparison. When enabled, one extra day of history is fetched and the overlay
is capped to now plus the configured hours of prediction so it never extends
further into the future than the prediction line.
bjorkert added a commit that referenced this pull request Jul 10, 2026
Replace the danielgindi Charts CocoaPod with Apple Swift Charts across the
app (minimum deployment target 16.6 -> 17.0):

- New LoopFollow/Charts/: BGChartModel (chart data, rebuilt once per refresh
  cycle), BGChartView (main + small overview chart), BGChartStubs (shims for
  the legacy update*Graph() call sites)
- Main chart interaction: content is laid out once per data/zoom change onto
  a wide canvas; panning is a pure offset transform with momentum, pinch
  zooms with a live preview committed on a geometric grid, double-tap cycles
  zoom presets, tap selects marks, hold-and-drag scrubs a selection
- Follow-latest keeps "now" at 70% of the window, pauses while navigating
  history and returns after 5 idle minutes; jump-to-now button when paused
- BG line renders one series per color run; marks are sliced to a render
  window around the viewport
- Stats charts (AGP/TIR/GRI + stats pie) migrated to Swift Charts
- Preserves cone of uncertainty (#605), yesterday BG line (#665),
  backend-specific override/temp target colors (#668), BG display clamp (#600)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants