Feature: rellenar huecos entre snapshots en las gráficas (interpolación lineal)

Nueva utilidad ChartGapFill: para cada source, rellena los meses sin snapshot
entre dos conocidos con interpolación lineal (Feb=100k, Jun=130k → Mar/Abr/May
~110/120/130k), arrastra el último valor tras el último snapshot y no aporta
antes del primero. Solo afecta al pintado de gráficas — NO crea ni modifica
snapshots (cero riesgo para la sync iCloud). Aplicado a las evolution del
Dashboard (total + por categoría) y de Charts. Toggle en Settings "Smooth Gaps
in Charts" (ON por defecto), localizado en los 7 idiomas.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L2p3gUZRNWW388rWFRjiU7
This commit is contained in:
alexandrev-tibco
2026-07-23 19:51:26 +02:00
parent fc05dfe2c6
commit cbcb1da0ac
11 changed files with 175 additions and 79 deletions
@@ -9,6 +9,7 @@ struct SettingsView: View {
@EnvironmentObject private var accountStore: AccountStore
@EnvironmentObject private var tabSelection: TabSelectionStore
@AppStorage("showForecast") private var showForecast = true
@AppStorage("smoothChartGaps") private var smoothChartGaps = true
@AppStorage("cloudSyncEnabled") private var cloudSyncEnabled = false
@AppStorage("faceIdEnabled") private var faceIdEnabled = false
@AppStorage("pinEnabled") private var pinEnabled = false
@@ -749,6 +750,7 @@ struct SettingsView: View {
private var longTermSection: some View {
Section {
Toggle("Show Forecast", isOn: $showForecast)
Toggle("Smooth Gaps in Charts", isOn: $smoothChartGaps)
NavigationLink {
AllocationTargetsView()