Skip to content

Expand Your Year with breakdown and heatmap - #165

Open
kyleve wants to merge 3 commits into
mainfrom
codex/expand-your-year
Open

Expand Your Year with breakdown and heatmap#165
kyleve wants to merge 3 commits into
mainfrom
codex/expand-your-year

Conversation

@kyleve

@kyleve kyleve commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Expand Your Year from Calendar and Timeline to four modes: Calendar, Timeline, Breakdown, and Heatmap.
  • Add a shared calendar-day presentation model that classifies every day as a region, multiple locations, unrecorded, or remaining.
  • Build the Breakdown donut and selectable 12×31 Heatmap with Swift Charts, adaptive legends, accessibility labels, and loaded-empty handling.
  • Persist the selected mode through WherePreferences while keeping preview and Flyover overrides isolated from stored preferences.
  • Add localization, stylesheet tokens, previews, Flyover catalog entries, unit coverage, and phone/iPad snapshot matrices.
  • Localize heatmap month labels with the display locale while preserving the injected calendar and time zone.

Why

The Year tab previously offered only detailed Calendar and Timeline views. Breakdown adds an at-a-glance distribution of the full year, while Heatmap makes daily patterns and travel days scannable without leaving the tab. Persisting the mode returns people to the view they last used.

The month-label follow-up fixes invariant M01M12 labels caused by reading symbols from a Gregorian calendar with no display locale. Month names now come from a representative date and a locale-aware FormatStyle.

Accessibility follow-up

The requested non-color heatmap encoding needs a dedicated visual design. It is recorded as a P2 in Where/TODOs.md, including stylesheet and Differentiate Without Color snapshot requirements.

Validation

  • ./test WhereCoreTests
  • ./test WhereUITests
  • ./test --snapshots
  • ./swiftformat --lint
  • ./xcstrings --lint

@kyleve
kyleve marked this pull request as ready for review August 2, 2026 04:55
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.

1 participant