Add cone of uncertainty for Trio predictions#605
Merged
Conversation
Replace individual prediction lines (ZT, IOB, COB, UAM) with a filled cone that shows the min/max envelope across all prediction arrays, matching Trio's native forecast visualization. - ConeChartDataEntry and ConeOfUncertaintyRenderer draw the filled band via a custom CGContext polygon in the Charts library - PredictionDisplayType setting (.cone / .lines) lets Trio users switch between styles; Loop users are locked to lines - Reactive Combine subscription auto-sets the display type when the device changes (Loop -> lines, Trio -> cone) while preserving manual user preference across Nightscout refreshes - Cone dataset added at index 18 in both main and small BG graphs
marionbarker
approved these changes
Apr 26, 2026
Collaborator
There was a problem hiding this comment.
Approve by test.
Loop phone - no difference in LoopFollow, Settings, Graph in the PREDICTION section.
Trio phone - new row, Prediction Style in LoopFollow, Settings, Graph in the PREDICTION section.
- The default setting is Cone - I guess that will get people's attention when they build this plus it matches the Trio default
- Modify setting to Lines for both LoopFollow and the Trio phone it is following. The lines visually look the same
- Restore to cone and displays are consistent in the two apps.
MtlPhil
pushed a commit
to achkars-org/LoopFollow
that referenced
this pull request
May 3, 2026
Replace individual prediction lines (ZT, IOB, COB, UAM) with a filled cone that shows the min/max envelope across all prediction arrays, matching Trio's native forecast visualization. - ConeChartDataEntry and ConeOfUncertaintyRenderer draw the filled band via a custom CGContext polygon in the Charts library - PredictionDisplayType setting (.cone / .lines) lets Trio users switch between styles; Loop users are locked to lines - Reactive Combine subscription auto-sets the display type when the device changes (Loop -> lines, Trio -> cone) while preserving manual user preference across Nightscout refreshes - Cone dataset added at index 18 in both main and small BG graphs
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary