Skip to content

refactor(WhereUI): share region artwork loading lifecycle - #325

Merged
kyleve merged 1 commit into
mainfrom
codex/shared-region-artwork
Sep 25, 2026
Merged

kyleve merged 1 commit into
mainfrom
codex/shared-region-artwork

Conversation

@kyleve

@kyleve kyleve commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

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 merged while this follow-up was being prepared, so the stack is reconciled onto main.

@kyleve kyleve changed the title codex/shared region artwork refactor(WhereUI): share region artwork loading lifecycle Sep 25, 2026
@kyleve
kyleve enabled auto-merge (squash) September 25, 2026 19:03
@kyleve
kyleve merged commit 53039b6 into main Sep 25, 2026
8 checks passed
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