feat(WhereUI): add a subtle personalized Locations background - #324
Merged
Merged
Conversation
Add a centered ink-colored glow and explicitly warm the loaded-screen snapshot outline cache before capture.
kyleve
commented
Sep 25, 2026
| .clipped() | ||
| .allowsHitTesting(false) | ||
| .accessibilityHidden(true) | ||
| .task(id: requestedRegions) { |
Owner
Author
There was a problem hiding this comment.
Maybe not for this PR, but I think we have this duplicated in a few spots, maybe a good candidate for a shared modifier of some sort?
Owner
Author
There was a problem hiding this comment.
Posted by an AI agent on @kyleve's behalf.
Extracted this in #325 (commit b9b63d4). The Locations background, Elsewhere card, region cards, welcome card, and forecast panel now share regionArtworkTask plus RegionArtworkModel. The shared lifecycle handles cache injection, cancellation, and stale results, while the region card retains compatible outlines during point refreshes. Fifteen focused tests and six existing snapshot suites passed without reference changes. Since #324 has merged, the follow-up targets main.
kyleve
added a commit
that referenced
this pull request
Sep 25, 2026
## Summary Share the artwork-loading lifecycle across the Locations background, Elsewhere summary card, region summary card, welcome card, and forecast panel. Each surface keeps its existing path resolutions and rendering. `regionArtworkTask` reads the injected cache and ties work to the view's request identity. `RegionArtworkModel` rejects cancelled or superseded results and hides artwork whose display key no longer matches. Region cards keep compatible outlines visible while their recorded-point constellation refreshes. ## Review focus - Request identity restarts work; the separate display key controls whether existing artwork can remain visible during that work. - A unique load token rejects older results even when two overlapping requests have the same display key. - Cache replacement restarts loading; removing the cache clears the artwork. - No snapshot references or appearance tokens change. ## Testing - 15 focused tests across the shared model/modifier, region card, Locations artwork, and Elsewhere artwork passed. Coverage includes cancellation, out-of-order completion, stale-key hiding, retained artwork, and cache replacement/removal. - Existing snapshots compared for CalendarContentView, ElsewhereSummaryCard, ElsewhereView, LocationsBackground, LocationsView, and MainTabs. - Architecture validation and 15 architecture rule tests, SwiftFormat lint, SF Symbol lint, and whitespace checks passed. ## Stack Follow-up to #324 and [the shared-loading review comment](#324 (comment)). #324 merged while this follow-up was being prepared, so the stack is reconciled onto `main`.
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
Add a stationary monochrome region pattern behind the Locations tab, layered over faint full-view rosette rings. Alternate rows shift by half a cell. A 54-point preferred cell pitch keeps the repeat compact, with compensated artwork extent to preserve the region size. The print uses flat, faint strokes without shadows; slender regions receive a bounded size adjustment to balance the marks.
The pattern includes visited geographic regions in the selected year, including manual entries and Elsewhere. The catch-all Other entry is omitted from the print, so the background has no globe icons or empty placeholder cells. It uses catalog order so ranking changes do not rearrange it. Repeated cells extend beyond all four edges, and every region retains a fully visible copy.
Why
Extend the personalized print on the region cards into a quieter screen background while preserving a continuous staggered repeat.
Review focus
Testing
The recording run reports intentional recording failures; the final comparison verifies the reviewed references.