Migrate charts to Swift Charts#703
Closed
bjorkert wants to merge 9 commits into
Closed
Conversation
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)
- Selection pills word-wrap at a max width instead of running off screen, capped at 10 lines; placement uses the measured pill size so the pill always sits fully on screen, flipping above the anchor when needed - Every pill ends with the reading/treatment time again (12/24-hour and graph time zone aware), as the legacy chart did - Notes containing legacy remote-command JSON payloads render the message plus a compact action summary instead of raw JSON - Prediction cone fill restored to system blue at 0.4 opacity, matching the legacy ConeOfUncertaintyRenderer
…s from settings - Spread crowded boluses/carbs/SMBs via drawnDate instead of shifting every mark by a constant; isolated treatments draw at their true time - End the x domain at now + Hours of Prediction (15 min floor) instead of a fixed 3 h, so the chart no longer shows empty future space and no longer clips predictions beyond 3 h - Color BG dots and place the low/high lines from effectiveThresholds() so TIR/TITR range modes match the stats and header - Drop the now-unused findNextCarbTime/findNextBolusTime helpers
…eshold line styles
Member
Author
|
Superseded by #704 (same change, single commit). |
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.
Replaces the danielgindi Charts and SwiftAlgorithms CocoaPods with native Swift Charts.
Chart appearance and behaviour are kept at parity with the previous implementation.