From 07d7f20b32408deea23b537aa0ad09bd99ab50bf Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 11:48:14 -0700 Subject: [PATCH 01/13] Add a subtle personalized background to Locations --- Where/WhereUI/AGENTS.md | 2 + Where/WhereUI/README.md | 10 ++ .../LocationsBackgroundSnapshotTests.swift | 9 ++ .../locationsBackground.Empty_iPhone.png | 3 + .../locationsBackground.Empty_iPhone_dark.png | 3 + .../locationsBackground.Many_iPhone.png | 3 + .../locationsBackground.Many_iPhone_dark.png | 3 + .../locationsBackground.One_iPhone.png | 3 + .../locationsBackground.One_iPhone_dark.png | 3 + ...nsBackground.ReduceTransparency_iPhone.png | 3 + ...kground.ReduceTransparency_iPhone_dark.png | 3 + .../locationsBackground.Several_iPhone.png | 3 + ...ocationsBackground.Several_iPhone_dark.png | 3 + .../locations.DotsHidden_iPhone.png | 4 +- .../locations.DotsHidden_iPhone_dark.png | 4 +- .../locations.ElsewhereOnly_iPhone.png | 4 +- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +- .../locations.Empty_iPhone.png | 4 +- .../locations.Empty_iPhone_dark.png | 4 +- .../locations.ForecastsHidden_iPhone.png | 4 +- .../locations.ForecastsHidden_iPhone_dark.png | 4 +- .../locations.Loaded_iPad.png | 4 +- .../locations.Loaded_iPad_accessibility.png | 4 +- .../locations.Loaded_iPad_ax5.png | 4 +- .../locations.Loaded_iPad_contrast.png | 4 +- .../locations.Loaded_iPad_dark.png | 4 +- .../locations.Loaded_iPhone.png | 4 +- .../locations.Loaded_iPhone_accessibility.png | 4 +- .../locations.Loaded_iPhone_ax5.png | 4 +- .../locations.Loaded_iPhone_contrast.png | 4 +- .../locations.Loaded_iPhone_dark.png | 4 +- .../locations.MissingDays_iPhone.png | 4 +- .../locations.MissingDays_iPhone_dark.png | 4 +- .../locations.PlannedStay_iPhone.png | 4 +- .../locations.PlannedStay_iPhone_dark.png | 4 +- .../root.LoggedIn_iPhone.png | 4 +- .../root.LoggedIn_iPhone_dark.png | 4 +- ...t.RecordingConfigurationWarning_iPhone.png | 4 +- ...ordingConfigurationWarning_iPhone_dark.png | 4 +- .../Sources/Primary/LocationsBackground.swift | 133 ++++++++++++++++++ .../Primary/LocationsBackgroundArtwork.swift | 36 +++++ .../Primary/LocationsBackgroundLayout.swift | 42 ++++++ .../Sources/Primary/LocationsView.swift | 14 ++ .../Sources/Shared/WhereStylesheet.swift | 30 ++++ .../LocationsBackgroundArtworkTests.swift | 45 ++++++ .../LocationsBackgroundLayoutTests.swift | 29 ++++ .../WhereUI/Tests/WhereStylesheetTests.swift | 25 ++++ 47 files changed, 457 insertions(+), 52 deletions(-) create mode 100644 Where/WhereUI/SnapshotTests/LocationsBackgroundSnapshotTests.swift create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone_dark.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png create mode 100644 Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png create mode 100644 Where/WhereUI/Sources/Primary/LocationsBackground.swift create mode 100644 Where/WhereUI/Sources/Primary/LocationsBackgroundArtwork.swift create mode 100644 Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift create mode 100644 Where/WhereUI/Tests/LocationsBackgroundArtworkTests.swift create mode 100644 Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift diff --git a/Where/WhereUI/AGENTS.md b/Where/WhereUI/AGENTS.md index 24005c204..5ad00c749 100644 --- a/Where/WhereUI/AGENTS.md +++ b/Where/WhereUI/AGENTS.md @@ -85,6 +85,8 @@ Layering, localization, preview, and testing conventions live in the feature Project Locations-card GPS points through the cache's shared `RegionArtworkProjection`. Never project, simplify, or spatially reduce artwork in a card's `body`. +- Keep the Locations background on the selected year’s complete visited-region set, + in catalog order independent of card rank. Use the injected outline cache. - Keep the Elsewhere summary count and artwork on the same secondary-region input. Use its own stylesheet tokens and the shared outline renderers. - Keep Locations-card points on `YearReportModel`'s loaded diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index 90a1bb126..d7b878890 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -410,6 +410,16 @@ interactive viewport. Flyover's appearance, device, Dynamic Type, contrast, layout-direction, and bold-text choices are session-only and apply only to registered content. +### Locations background + +The Locations root screen uses a stationary monochrome pattern of all regions +visited in the selected year, including manually recorded visits and Elsewhere. +Catalog order keeps the pattern stable when card rankings change. Planned stays +do not contribute. The shared outline cache supplies the region paths, and the +shared rosette renderer supplies the finer background lines. Appearance belongs +to `WhereStylesheet.locationsBackground`; Reduce Transparency hides the ink. +Empty, initial-loading, and failed screens show only the rosette texture. + ## Testing Swift Testing in [`Tests/`](Tests) (`WhereUITests`), hosted in `StuffTestHost` diff --git a/Where/WhereUI/SnapshotTests/LocationsBackgroundSnapshotTests.swift b/Where/WhereUI/SnapshotTests/LocationsBackgroundSnapshotTests.swift new file mode 100644 index 000000000..e38609355 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/LocationsBackgroundSnapshotTests.swift @@ -0,0 +1,9 @@ +import SnapshotKitTesting +import Testing +@testable import WhereUI + +struct LocationsBackgroundSnapshotTests { + @Test func locationsBackground() async { + await assertSnapshots(of: LocationsBackground.self) + } +} diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png new file mode 100644 index 000000000..70728982e --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:084a5618ea0ab06bece4c5176c925e2a833826ff53c09a6d6b554df7b491da83 +size 369638 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png new file mode 100644 index 000000000..baf37a2b5 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3fee0319b8a89d7d5656026242ff0de7262dc2e57fbe2ea3e450953eb5b5c245 +size 388610 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png new file mode 100644 index 000000000..4603c1675 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10d7848680aded8a033abad75196371111ad99d4ed2b40877408237bab6e059b +size 455756 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png new file mode 100644 index 000000000..ff34c144b --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c73cf575783781d7e27c97be94f9f1e76a7264782760e7b15c44047c98384641 +size 477477 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png new file mode 100644 index 000000000..bf21621b4 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcfc02b8f4a4676f2ee0eca5f69188c3bd8b43624c2266b6f03e954db9704b8f +size 419649 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png new file mode 100644 index 000000000..da981f39b --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5805eb84e4d8798acedb0c34e2135b840b06683692ee59439c32df1a3a32205 +size 440671 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone.png new file mode 100644 index 000000000..059e8e263 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ced93b976947a701da8e13d21135994279ccc94f3a43263fb7f6aac044dee311 +size 61465 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone_dark.png new file mode 100644 index 000000000..aaaf2996d --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.ReduceTransparency_iPhone_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:974c3938eb41b9639c6486705fa6af269d4942f9f2004832dc672e0a4cc22b0c +size 68816 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png new file mode 100644 index 000000000..52d8c464a --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b4efa21c644ef1036567251243fdec653530a19dd17ddeb68cdf5abaf2c2022 +size 427605 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png new file mode 100644 index 000000000..d60b2dde7 --- /dev/null +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf95e889ea98efd88b5d5b2f723ea4ac7dc2d549c7ef947d2b8a62e16681fe9 +size 449186 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 3127cfe02..d1c02bb2e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea65986917ead93a42e55e798faabb07a05c597bfeb7fc7570e554c088ab28ab -size 2343318 +oid sha256:4c5bb211d8292c207b87e78166ac353b3f825ce9ecd9001dcffbdef164889eea +size 2524726 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index a163db8e6..a1b31c71e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acd3fba4d749eb46f9b21366fd72b720be6a380755773b835540f97b9977684c -size 2468047 +oid sha256:d7434c6ec94cf75ec79f01bcffb0d74ab61dada95c37eb6478de40c214780f04 +size 2669442 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 9c0f24c44..dacb0000e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1e57bca53ce5ba3ddc4e471b46f83e6f85f374cd370f47d6d074d5c3c39baa4 -size 108230 +oid sha256:e8792db88a5c8f595215bc86c807d83457d697047d94af494dcb8b4e4f088203 +size 491680 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index 06ecb4e3a..fd484255c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:416e3130e990a8610db37ee93f013cb0116b753daf3df724b2653d65af9a9ac6 -size 117727 +oid sha256:e39da1dbfeef0f1a05641631b56cd48b4cb0e5670ff1ddf7d52aa2a11045fd65 +size 513130 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png index 8e2dce736..5c61f27cd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37d69a3fb9df28fea02c5ffab806634e4ae8961f3793f23007f5bbbbd125fc3a -size 102464 +oid sha256:e3f2518f771591acdfa3832370b8a2ac2dc5119c0ec3708e096aa2e06326bbf0 +size 409395 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png index bd821fd95..2b847bff7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3dfb3e5eb42e3ea298a2e2edb6ca3b0b721d010ade7249a0bfbbb976f878ecb8 -size 111154 +oid sha256:d607c480e9bd4df36ad492b79dd1048394a9fb3f5ba3ec3ddb550b90e072874d +size 428423 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index bcb3b3880..e99d2ef27 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfa1ea9194318013bb1eae315ccada9aeb9e086d20a8f9f53020974a012ccee2 -size 2325029 +oid sha256:6a84f4d32962215aad8ee6be5e32ea65ed5a8f5bc5b46b20f2ed828b7063c52d +size 2513202 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index ed8d764f4..8618144c0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7cbb7e30a13d8d48d078b672a88f808ff8286d7d1ddfad4507d23844259e9e1 -size 2450820 +oid sha256:80827ab40e39ce3e11c952f918cdb7702ee7c1edad9ba4cf9bd6516ed07eee86 +size 2654913 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index bd40bbf94..d860e658d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd9d75c4ecff75feb95f6df398932782b848efbbc781a480f3827d188a491b4c -size 3868472 +oid sha256:41a679b78ed5ebdd918293cf32adf888d5679e7414c7dad230ebd7d18a5ba1a4 +size 4563265 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index ed95b40d9..2aa3f57b7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ce85f668387df26849045d52f5799e8db965a9a5eda12875f765268d832f81e -size 2597593 +oid sha256:387e91f48f118b5298e36a1666a591d23aa3897d8728b1b3a6ead5e0aa423f1e +size 3229019 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 70c265800..393b4e93c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d69c8883b2c0a55de90dbdf3c77a21073b22b2c645d87b286c7680b6b41a9cb -size 4880488 +oid sha256:4fd3ddcf18896081762ca0234354fe2530fa84d03922a19c9005ca5f687d6f1c +size 5410218 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 6bd85290a..908b757c3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1599c1f4b89fbc46c47255c5acf12cb621a0f624b407fe28081d1a673041b40b -size 3796322 +oid sha256:502df436ce403943bef0469b009ec72d41671e43dbb869324ec38a289d6d3bfa +size 4481782 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 7544c2de1..8d7b183d6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ee6a33c1fb3e66e4ff8ae229fd509677eade1b25de1cdf2861421b1122ed64a -size 4168144 +oid sha256:e020f54037bb7cc56de175f44e633ab42edeff59e659740ef6e558b4005ac609 +size 4886105 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 67962a441..8b2286e2f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:511b9cdc2deedaaf965cce4e1c5c9c4f398022186cd9c838a4ed9742b205c2a3 -size 2350330 +oid sha256:93aa5ef5732681b31ac47ffaa370b5f02304e01b0a0913894495f304f6970867 +size 2532734 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index dc6abffa3..396eee22b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3d040017417061c12c1e5da7008af2c6f3ffd1b0ea7ee9a371cf533cef40ffc -size 1584939 +oid sha256:e56e4a5d4221e3084b2881ee8b8c44a8c2bbcd928e4ff42d6da6834dc3362ad7 +size 1725321 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 933358ca6..36033da94 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f24328842799078cd325646fe9ad9c1d9d7d6419d47e52cd36e05ff899b3d7a -size 3414264 +oid sha256:e8305d18c0673eae9d603f6a2ab4a19a6d2018d302260a681bcf60d893004c11 +size 3537500 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index df36b8b00..d20c6794b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9876ac8a58dd9a7d8ebe916cb1a6c051737e8ee478f72ad65c6f3a741acff4a -size 2252058 +oid sha256:79e85055eb01d9841bf9a3f1bd6238af9813a5a2f442bb53bde0c98217acd814 +size 2418814 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 5b8ae10da..132030ed2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36750a85488c3963f9fef02e94a77afb8660e298d5b5141c9c9291d1c0f3a2c1 -size 2475433 +oid sha256:30a85f92053d9164866e0f458e2966c4499c4a34ff4ea0e3bc19b0e951cc60ca +size 2676381 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index cff9f256d..259133b46 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c3658cc955e28876306afa4a3ea43a612fd85256b393c2714278038505a208f -size 1214991 +oid sha256:f58d0d62d37c220f38f0a7710adb556b80f3bfc266bbf5c5efbb8a1b69ef065b +size 1523940 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 6584910f0..1de258070 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cddb6bafb801f82b41e8ea630e803768eacacbc09587223a05e5e732d3169c5d -size 1239858 +oid sha256:412058f4d653de46a5af09e14338a38f35c535deddcbbe36c2f6668d0dee9db1 +size 1530943 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 100915767..93eb82059 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42734aef9c3a3938a05406ca90e02fe0ceee56d7efbe732b687363fe68e87c0b -size 2219256 +oid sha256:1c3b6c404e71858297725b9db5fdcc49a766a06dd7f394f30f387c8461a5f164 +size 2440427 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 2c272ce6f..0bb1cb79d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ea3f675f323578301020a94a1c7bf1fdf9ff07fd3113db2380854b5fa481911 -size 2295318 +oid sha256:088cb5bf31c47ed2a0c03ebe76abd09ab333b1ce56f5fbda3acf9cb4b6937c05 +size 2503865 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png index 9db8aa454..93d25430e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a746c88054d92de90811faa8efdbd7bc012398befa665de19c89c57cb929fe01 -size 184526 +oid sha256:4f4add960b1b6e505f9e4673a5d839a2956abd873fd940a2eed3166311ea4595 +size 487906 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png index 942d25067..442768755 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f657d8b0b440aeec16d0046b1a6a5a70bd8e37573d16e0f16b78edcd9fc27137 -size 179383 +oid sha256:f319864554c3488ff48a7f1ed227324e4f0133b18521f9d26b0fa986a05f5c73 +size 502233 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png index bf9eb8472..0f6495aef 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:929d4a8a0cf7be1fbf906afae13af64f1069bc53a4b24c6356426e4092be4579 -size 185252 +oid sha256:62f09e8946b77dbfca7e8fd64a26d1847113b2cd5ce02d6d1083ff8e83845c09 +size 488531 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png index 995284afb..c0e5c0643 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2bd09f67f7ba9d3c225f56280698a2aea27b150921f90df37d82e33102c7a3c7 -size 179699 +oid sha256:1ec2978b0beaf23ccb2aee6f5c4a9cfcb4c54bcd76195fd08e22ca3ff419371f +size 502264 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift new file mode 100644 index 000000000..554ec7936 --- /dev/null +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -0,0 +1,133 @@ +import BroadwayUI +import RegionKit +import SFSafeSymbols +import SwiftUI + +/// Stationary, noninteractive paper texture for the root Locations viewport. +struct LocationsBackground: View { + let regions: [Region] + + @Environment(\.stylesheet) private var stylesheet + @Environment(\.regionOutlinePathCache) private var cache + @State private var artwork: LocationsBackgroundArtwork? + + private var style: WhereStylesheet.LocationsBackgroundStyle { + stylesheet.locationsBackground + } + + private var requestedRegions: [Region] { + style.showsInk ? regions : [] + } + + var body: some View { + ZStack { + style.paper + if style.showsInk { + SecurityPrintRosette( + tint: style.ink, + wobble: style.rosette.wobble, + lineWidth: style.rosette.lineWidth, + primaryRingSpacing: style.rosette.primaryRingSpacing, + secondaryRingSpacing: style.rosette.secondaryRingSpacing, + primaryOpacity: style.rosetteOpacity, + secondaryOpacity: style.rosetteOpacity, + ) + silhouettes + } + } + .clipped() + .allowsHitTesting(false) + .accessibilityHidden(true) + .task(id: requestedRegions) { + guard let cache else { return } + if let loaded = await LocationsBackgroundArtwork.load( + regions: requestedRegions, + cache: cache, + ) { + guard !Task.isCancelled else { return } + artwork = loaded + } + } + } + + private var silhouettes: some View { + GeometryReader { proxy in + let items = artwork?.items(for: requestedRegions) ?? [] + let cells = LocationsBackgroundLayout.cells( + count: items.count, + in: proxy.size, + preferredCellSize: style.preferredCellSize, + ) + ZStack(alignment: .topLeading) { + ForEach(cells) { cell in + let item = items[cell.artworkIndex] + Group { + if item.region == .other { + Image(systemSymbol: .globeAmericas) + .resizable() + .scaledToFit() + .fontWeight(style.symbolWeight) + .foregroundStyle(style.ink.opacity(style.symbolOpacity)) + .padding(min(cell.frame.width, cell.frame.height) * + (1 - style.artwork.extent.width) / 2) + } else { + RegionOutlineArtwork( + path: item.path, + tint: style.ink, + style: style.artwork, + ) + } + } + .frame(width: cell.frame.width, height: cell.frame.height) + .position(x: cell.frame.midX, y: cell.frame.midY) + } + } + } + } +} + +#if DEBUG + import SnapshotKit + + extension LocationsBackground: SnapshotProviding { + static var snapshots: [SnapshotCase] { + artworkSnapshot(name: "Empty", regions: []) + artworkSnapshot(name: "One", regions: [.california]) + artworkSnapshot(name: "Several", regions: [.california, .newYork, .canada, .other]) + artworkSnapshot(name: "Many", regions: Array(Region.allCases.prefix(40))) + artworkSnapshot( + name: "ReduceTransparency", + regions: [.canada, .other], + reduceTransparency: true, + ) + } + + private static func artworkSnapshot( + name: String, + regions: [Region], + reduceTransparency: Bool = false, + ) -> SnapshotCase { + let cache = RegionOutlinePathCache() + return whereSnapshot( + name: name, + configurations: .phoneLightDark, + measurementReadiness: .immediate, + onReadyToSnapshot: { + _ = await LocationsBackgroundArtwork.load(regions: regions, cache: cache) + }, + ) { + LocationsBackground(regions: regions) + .environment(\.regionOutlinePathCache, cache) + .bTraitOverrides { traits, overrides in + var accessibility = traits.accessibility + accessibility.isReduceTransparencyEnabled = reduceTransparency + overrides.accessibility = accessibility + } + } + } + } + + #Preview { + LocationsBackground.snapshotPreviews + } +#endif diff --git a/Where/WhereUI/Sources/Primary/LocationsBackgroundArtwork.swift b/Where/WhereUI/Sources/Primary/LocationsBackgroundArtwork.swift new file mode 100644 index 000000000..56b6ea3a3 --- /dev/null +++ b/Where/WhereUI/Sources/Primary/LocationsBackgroundArtwork.swift @@ -0,0 +1,36 @@ +import RegionKit +import SwiftUI + +/// Cached outlines retain their membership so obsolete loads cannot decorate a new year. +struct LocationsBackgroundArtwork { + struct Item: Identifiable { + let region: Region + let path: Path + + var id: Region { + region + } + } + + let items: [Item] + + static func regions(in ranking: RegionRanking) -> [Region] { + let visited = Set((ranking.primary + ranking.secondary).map(\.region)) + return Region.allCases.filter { visited.contains($0) } + } + + func items(for regions: [Region]) -> [Item] { + items.map(\.region) == regions ? items : [] + } + + static func load(regions: [Region], cache: RegionOutlinePathCache) async -> Self? { + var items: [Item] = [] + for region in regions { + guard !Task.isCancelled else { return nil } + let path = await cache.path(for: region, resolution: .small) + items.append(Item(region: region, path: path)) + } + guard !Task.isCancelled else { return nil } + return Self(items: items) + } +} diff --git a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift new file mode 100644 index 000000000..ddb4008f7 --- /dev/null +++ b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift @@ -0,0 +1,42 @@ +import CoreGraphics + +/// A staggered field that repeats small sets and fits every member of large sets. +enum LocationsBackgroundLayout { + struct Cell: Identifiable { + let id: Int + let artworkIndex: Int + let frame: CGRect + } + + static func cells(count: Int, in size: CGSize, preferredCellSize: CGFloat) -> [Cell] { + guard count > 0, size.width > 0, size.height > 0, preferredCellSize > 0 else { + return [] + } + var columns = max(1, Int(size.width / preferredCellSize)) + var rows = max(1, Int(size.height / preferredCellSize)) + while columns * rows < count { + if size.width / CGFloat(columns + 1) > size.height / CGFloat(rows + 1) { + columns += 1 + } else { + rows += 1 + } + } + // Half a cell of extra horizontal space keeps staggered rows inside the viewport. + let width = size.width / (CGFloat(columns) + 0.5) + let height = size.height / CGFloat(rows) + return (0 ..< columns * rows).map { index in + let row = index / columns + let column = index % columns + return Cell( + id: index, + artworkIndex: index % count, + frame: CGRect( + x: (CGFloat(column) + (row.isMultiple(of: 2) ? 0 : 0.5)) * width, + y: CGFloat(row) * height, + width: width, + height: height, + ), + ) + } + } +} diff --git a/Where/WhereUI/Sources/Primary/LocationsView.swift b/Where/WhereUI/Sources/Primary/LocationsView.swift index 7f66ed4ab..392d5091f 100644 --- a/Where/WhereUI/Sources/Primary/LocationsView.swift +++ b/Where/WhereUI/Sources/Primary/LocationsView.swift @@ -50,6 +50,11 @@ struct LocationsView: View { NavigationStack { screen + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background { + LocationsBackground(regions: backgroundRegions) + .ignoresSafeArea() + } .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItemGroup(placement: .topBarTrailing) { @@ -237,6 +242,15 @@ struct LocationsView: View { ) } + private var backgroundRegions: [Region] { + switch report.loadState { + case .failed: + [] + case .idle, .loaded, .loading: + LocationsBackgroundArtwork.regions(in: report.ranking) + } + } + private var primaryRegions: [Region] { report.ranking.primary.map(\.region).filter { $0 != .other } } diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index b611095e3..916e932d0 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -17,6 +17,7 @@ struct WhereStylesheet: BStylesheet { var spacing = Spacing() var size = Size() var card = CardStyles.standard + var locationsBackground = LocationsBackgroundStyle() var locationCardStack = LocationCardStackStyle.standard var locationWelcome = LocationWelcomeStyle.standard var calendar = CalendarStyle.standard @@ -67,6 +68,7 @@ struct WhereStylesheet: BStylesheet { // Reduce Transparency flattens the cards: drop the decorative rim-glow // layer (the translucent halo) on both card variants. if traits.accessibility.isReduceTransparencyEnabled { + locationsBackground.showsInk = false card.regular.glow.radius = 0 card.compact.glow.radius = 0 card.constellation.haloOpacity = 0 @@ -2483,3 +2485,31 @@ extension EnvironmentValues { bContext.stylesheet(WhereStylesheet.self, fallback: .default) } } + +// MARK: - Locations background + +extension WhereStylesheet { + /// Flat security print behind the selected year's Locations content. + struct LocationsBackgroundStyle: Equatable { + var paper = Color(uiColor: .systemBackground) + var ink = Color.primary + var showsInk = true + var preferredCellSize: CGFloat = 140 + var symbolWeight = Font.Weight.ultraLight + var symbolOpacity: Double = 0.025 + var artwork = CardStyle.RegionShape.Artwork( + center: CGPoint(x: 0.5, y: 0.5), + extent: CGSize(width: 0.62, height: 0.62), + scale: 1, + fillOpacity: 0, + stroke: .init(opacity: 0.05, width: 0.7), + ) + var rosette = CardStyle.Rosette( + wobble: 0.04, + lineWidth: 0.5, + primaryRingSpacing: 18, + secondaryRingSpacing: 25, + ) + var rosetteOpacity: Double = 0.015 + } +} diff --git a/Where/WhereUI/Tests/LocationsBackgroundArtworkTests.swift b/Where/WhereUI/Tests/LocationsBackgroundArtworkTests.swift new file mode 100644 index 000000000..85c19ddd9 --- /dev/null +++ b/Where/WhereUI/Tests/LocationsBackgroundArtworkTests.swift @@ -0,0 +1,45 @@ +import RegionKit +import Testing +@testable import WhereUI + +struct LocationsBackgroundArtworkTests { + @Test func membershipIncludesBothRanksAndIgnoresRankChanges() { + let first = RegionRanking( + primary: [.init(region: .canada, days: 30), .init(region: .newYork, days: 20)], + secondary: [.init(region: .other, days: 1), .init(region: .canada, days: 2)], + ) + let reordered = RegionRanking( + primary: [.init(region: .newYork, days: 40)], + secondary: [.init(region: .canada, days: 30), .init(region: .other, days: 1)], + ) + let regions = LocationsBackgroundArtwork.regions(in: first) + #expect(Set(regions) == Set([Region.canada, .newYork, .other])) + #expect(regions.count == 3) + #expect(regions == LocationsBackgroundArtwork.regions(in: reordered)) + #expect(LocationsBackgroundArtwork.regions(in: .init(primary: [], secondary: [])).isEmpty) + } + + @Test func changedMembershipHidesPreviousArtwork() async throws { + let artwork = try #require(await LocationsBackgroundArtwork.load( + regions: [.canada, .other], + cache: RegionOutlinePathCache(), + )) + #expect(artwork.items(for: [.canada, .other]).count == 2) + #expect(artwork.items[0].path.isEmpty == false) + #expect(artwork.items[1].path.isEmpty) + #expect(artwork.items(for: [.newYork]).isEmpty) + #expect(artwork.items(for: []).isEmpty) + } + + @MainActor + @Test func cancelledLoadCannotPublishArtwork() async { + let task = Task { @MainActor in + await LocationsBackgroundArtwork.load( + regions: [.canada], + cache: RegionOutlinePathCache(), + ) + } + task.cancel() + #expect(await task.value == nil) + } +} diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift new file mode 100644 index 000000000..2e1a851ea --- /dev/null +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -0,0 +1,29 @@ +import CoreGraphics +import Testing +@testable import WhereUI + +struct LocationsBackgroundLayoutTests { + @Test(arguments: [1, 3, 40, 200]) + func everyRegionFitsInsideTheViewport(count: Int) { + let size = CGSize(width: 390, height: 844) + let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 140) + #expect(Set(cells.map(\.artworkIndex)) == Set(0 ..< count)) + #expect(Set(cells.map(\.id)).count == cells.count) + for cell in cells { + #expect(cell.frame.minX >= 0) + #expect(cell.frame.minY >= 0) + #expect(cell.frame.maxX <= size.width + 0.001) + #expect(cell.frame.maxY <= size.height + 0.001) + #expect(cell.frame.width > 0 && cell.frame.height > 0) + } + } + + @Test func smallSetsRepeatAndEmptyInputsProduceNoCells() { + let size = CGSize(width: 390, height: 844) + #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 140) + .count > 1) + #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 140).isEmpty) + #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 140) + .isEmpty) + } +} diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index e5a0c6d9b..556cc1391 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -526,6 +526,30 @@ struct WhereStylesheetTests { #expect(evidence.loadingMinHeight == 200) } + @Test func locationsBackgroundStyle() { + let background = style.locationsBackground + #expect(background.paper == Color(uiColor: .systemBackground)) + #expect(background.ink == Color.primary) + #expect(background.showsInk) + #expect(background.preferredCellSize == 140) + #expect(background.symbolWeight == .ultraLight) + #expect(background.symbolOpacity == 0.025) + #expect(background.artwork == .init( + center: CGPoint(x: 0.5, y: 0.5), + extent: CGSize(width: 0.62, height: 0.62), + scale: 1, + fillOpacity: 0, + stroke: .init(opacity: 0.05, width: 0.7), + )) + #expect(background.rosette == .init( + wobble: 0.04, + lineWidth: 0.5, + primaryRingSpacing: 18, + secondaryRingSpacing: 25, + )) + #expect(background.rosetteOpacity == 0.015) + } + @Test func elsewhereCardStyle() { let card = style.elsewhereCard #expect(card.cornerRadius == 28) @@ -855,6 +879,7 @@ struct WhereStylesheetTests { #expect(resolved.card.constellation.haloOpacity == 0) #expect(resolved.card.constellation.coreOpacity == 0.92) #expect(resolved.privacyPassportCard.disclosure.fillOpacity == 0.16) + #expect(resolved.locationsBackground.showsInk == false) #expect(resolved.elsewhereCard.surface.usesOpaquePaper) #expect(resolved.elsewhereCard.surface.shadowOpacity == 0) } From 1110b2336ccbe23530bd014ae5630a0fecc8be8b Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 11:58:23 -0700 Subject: [PATCH 02/13] Tighten the Locations print with smaller staggered motifs --- .../locationsBackground.Many_iPhone.png | 4 ++-- .../locationsBackground.Many_iPhone_dark.png | 4 ++-- .../locationsBackground.One_iPhone.png | 4 ++-- .../locationsBackground.One_iPhone_dark.png | 4 ++-- .../locationsBackground.Several_iPhone.png | 4 ++-- ...ocationsBackground.Several_iPhone_dark.png | 4 ++-- .../locations.DotsHidden_iPhone.png | 4 ++-- .../locations.DotsHidden_iPhone_dark.png | 4 ++-- .../locations.ElsewhereOnly_iPhone.png | 4 ++-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 ++-- .../locations.ForecastsHidden_iPhone.png | 4 ++-- .../locations.ForecastsHidden_iPhone_dark.png | 4 ++-- .../locations.Loaded_iPad.png | 4 ++-- .../locations.Loaded_iPad_accessibility.png | 4 ++-- .../locations.Loaded_iPad_ax5.png | 4 ++-- .../locations.Loaded_iPad_contrast.png | 4 ++-- .../locations.Loaded_iPad_dark.png | 4 ++-- .../locations.Loaded_iPhone.png | 4 ++-- .../locations.Loaded_iPhone_accessibility.png | 4 ++-- .../locations.Loaded_iPhone_ax5.png | 4 ++-- .../locations.Loaded_iPhone_contrast.png | 4 ++-- .../locations.Loaded_iPhone_dark.png | 4 ++-- .../locations.MissingDays_iPhone.png | 4 ++-- .../locations.MissingDays_iPhone_dark.png | 4 ++-- .../locations.PlannedStay_iPhone.png | 4 ++-- .../locations.PlannedStay_iPhone_dark.png | 4 ++-- .../Sources/Shared/WhereStylesheet.swift | 10 ++++----- .../LocationsBackgroundLayoutTests.swift | 22 +++++++++++++++---- .../WhereUI/Tests/WhereStylesheetTests.swift | 10 ++++----- 29 files changed, 80 insertions(+), 66 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 4603c1675..4a2467b51 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10d7848680aded8a033abad75196371111ad99d4ed2b40877408237bab6e059b -size 455756 +oid sha256:fedec94eb386a245a06a6ebdd9c849895b54b945fea5ff48f94288944a046212 +size 514019 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index ff34c144b..71471294a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c73cf575783781d7e27c97be94f9f1e76a7264782760e7b15c44047c98384641 -size 477477 +oid sha256:66e4f658ef5200617abedfdce5250b57e141e96e083ec7ba3e96094f4bd01a7c +size 538013 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index bf21621b4..154ebf2fe 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcfc02b8f4a4676f2ee0eca5f69188c3bd8b43624c2266b6f03e954db9704b8f -size 419649 +oid sha256:8507b39ea7d267ffb5fa17b90be5507d5ed73962954a567a11c1f60f13b83c1f +size 506268 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index da981f39b..6324c4501 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5805eb84e4d8798acedb0c34e2135b840b06683692ee59439c32df1a3a32205 -size 440671 +oid sha256:ca6166a7899ffd27d8c3f5431a8f009e2720075f113be6791e6469bee70d135a +size 527629 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index 52d8c464a..40c519b2d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b4efa21c644ef1036567251243fdec653530a19dd17ddeb68cdf5abaf2c2022 -size 427605 +oid sha256:d69b8594c5866613cec820e6e060ce4210fffd7fdbad8194cbdd5ea2a04ab999 +size 537041 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index d60b2dde7..4eb609df9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdf95e889ea98efd88b5d5b2f723ea4ac7dc2d549c7ef947d2b8a62e16681fe9 -size 449186 +oid sha256:0f59a0c43905da839395e7f1f3e2501083428cd2bc62c81503b097cc683a4f43 +size 561408 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index d1c02bb2e..a0a5b9a6a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c5bb211d8292c207b87e78166ac353b3f825ce9ecd9001dcffbdef164889eea -size 2524726 +oid sha256:c194158d2d021a0b43fe68500370eb45ab5c1011cbbd4427638283beeae72681 +size 2607375 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index a1b31c71e..7e5677d7c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7434c6ec94cf75ec79f01bcffb0d74ab61dada95c37eb6478de40c214780f04 -size 2669442 +oid sha256:ff226fa7d043ab8c110af1bf64ff5be6ab4ad8020234a09e0a8b719fe11a8332 +size 2750203 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index dacb0000e..c0df214b2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8792db88a5c8f595215bc86c807d83457d697047d94af494dcb8b4e4f088203 -size 491680 +oid sha256:3735c4d4957ae6c4d78f858486f9af6f144b1d574eacbdac1efe0c74c7623995 +size 596851 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index fd484255c..b76e1b208 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e39da1dbfeef0f1a05641631b56cd48b4cb0e5670ff1ddf7d52aa2a11045fd65 -size 513130 +oid sha256:b61e79815e4514dc97522b449e1e6fc1a7411f476fcbd8fdc0dba44c828054f0 +size 618692 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index e99d2ef27..3e0494a3e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a84f4d32962215aad8ee6be5e32ea65ed5a8f5bc5b46b20f2ed828b7063c52d -size 2513202 +oid sha256:093c189ae352ce187b001016fb4b69f335bb467e8ca7b35f4c248b8379854832 +size 2585101 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 8618144c0..81c4f51b2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80827ab40e39ce3e11c952f918cdb7702ee7c1edad9ba4cf9bd6516ed07eee86 -size 2654913 +oid sha256:21a674f403dc6268c4a03d57e4d0b4cf35bee558d261eb4a507edef5f96de618 +size 2729241 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index d860e658d..7680a41aa 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41a679b78ed5ebdd918293cf32adf888d5679e7414c7dad230ebd7d18a5ba1a4 -size 4563265 +oid sha256:90519066014c760c4ad3939dd28bb41b87c388e821df9649e860b85071799c68 +size 4779575 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 2aa3f57b7..a3099d190 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:387e91f48f118b5298e36a1666a591d23aa3897d8728b1b3a6ead5e0aa423f1e -size 3229019 +oid sha256:7bc97eb714526c7a50628a4244d88c708ae86d93aedb7c506a905f88de3a39be +size 3406454 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 393b4e93c..0455d5629 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fd3ddcf18896081762ca0234354fe2530fa84d03922a19c9005ca5f687d6f1c -size 5410218 +oid sha256:3ae06ceb6b429b544884083038321ae3f4111ce1dcd246501d58536d7a9c4026 +size 5583483 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 908b757c3..e9dd0674d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:502df436ce403943bef0469b009ec72d41671e43dbb869324ec38a289d6d3bfa -size 4481782 +oid sha256:2d7c97627be7020b959035acb32719b3083bad928da490f45cf0ef5269c03859 +size 4706309 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 8d7b183d6..92a02c88c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e020f54037bb7cc56de175f44e633ab42edeff59e659740ef6e558b4005ac609 -size 4886105 +oid sha256:7a3f7a505028f469744dbee81347b96d94f10783b2870902494278f96d5c290e +size 5102124 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 8b2286e2f..907c360dc 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93aa5ef5732681b31ac47ffaa370b5f02304e01b0a0913894495f304f6970867 -size 2532734 +oid sha256:ab4ff2f6ca376384c8edcacfb127d34a51b6a9a2aee34e7a9b29b14576b2feee +size 2615239 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 396eee22b..9c52f42a3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e56e4a5d4221e3084b2881ee8b8c44a8c2bbcd928e4ff42d6da6834dc3362ad7 -size 1725321 +oid sha256:98cd4a9fc2f1c890306eb226f87cf416923448701ad7101d3e18980312b13afe +size 1779900 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 36033da94..7ca0313c4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8305d18c0673eae9d603f6a2ab4a19a6d2018d302260a681bcf60d893004c11 -size 3537500 +oid sha256:0e389d45268a31a060efbf0ec86c263a9d43a86e2a4f8f3f26466fba52c87a7a +size 3591706 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index d20c6794b..85ef56d16 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79e85055eb01d9841bf9a3f1bd6238af9813a5a2f442bb53bde0c98217acd814 -size 2418814 +oid sha256:ede513225a4a5efadac6e79afdd0aac0bd960c3c9be50cd3db17e05e249a0697 +size 2498926 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 132030ed2..2ea4ceb10 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30a85f92053d9164866e0f458e2966c4499c4a34ff4ea0e3bc19b0e951cc60ca -size 2676381 +oid sha256:20b94865c934022b67458534bf025a0846d86d4054c012ba307fb1dafd4444e0 +size 2758546 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 259133b46..d616e2f11 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f58d0d62d37c220f38f0a7710adb556b80f3bfc266bbf5c5efbb8a1b69ef065b -size 1523940 +oid sha256:afcbc65450f2571cdd4ee28162977664307aaa8c7459cdd048940e8b5bccbe79 +size 1613263 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 1de258070..7ac703410 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:412058f4d653de46a5af09e14338a38f35c535deddcbbe36c2f6668d0dee9db1 -size 1530943 +oid sha256:01e7f8af4d760c034732acbfc2ad78d4906a0b74443ab03d06c7e7799d057271 +size 1608576 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 93eb82059..9ec9d949d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c3b6c404e71858297725b9db5fdcc49a766a06dd7f394f30f387c8461a5f164 -size 2440427 +oid sha256:fd15e731c2087db1a8e6be003eb3544d5c57a1a0a30a19ebfd0362dd11d9b96f +size 2496340 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 0bb1cb79d..834e33154 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:088cb5bf31c47ed2a0c03ebe76abd09ab333b1ce56f5fbda3acf9cb4b6937c05 -size 2503865 +oid sha256:2477de6196e9ae3eef68df0391889339d2dee6cb465d9f88849a96c1ee1f3d23 +size 2554842 diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 916e932d0..361a03ddb 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2494,15 +2494,15 @@ extension WhereStylesheet { var paper = Color(uiColor: .systemBackground) var ink = Color.primary var showsInk = true - var preferredCellSize: CGFloat = 140 - var symbolWeight = Font.Weight.ultraLight - var symbolOpacity: Double = 0.025 + var preferredCellSize: CGFloat = 64 + var symbolWeight = Font.Weight.light + var symbolOpacity: Double = 0.035 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.62, height: 0.62), + extent: CGSize(width: 0.7, height: 0.7), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.05, width: 0.7), + stroke: .init(opacity: 0.05, width: 1.1), ) var rosette = CardStyle.Rosette( wobble: 0.04, diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift index 2e1a851ea..290018b30 100644 --- a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -6,7 +6,7 @@ struct LocationsBackgroundLayoutTests { @Test(arguments: [1, 3, 40, 200]) func everyRegionFitsInsideTheViewport(count: Int) { let size = CGSize(width: 390, height: 844) - let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 140) + let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 64) #expect(Set(cells.map(\.artworkIndex)) == Set(0 ..< count)) #expect(Set(cells.map(\.id)).count == cells.count) for cell in cells { @@ -18,12 +18,26 @@ struct LocationsBackgroundLayoutTests { } } + @Test func alternateRowsUseAHalfCellOffset() throws { + let cells = LocationsBackgroundLayout.cells( + count: 5, + in: CGSize(width: 390, height: 844), + preferredCellSize: 64, + ) + let first = try #require(cells.first) + let secondRow = try #require(cells.first { $0.frame.minY > first.frame.minY }) + let thirdRow = try #require(cells.first { $0.frame.minY > secondRow.frame.minY }) + #expect(secondRow.frame.minX - first.frame.minX == first.frame.width / 2) + #expect(thirdRow.frame.minX == first.frame.minX) + #expect(first.frame.width < 64) + } + @Test func smallSetsRepeatAndEmptyInputsProduceNoCells() { let size = CGSize(width: 390, height: 844) - #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 140) + #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 64) .count > 1) - #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 140).isEmpty) - #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 140) + #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 64).isEmpty) + #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 64) .isEmpty) } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 556cc1391..93db5ac2d 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -531,15 +531,15 @@ struct WhereStylesheetTests { #expect(background.paper == Color(uiColor: .systemBackground)) #expect(background.ink == Color.primary) #expect(background.showsInk) - #expect(background.preferredCellSize == 140) - #expect(background.symbolWeight == .ultraLight) - #expect(background.symbolOpacity == 0.025) + #expect(background.preferredCellSize == 64) + #expect(background.symbolWeight == .light) + #expect(background.symbolOpacity == 0.035) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.62, height: 0.62), + extent: CGSize(width: 0.7, height: 0.7), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.05, width: 0.7), + stroke: .init(opacity: 0.05, width: 1.1), )) #expect(background.rosette == .init( wobble: 0.04, From 7c19e27703376db8656bf4e5cc6e4f5f0c481d89 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 12:11:24 -0700 Subject: [PATCH 03/13] Soften and shrink the Locations background print Add a centered ink-colored glow and explicitly warm the loaded-screen snapshot outline cache before capture. --- .../locationsBackground.Many_iPhone.png | 4 +-- .../locationsBackground.Many_iPhone_dark.png | 4 +-- .../locationsBackground.One_iPhone.png | 4 +-- .../locationsBackground.One_iPhone_dark.png | 4 +-- .../locationsBackground.Several_iPhone.png | 4 +-- ...ocationsBackground.Several_iPhone_dark.png | 4 +-- .../locations.DotsHidden_iPhone.png | 4 +-- .../locations.DotsHidden_iPhone_dark.png | 4 +-- .../locations.ElsewhereOnly_iPhone.png | 4 +-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +-- .../locations.ForecastsHidden_iPhone.png | 4 +-- .../locations.ForecastsHidden_iPhone_dark.png | 4 +-- .../locations.Loaded_iPad.png | 4 +-- .../locations.Loaded_iPad_accessibility.png | 4 +-- .../locations.Loaded_iPad_ax5.png | 4 +-- .../locations.Loaded_iPad_contrast.png | 4 +-- .../locations.Loaded_iPad_dark.png | 4 +-- .../locations.Loaded_iPhone.png | 4 +-- .../locations.Loaded_iPhone_accessibility.png | 4 +-- .../locations.Loaded_iPhone_ax5.png | 4 +-- .../locations.Loaded_iPhone_contrast.png | 4 +-- .../locations.Loaded_iPhone_dark.png | 4 +-- .../locations.MissingDays_iPhone.png | 4 +-- .../locations.MissingDays_iPhone_dark.png | 4 +-- .../locations.PlannedStay_iPhone.png | 4 +-- .../locations.PlannedStay_iPhone_dark.png | 4 +-- .../Sources/Primary/LocationsBackground.swift | 4 +++ .../Sources/Primary/LocationsView.swift | 33 ++++++++++++++----- .../Sources/Shared/WhereStylesheet.swift | 14 +++++--- .../LocationsBackgroundLayoutTests.swift | 12 +++---- .../WhereUI/Tests/WhereStylesheetTests.swift | 10 +++--- 31 files changed, 103 insertions(+), 74 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 4a2467b51..4ec941d42 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fedec94eb386a245a06a6ebdd9c849895b54b945fea5ff48f94288944a046212 -size 514019 +oid sha256:7837a309ace5cb921e62769b9db07468124c8d33e4ed1253305148445b45d8e1 +size 754813 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 71471294a..ae759e74e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66e4f658ef5200617abedfdce5250b57e141e96e083ec7ba3e96094f4bd01a7c -size 538013 +oid sha256:de52f00f6b53fe218149d688e098140839bb9c2ff50f49950a2b52e0bf35c699 +size 781248 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 154ebf2fe..6772e6d51 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8507b39ea7d267ffb5fa17b90be5507d5ed73962954a567a11c1f60f13b83c1f -size 506268 +oid sha256:707320dae628bf21e3acef8a6dd5c0d35d25efb95465d4a2945d62c022d3f524 +size 706779 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index 6324c4501..f82b4af07 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca6166a7899ffd27d8c3f5431a8f009e2720075f113be6791e6469bee70d135a -size 527629 +oid sha256:ba88ff651bd065c8659382c21fa0723f478ebf59db6b842e1a14f97a8227b545 +size 732026 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index 40c519b2d..97b72cff0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d69b8594c5866613cec820e6e060ce4210fffd7fdbad8194cbdd5ea2a04ab999 -size 537041 +oid sha256:c1d88881446446ed28f46c8a218c2d2600684cff8eab0c63578ab040b723df16 +size 942558 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index 4eb609df9..fe85a0740 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f59a0c43905da839395e7f1f3e2501083428cd2bc62c81503b097cc683a4f43 -size 561408 +oid sha256:ba9c17e48eb93c06d6727708cc00e5422ef1f8bbc8c937f1ffd8c61252a16e25 +size 888362 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index a0a5b9a6a..11996058b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c194158d2d021a0b43fe68500370eb45ab5c1011cbbd4427638283beeae72681 -size 2607375 +oid sha256:2c8f512062fac7d58b3eb52ad0dc7e9575f14ef2da724bc488d34f5e75d84a25 +size 2780491 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 7e5677d7c..54b2bcc9e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff226fa7d043ab8c110af1bf64ff5be6ab4ad8020234a09e0a8b719fe11a8332 -size 2750203 +oid sha256:ab2873403a7516338a0f7a4f51fbb727db5e2cdcf8db344df4cadc7d75cfe00a +size 2909530 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index c0df214b2..597c24f73 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3735c4d4957ae6c4d78f858486f9af6f144b1d574eacbdac1efe0c74c7623995 -size 596851 +oid sha256:9eecfdb3adc983adcb3fa5f741f745d82ae395b0f267afe96a3b12764c0b00c3 +size 1422486 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index b76e1b208..47a0d93f7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b61e79815e4514dc97522b449e1e6fc1a7411f476fcbd8fdc0dba44c828054f0 -size 618692 +oid sha256:e923389b7f8d7bc8d98f6be67ba643d566246e47739d04c06089e11d1604794d +size 1153860 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index 3e0494a3e..8087f75c7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:093c189ae352ce187b001016fb4b69f335bb467e8ca7b35f4c248b8379854832 -size 2585101 +oid sha256:8eb43edffdda67fb2b6e6ebb4da4a8d0e94b18fdb53a6c48b82f9b41ed5b7003 +size 2734196 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 81c4f51b2..25e065f7e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21a674f403dc6268c4a03d57e4d0b4cf35bee558d261eb4a507edef5f96de618 -size 2729241 +oid sha256:e2117bd311a22051ac13aebd5f11ebf17e3f28f1cbb97a26d84b8bb41b422923 +size 2857980 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 7680a41aa..f51797a6a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90519066014c760c4ad3939dd28bb41b87c388e821df9649e860b85071799c68 -size 4779575 +oid sha256:1a2b6a0e17594b1458dccb7bea7e3661603c30c2e09728d1d56b354f66336b35 +size 5452613 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index a3099d190..702351ac6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7bc97eb714526c7a50628a4244d88c708ae86d93aedb7c506a905f88de3a39be -size 3406454 +oid sha256:0c7b1656b3deedc8b0f2e196919f611840251cd6cb1d7f930b65d8fd53807136 +size 3973254 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 0455d5629..4f9d85970 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ae06ceb6b429b544884083038321ae3f4111ce1dcd246501d58536d7a9c4026 -size 5583483 +oid sha256:7f640f270f876bad7b717a8afd70bfe55254e05cd11c839a523fccaf22f53b29 +size 6006787 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index e9dd0674d..75447e15d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d7c97627be7020b959035acb32719b3083bad928da490f45cf0ef5269c03859 -size 4706309 +oid sha256:ea271d42939aced05f6786d471832b1931e59d5776a3b8f7d0769c65493f4596 +size 5357890 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 92a02c88c..27b6ed7cd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a3f7a505028f469744dbee81347b96d94f10783b2870902494278f96d5c290e -size 5102124 +oid sha256:64db2d1bf91e677ece0dcfd45f07dabef50f145b8c7222428036e4f8a4034fa3 +size 5643580 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 907c360dc..17f83a8f7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab4ff2f6ca376384c8edcacfb127d34a51b6a9a2aee34e7a9b29b14576b2feee -size 2615239 +oid sha256:b5dade47e0fbb7ee11519cd483656565de7c706ad3f757f547a9944406872f2d +size 2788640 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 9c52f42a3..b11809182 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98cd4a9fc2f1c890306eb226f87cf416923448701ad7101d3e18980312b13afe -size 1779900 +oid sha256:a3c6b84d65394c0ba05948910df6a2cf6891612729a87afbcc5c8e1ccd85a8c5 +size 1910605 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 7ca0313c4..d6924445f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e389d45268a31a060efbf0ec86c263a9d43a86e2a4f8f3f26466fba52c87a7a -size 3591706 +oid sha256:f51b4cc8f3cf540c2d601be11b17cf3cd30792d00cb531990e25e2bbb3292dfe +size 3706378 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 85ef56d16..8b915c77b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ede513225a4a5efadac6e79afdd0aac0bd960c3c9be50cd3db17e05e249a0697 -size 2498926 +oid sha256:7f846e95acbdbe3acca66d8a26260eb1d6a758cf98e3a9569e24fe92149fae0f +size 2673418 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 2ea4ceb10..ca94c4472 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:20b94865c934022b67458534bf025a0846d86d4054c012ba307fb1dafd4444e0 -size 2758546 +oid sha256:a4fee3e98e82d345d944abebccdbde39e67193d5d667281b64ceb0fd1cfeaec8 +size 2917773 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index d616e2f11..0d807d5fa 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afcbc65450f2571cdd4ee28162977664307aaa8c7459cdd048940e8b5bccbe79 -size 1613263 +oid sha256:3c530845dfb33d95ba20ef0720df274cc4b6edc2e64e53b2f95d816a40fd59b0 +size 1817147 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 7ac703410..fcf6872eb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01e7f8af4d760c034732acbfc2ad78d4906a0b74443ab03d06c7e7799d057271 -size 1608576 +oid sha256:1d34e8b258a46e68dd9a8b4097abb9ed24134853b17f846cea1f592bc5845539 +size 1784270 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 9ec9d949d..10204c07f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd15e731c2087db1a8e6be003eb3544d5c57a1a0a30a19ebfd0362dd11d9b96f -size 2496340 +oid sha256:148757dc2eea5ee5e38a24965c6875a9b83f39620d3e12ed243eb0ffa58e1e27 +size 2656603 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 834e33154..9687221fc 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2477de6196e9ae3eef68df0391889339d2dee6cb465d9f88849a96c1ee1f3d23 -size 2554842 +oid sha256:fb8bb010a08535c7a67727f7396f1cab454b4b19a5b6e18139320e40e9e751f5 +size 2690625 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 554ec7936..9a63617ef 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -79,6 +79,10 @@ struct LocationsBackground: View { } } .frame(width: cell.frame.width, height: cell.frame.height) + .shadow( + color: style.ink.opacity(style.glow.opacity), + radius: style.glow.radius, + ) .position(x: cell.frame.midX, y: cell.frame.midY) } } diff --git a/Where/WhereUI/Sources/Primary/LocationsView.swift b/Where/WhereUI/Sources/Primary/LocationsView.swift index 392d5091f..cd20cfc1a 100644 --- a/Where/WhereUI/Sources/Primary/LocationsView.swift +++ b/Where/WhereUI/Sources/Primary/LocationsView.swift @@ -352,14 +352,7 @@ private struct ResolveToolbarLabel: View { /// material adaptation (seen pre-adaptation once on the equivalent /// pre-split screen) — same mechanism as `RootView.LoggedIn`. static var snapshots: [SnapshotCase] { - whereSnapshot( - name: "Loaded", - configurations: .fullContentScreenDefaults, - measurementReadiness: .immediate, - settle: .settledAtLeast(minDuration: 1.0), - ) { - LocationsView(report: PreviewSupport.loadedYearReportModel()) - } + loadedSnapshot() whereSnapshot( name: "PlannedStay", configurations: .fullContentPhoneLightDark, @@ -406,6 +399,30 @@ private struct ResolveToolbarLabel: View { } } + private static func loadedSnapshot() -> SnapshotCase { + let report = PreviewSupport.loadedYearReportModel() + let cache = RegionOutlinePathCache() + let regions = LocationsBackgroundArtwork.regions(in: report.ranking) + return whereSnapshot( + name: "Loaded", + configurations: .fullContentScreenDefaults, + measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), + onReadyToSnapshot: { + // Keep geometry ready across the accessibility renderer's reparenting. + // Pixel stability alone can settle on the unloaded symbol fallback. + for region in regions { + _ = await cache.path(for: region, resolution: .small) + _ = await cache.path(for: region, resolution: .medium) + _ = await cache.path(for: region, resolution: .micro) + } + }, + ) { + LocationsView(report: report) + .environment(\.regionOutlinePathCache, cache) + } + } + private static func forecastsHiddenReport() -> YearReportModel { PreviewSupport.loadedYearReportModelWithEstimatedTimeHidden() } diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 361a03ddb..0a273f770 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2494,15 +2494,15 @@ extension WhereStylesheet { var paper = Color(uiColor: .systemBackground) var ink = Color.primary var showsInk = true - var preferredCellSize: CGFloat = 64 + var preferredCellSize: CGFloat = 48 var symbolWeight = Font.Weight.light - var symbolOpacity: Double = 0.035 + var symbolOpacity: Double = 0.03 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.7, height: 0.7), + extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.05, width: 1.1), + stroke: .init(opacity: 0.043, width: 1.1), ) var rosette = CardStyle.Rosette( wobble: 0.04, @@ -2511,5 +2511,11 @@ extension WhereStylesheet { secondaryRingSpacing: 25, ) var rosetteOpacity: Double = 0.015 + var glow = Glow() + + struct Glow: Equatable { + var opacity: Double = 0.65 + var radius: CGFloat = 1.75 + } } } diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift index 290018b30..fc6b30954 100644 --- a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -6,7 +6,7 @@ struct LocationsBackgroundLayoutTests { @Test(arguments: [1, 3, 40, 200]) func everyRegionFitsInsideTheViewport(count: Int) { let size = CGSize(width: 390, height: 844) - let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 64) + let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 48) #expect(Set(cells.map(\.artworkIndex)) == Set(0 ..< count)) #expect(Set(cells.map(\.id)).count == cells.count) for cell in cells { @@ -22,22 +22,22 @@ struct LocationsBackgroundLayoutTests { let cells = LocationsBackgroundLayout.cells( count: 5, in: CGSize(width: 390, height: 844), - preferredCellSize: 64, + preferredCellSize: 48, ) let first = try #require(cells.first) let secondRow = try #require(cells.first { $0.frame.minY > first.frame.minY }) let thirdRow = try #require(cells.first { $0.frame.minY > secondRow.frame.minY }) #expect(secondRow.frame.minX - first.frame.minX == first.frame.width / 2) #expect(thirdRow.frame.minX == first.frame.minX) - #expect(first.frame.width < 64) + #expect(first.frame.width < 48) } @Test func smallSetsRepeatAndEmptyInputsProduceNoCells() { let size = CGSize(width: 390, height: 844) - #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 64) + #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 48) .count > 1) - #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 64).isEmpty) - #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 64) + #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 48).isEmpty) + #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 48) .isEmpty) } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 93db5ac2d..e8ca1bcd3 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -531,15 +531,15 @@ struct WhereStylesheetTests { #expect(background.paper == Color(uiColor: .systemBackground)) #expect(background.ink == Color.primary) #expect(background.showsInk) - #expect(background.preferredCellSize == 64) + #expect(background.preferredCellSize == 48) #expect(background.symbolWeight == .light) - #expect(background.symbolOpacity == 0.035) + #expect(background.symbolOpacity == 0.03) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.7, height: 0.7), + extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.05, width: 1.1), + stroke: .init(opacity: 0.043, width: 1.1), )) #expect(background.rosette == .init( wobble: 0.04, @@ -548,6 +548,8 @@ struct WhereStylesheetTests { secondaryRingSpacing: 25, )) #expect(background.rosetteOpacity == 0.015) + #expect(background.glow.opacity == 0.65) + #expect(background.glow.radius == 1.75) } @Test func elsewhereCardStyle() { From ab948897759104598e3d9acbe0894c8e93f34aa1 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 13:57:38 -0700 Subject: [PATCH 04/13] Match the Locations glow to the composited ink color --- .../locationsBackground.Many_iPhone.png | 4 ++-- .../locationsBackground.Many_iPhone_dark.png | 4 ++-- .../locationsBackground.One_iPhone.png | 4 ++-- .../locationsBackground.One_iPhone_dark.png | 4 ++-- .../locationsBackground.Several_iPhone.png | 4 ++-- .../locationsBackground.Several_iPhone_dark.png | 4 ++-- .../locations.DotsHidden_iPhone.png | 4 ++-- .../locations.DotsHidden_iPhone_dark.png | 4 ++-- .../locations.ElsewhereOnly_iPhone.png | 4 ++-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 ++-- .../locations.ForecastsHidden_iPhone.png | 4 ++-- .../locations.ForecastsHidden_iPhone_dark.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPad.png | 4 ++-- .../locations.Loaded_iPad_accessibility.png | 4 ++-- .../locations.Loaded_iPad_ax5.png | 4 ++-- .../locations.Loaded_iPad_contrast.png | 4 ++-- .../locations.Loaded_iPad_dark.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPhone.png | 4 ++-- .../locations.Loaded_iPhone_accessibility.png | 4 ++-- .../locations.Loaded_iPhone_ax5.png | 4 ++-- .../locations.Loaded_iPhone_contrast.png | 4 ++-- .../locations.Loaded_iPhone_dark.png | 4 ++-- .../locations.MissingDays_iPhone.png | 4 ++-- .../locations.MissingDays_iPhone_dark.png | 4 ++-- .../locations.PlannedStay_iPhone.png | 4 ++-- .../locations.PlannedStay_iPhone_dark.png | 4 ++-- Where/WhereUI/Sources/Primary/LocationsBackground.swift | 4 +++- Where/WhereUI/Sources/Shared/WhereStylesheet.swift | 6 +++++- Where/WhereUI/Tests/WhereStylesheetTests.swift | 1 - 29 files changed, 60 insertions(+), 55 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 4ec941d42..64215dec6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7837a309ace5cb921e62769b9db07468124c8d33e4ed1253305148445b45d8e1 -size 754813 +oid sha256:5c8ac62803860e34351368c4c79b2855f1d9b66395e3abc72b67f0c41e4ec038 +size 633025 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index ae759e74e..60dcc9ab1 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de52f00f6b53fe218149d688e098140839bb9c2ff50f49950a2b52e0bf35c699 -size 781248 +oid sha256:eb26dafccd014ac6838b343c834862d3fa1bded76af3e71eba607649d8dc70c2 +size 585648 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 6772e6d51..efa5506e0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:707320dae628bf21e3acef8a6dd5c0d35d25efb95465d4a2945d62c022d3f524 -size 706779 +oid sha256:8bde1c7584ce45edb783ccecb45e16e4a267ce9052336b75778b3ae840ab556e +size 605886 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index f82b4af07..d46e48747 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba88ff651bd065c8659382c21fa0723f478ebf59db6b842e1a14f97a8227b545 -size 732026 +oid sha256:7a08fe798c45b2467d334e4f4777e91e3ebfce9188b1e4c6f22a0831534cf7c8 +size 546945 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index 97b72cff0..431c13c2b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1d88881446446ed28f46c8a218c2d2600684cff8eab0c63578ab040b723df16 -size 942558 +oid sha256:24e85dc6a9a6122501ce27c0f4a11b6e2ee6372e9a69c57ba47f744cdca24908 +size 784489 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index fe85a0740..522fb9d63 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba9c17e48eb93c06d6727708cc00e5422ef1f8bbc8c937f1ffd8c61252a16e25 -size 888362 +oid sha256:dbcde74e61eb9f2f8eddd57f72d006c265bbfeb92ce69a8b668fda57bb9c5ff9 +size 620956 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 11996058b..83083fc2f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c8f512062fac7d58b3eb52ad0dc7e9575f14ef2da724bc488d34f5e75d84a25 -size 2780491 +oid sha256:550ce648d7b90d54b7d6acd17384cd0a9419d0aa536f14f5317bd7166bcfcaaf +size 2698337 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 54b2bcc9e..1ab62208a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab2873403a7516338a0f7a4f51fbb727db5e2cdcf8db344df4cadc7d75cfe00a -size 2909530 +oid sha256:c3641aa05819b1656b10fbdceb99a4c842bb8b37f77b5171113addfe824dd82d +size 2790533 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 597c24f73..fc63b1f9c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9eecfdb3adc983adcb3fa5f741f745d82ae395b0f267afe96a3b12764c0b00c3 -size 1422486 +oid sha256:3e6083763e5c28d325029d9ecbd6b9652070379c08b2343f6f598bbd6daf7300 +size 1152477 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index 47a0d93f7..aeb37d036 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e923389b7f8d7bc8d98f6be67ba643d566246e47739d04c06089e11d1604794d -size 1153860 +oid sha256:d33d01a594ef793e98afdfb600b36a1c12fecd80f8022fb3482836eb63782e9c +size 675579 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index 8087f75c7..48d788a33 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8eb43edffdda67fb2b6e6ebb4da4a8d0e94b18fdb53a6c48b82f9b41ed5b7003 -size 2734196 +oid sha256:c148b81b068e17356c76c1d50c3adb28aef1eb8f9c674b51527f768436cc0ad4 +size 2658890 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 25e065f7e..cd417d0e9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2117bd311a22051ac13aebd5f11ebf17e3f28f1cbb97a26d84b8bb41b422923 -size 2857980 +oid sha256:dab184a635e78af0e01cfda8da3c7b9719d1d93e9902d680d0daa21257085e6c +size 2749680 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index f51797a6a..5c15f0e14 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a2b6a0e17594b1458dccb7bea7e3661603c30c2e09728d1d56b354f66336b35 -size 5452613 +oid sha256:67371a44f57482ae946602d41ba4518260e1b344e3636c395caa17eeb984bf12 +size 5156066 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 702351ac6..8cbaab4cf 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c7b1656b3deedc8b0f2e196919f611840251cd6cb1d7f930b65d8fd53807136 -size 3973254 +oid sha256:ef5e0647b870872c7ebd2a6f58db84dbdad0e09e582732c53fb1624ef1ca5779 +size 3727839 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 4f9d85970..a463704d2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f640f270f876bad7b717a8afd70bfe55254e05cd11c839a523fccaf22f53b29 -size 6006787 +oid sha256:0872bf8911734d9fa1a5696b97f42726c319e458cc22ce788e5b5e53313737dd +size 5779489 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 75447e15d..8fb804ee7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea271d42939aced05f6786d471832b1931e59d5776a3b8f7d0769c65493f4596 -size 5357890 +oid sha256:cb749585f533c259ab50c23ba3d8a2d68d8a1e8ef3975eba35527e257830a849 +size 5065420 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 27b6ed7cd..2cbd3eb97 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64db2d1bf91e677ece0dcfd45f07dabef50f145b8c7222428036e4f8a4034fa3 -size 5643580 +oid sha256:acfa45bad576b2b6b6c29d122fb4d11868919a7d68386c2a8efb0620e606603b +size 5181931 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 17f83a8f7..f1ab35127 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5dade47e0fbb7ee11519cd483656565de7c706ad3f757f547a9944406872f2d -size 2788640 +oid sha256:e50eb553342a21c5ca59baa8d00dec3063240c35c777825850fcfcb64c5b0140 +size 2706337 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index b11809182..ee7b68692 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3c6b84d65394c0ba05948910df6a2cf6891612729a87afbcc5c8e1ccd85a8c5 -size 1910605 +oid sha256:51417da36724c34de58c0ce423d96e8ecacb9a652c8a17c76da983275251a6be +size 1855016 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index d6924445f..8120fe4c6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f51b4cc8f3cf540c2d601be11b17cf3cd30792d00cb531990e25e2bbb3292dfe -size 3706378 +oid sha256:17dacc0a32d8bbf92162c8204dac880fcdfc5ea677b962fb701315859daf1a71 +size 3665112 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 8b915c77b..fd1183f06 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f846e95acbdbe3acca66d8a26260eb1d6a758cf98e3a9569e24fe92149fae0f -size 2673418 +oid sha256:43a597c1531501857e4fd8db18a8962405868ea4514ff81189bf7d44cb47db1b +size 2590289 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index ca94c4472..528e5a6d0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4fee3e98e82d345d944abebccdbde39e67193d5d667281b64ceb0fd1cfeaec8 -size 2917773 +oid sha256:cf57838469fb3a44c039f0013f4a384770625b3eda4200b9789111fd4d49c937 +size 2799188 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 0d807d5fa..09e83b918 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c530845dfb33d95ba20ef0720df274cc4b6edc2e64e53b2f95d816a40fd59b0 -size 1817147 +oid sha256:7722eba4ce49a53f0e4ac4c5d9b143d1d6857364689af7997e9ec15ae15a06d0 +size 1707531 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index fcf6872eb..4f15570c2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d34e8b258a46e68dd9a8b4097abb9ed24134853b17f846cea1f592bc5845539 -size 1784270 +oid sha256:72372cbf8334d00abae66aad6199ce46a55baa5aa4c28355b1763e6069665b73 +size 1631255 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 10204c07f..94baf9bbd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:148757dc2eea5ee5e38a24965c6875a9b83f39620d3e12ed243eb0ffa58e1e27 -size 2656603 +oid sha256:969e33e93eca6c390fb449819d3cb14409ff97be0b26f484cc973fb6ec184a50 +size 2574881 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 9687221fc..4bc28b852 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb8bb010a08535c7a67727f7396f1cab454b4b19a5b6e18139320e40e9e751f5 -size 2690625 +oid sha256:ed149a0796de254320260a7941439d835dcfc555e3908a0a97b145bb35dd00ca +size 2581575 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 9a63617ef..baa41264c 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -61,6 +61,8 @@ struct LocationsBackground: View { ZStack(alignment: .topLeading) { ForEach(cells) { cell in let item = items[cell.artworkIndex] + let inkOpacity = item.region == .other ? style + .symbolOpacity : (style.artwork.stroke?.opacity ?? 0) Group { if item.region == .other { Image(systemSymbol: .globeAmericas) @@ -80,7 +82,7 @@ struct LocationsBackground: View { } .frame(width: cell.frame.width, height: cell.frame.height) .shadow( - color: style.ink.opacity(style.glow.opacity), + color: style.glowColor(inkOpacity: inkOpacity), radius: style.glow.radius, ) .position(x: cell.frame.midX, y: cell.frame.midY) diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 0a273f770..94bd4b439 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2513,8 +2513,12 @@ extension WhereStylesheet { var rosetteOpacity: Double = 0.015 var glow = Glow() + /// Match the translucent ink after it has composited onto the opaque paper. + func glowColor(inkOpacity: Double) -> Color { + paper.mix(with: ink, by: inkOpacity, in: .device) + } + struct Glow: Equatable { - var opacity: Double = 0.65 var radius: CGFloat = 1.75 } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index e8ca1bcd3..8e519f46c 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -548,7 +548,6 @@ struct WhereStylesheetTests { secondaryRingSpacing: 25, )) #expect(background.rosetteOpacity == 0.015) - #expect(background.glow.opacity == 0.65) #expect(background.glow.radius == 1.75) } From 929eeff5735474a9ff20d5017aef55a5ca7708a5 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 14:58:35 -0700 Subject: [PATCH 05/13] Use opaque printed ink for the Locations shadow mask --- .../locationsBackground.Many_iPhone.png | 4 ++-- .../locationsBackground.Many_iPhone_dark.png | 4 ++-- .../locationsBackground.One_iPhone.png | 4 ++-- .../locationsBackground.One_iPhone_dark.png | 4 ++-- .../locationsBackground.Several_iPhone.png | 4 ++-- .../locationsBackground.Several_iPhone_dark.png | 4 ++-- .../locations.DotsHidden_iPhone.png | 4 ++-- .../locations.DotsHidden_iPhone_dark.png | 4 ++-- .../locations.ElsewhereOnly_iPhone.png | 4 ++-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 ++-- .../locations.ForecastsHidden_iPhone.png | 4 ++-- .../locations.ForecastsHidden_iPhone_dark.png | 4 ++-- .../locations.Loaded_iPad.png | 4 ++-- .../locations.Loaded_iPad_accessibility.png | 4 ++-- .../locations.Loaded_iPad_ax5.png | 4 ++-- .../locations.Loaded_iPad_contrast.png | 4 ++-- .../locations.Loaded_iPad_dark.png | 4 ++-- .../locations.Loaded_iPhone.png | 4 ++-- .../locations.Loaded_iPhone_accessibility.png | 4 ++-- .../locations.Loaded_iPhone_ax5.png | 4 ++-- .../locations.Loaded_iPhone_contrast.png | 4 ++-- .../locations.Loaded_iPhone_dark.png | 4 ++-- .../locations.MissingDays_iPhone.png | 4 ++-- .../locations.MissingDays_iPhone_dark.png | 4 ++-- .../locations.PlannedStay_iPhone.png | 4 ++-- .../locations.PlannedStay_iPhone_dark.png | 4 ++-- .../WhereUI/Sources/Primary/LocationsBackground.swift | 11 ++++++----- Where/WhereUI/Sources/Shared/WhereStylesheet.swift | 7 ++++--- Where/WhereUI/Tests/WhereStylesheetTests.swift | 3 ++- 29 files changed, 64 insertions(+), 61 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 64215dec6..1ec1ab05c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c8ac62803860e34351368c4c79b2855f1d9b66395e3abc72b67f0c41e4ec038 -size 633025 +oid sha256:f92c2e9ebdb64b7893bf93b50386c9ec3eb50a2c28ee8115a6e03d994fdd255a +size 966931 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 60dcc9ab1..829db64eb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb26dafccd014ac6838b343c834862d3fa1bded76af3e71eba607649d8dc70c2 -size 585648 +oid sha256:ca824f11dc38393dd93b0262c0e05a7390db481e3411bcb3cd59e321e2fe962b +size 792398 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index efa5506e0..07059bc07 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8bde1c7584ce45edb783ccecb45e16e4a267ce9052336b75778b3ae840ab556e -size 605886 +oid sha256:4ff3392b6f4f8a6d21f0b158cb700d971a69dbc3534d227d577dad737ab7be53 +size 887333 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index d46e48747..e3f9bc481 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a08fe798c45b2467d334e4f4777e91e3ebfce9188b1e4c6f22a0831534cf7c8 -size 546945 +oid sha256:6594cc99eaa9b7f9dd240b91e4807e7be78d7138db6965f01314a19e9ed40753 +size 722300 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index 431c13c2b..f37e114d8 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24e85dc6a9a6122501ce27c0f4a11b6e2ee6372e9a69c57ba47f744cdca24908 -size 784489 +oid sha256:8fa9e8736f1be59f8fb16f0ded3fd5a8f284265b121703bc51ac85cbc5d0748a +size 1181755 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index 522fb9d63..498e6a0f5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbcde74e61eb9f2f8eddd57f72d006c265bbfeb92ce69a8b668fda57bb9c5ff9 -size 620956 +oid sha256:f9b94d0ecccb2ce6de74118a93b9e17ccf51ed0d5c13b6420103f8ddc74990cd +size 950390 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 83083fc2f..23e9409f5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:550ce648d7b90d54b7d6acd17384cd0a9419d0aa536f14f5317bd7166bcfcaaf -size 2698337 +oid sha256:bb8ff42633d993629ad2c5100d8ff3e9e4c7249c78da9a8750ff3f7eb3e5b82e +size 2864303 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 1ab62208a..acf728033 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3641aa05819b1656b10fbdceb99a4c842bb8b37f77b5171113addfe824dd82d -size 2790533 +oid sha256:0ccc0199ac7491243d04b175d68565a513ec455a40c34924b69429b86beb036c +size 2928740 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index fc63b1f9c..f3e4925da 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e6083763e5c28d325029d9ecbd6b9652070379c08b2343f6f598bbd6daf7300 -size 1152477 +oid sha256:270a4cff058948b7e47610f0b988a2acd40e3e2a3dacad21ecc00f92825d85b3 +size 1627235 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index aeb37d036..0cbddf3d4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d33d01a594ef793e98afdfb600b36a1c12fecd80f8022fb3482836eb63782e9c -size 675579 +oid sha256:9abcc19aa43667abb20f467f126de6113c404e72bb1a235567c4832a90239caf +size 1258632 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index 48d788a33..c04463bb3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c148b81b068e17356c76c1d50c3adb28aef1eb8f9c674b51527f768436cc0ad4 -size 2658890 +oid sha256:5c11b0c61fad1acf48d45fd04efd347248d6b79aae6fe3fe6e4429a18224e952 +size 2815513 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index cd417d0e9..b65df3894 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dab184a635e78af0e01cfda8da3c7b9719d1d93e9902d680d0daa21257085e6c -size 2749680 +oid sha256:586c9d42368fc4822f13249a98aeb218be29907ef68f6b42ac37c76d119270a4 +size 2876401 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 5c15f0e14..0b68f31fb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67371a44f57482ae946602d41ba4518260e1b344e3636c395caa17eeb984bf12 -size 5156066 +oid sha256:8cf3efe6e8711c506703d19d01d59617d050c7feac98e7c4b4ad2f03b369ebd1 +size 5828889 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 8cbaab4cf..2d4cc8170 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef5e0647b870872c7ebd2a6f58db84dbdad0e09e582732c53fb1624ef1ca5779 -size 3727839 +oid sha256:f7a4eca97ab3854a15a5f79aa22e922245e1736dc24a71b8c6b74b03c8666372 +size 4184000 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index a463704d2..8aefc3a7c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0872bf8911734d9fa1a5696b97f42726c319e458cc22ce788e5b5e53313737dd -size 5779489 +oid sha256:ed86fb95e6c0b371e16f3bb507ce0eaf412c56f67f0406e4e34e5e0fe1a2358b +size 6254977 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 8fb804ee7..6dd570626 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb749585f533c259ab50c23ba3d8a2d68d8a1e8ef3975eba35527e257830a849 -size 5065420 +oid sha256:59b1fb028d0442b192e12e0e4d4890d3edd95ca4da743bd0ff3d3b518d08c81a +size 5723085 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 2cbd3eb97..f614ffa52 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acfa45bad576b2b6b6c29d122fb4d11868919a7d68386c2a8efb0620e606603b -size 5181931 +oid sha256:2b47b62fee7d3debe57f0da1e9b564957e7457ae1d4187ee78b5b3f65c9b2ff5 +size 5725407 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index f1ab35127..8805282db 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e50eb553342a21c5ca59baa8d00dec3063240c35c777825850fcfcb64c5b0140 -size 2706337 +oid sha256:32c24e04cc7b52612b4339ce91e8c7d35b2021dd5c124832dde59b28398327e8 +size 2871956 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index ee7b68692..6f54cab87 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51417da36724c34de58c0ce423d96e8ecacb9a652c8a17c76da983275251a6be -size 1855016 +oid sha256:fc4e7038529fdb9a94af246be40be67931559edc01ad7a2436a4672163bb6fd9 +size 1953541 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 8120fe4c6..79e71dd50 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17dacc0a32d8bbf92162c8204dac880fcdfc5ea677b962fb701315859daf1a71 -size 3665112 +oid sha256:d12827f05454ee3f6cf7e77f7973a7ec5b4e7a312bc1ab6eba83aedd0d73b648 +size 3764228 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index fd1183f06..06b3353aa 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43a597c1531501857e4fd8db18a8962405868ea4514ff81189bf7d44cb47db1b -size 2590289 +oid sha256:89e31132b823a3b4b5a9edae98bab84c30b2396dd73f94edeb2faed6ca101661 +size 2753576 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 528e5a6d0..c4bfa8219 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf57838469fb3a44c039f0013f4a384770625b3eda4200b9789111fd4d49c937 -size 2799188 +oid sha256:541c6fbab6d59358da25d6a95491150c75af60ed8c8edfc7f65f6f47c4d8e534 +size 2938130 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 09e83b918..3c37194ff 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7722eba4ce49a53f0e4ac4c5d9b143d1d6857364689af7997e9ec15ae15a06d0 -size 1707531 +oid sha256:d2bb17da461ce932513f6c883839b032de391047ad141a13fb5dde9f8f16af0f +size 1968557 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 4f15570c2..182c13ecb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72372cbf8334d00abae66aad6199ce46a55baa5aa4c28355b1763e6069665b73 -size 1631255 +oid sha256:023a48cf709e6937e2c35bd6a30b9b3bca17395ddd88fd012da616e24262a8f5 +size 1787213 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 94baf9bbd..02719f1ea 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:969e33e93eca6c390fb449819d3cb14409ff97be0b26f484cc973fb6ec184a50 -size 2574881 +oid sha256:ae6bc78ef9f25a2d68952afcbd94120787694984596f67c38e25685d03dae4fe +size 2761810 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 4bc28b852..db8f4d154 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed149a0796de254320260a7941439d835dcfc555e3908a0a97b145bb35dd00ca -size 2581575 +oid sha256:3e2bbbb1a0ec357dd32e8119154d8951adefd1f8f557e4ef62c8dfcd5acd4759 +size 2690657 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index baa41264c..da0451b7e 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -61,28 +61,29 @@ struct LocationsBackground: View { ZStack(alignment: .topLeading) { ForEach(cells) { cell in let item = items[cell.artworkIndex] - let inkOpacity = item.region == .other ? style - .symbolOpacity : (style.artwork.stroke?.opacity ?? 0) + let inkOpacity = item.region == .other ? style.symbolOpacity : style + .regionOpacity + let printedInk = style.printedInk(inkOpacity: inkOpacity) Group { if item.region == .other { Image(systemSymbol: .globeAmericas) .resizable() .scaledToFit() .fontWeight(style.symbolWeight) - .foregroundStyle(style.ink.opacity(style.symbolOpacity)) + .foregroundStyle(printedInk) .padding(min(cell.frame.width, cell.frame.height) * (1 - style.artwork.extent.width) / 2) } else { RegionOutlineArtwork( path: item.path, - tint: style.ink, + tint: printedInk, style: style.artwork, ) } } .frame(width: cell.frame.width, height: cell.frame.height) .shadow( - color: style.glowColor(inkOpacity: inkOpacity), + color: printedInk, radius: style.glow.radius, ) .position(x: cell.frame.midX, y: cell.frame.midY) diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 94bd4b439..52752715a 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2497,12 +2497,13 @@ extension WhereStylesheet { var preferredCellSize: CGFloat = 48 var symbolWeight = Font.Weight.light var symbolOpacity: Double = 0.03 + var regionOpacity: Double = 0.043 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.043, width: 1.1), + stroke: .init(opacity: 1, width: 1.1), ) var rosette = CardStyle.Rosette( wobble: 0.04, @@ -2513,8 +2514,8 @@ extension WhereStylesheet { var rosetteOpacity: Double = 0.015 var glow = Glow() - /// Match the translucent ink after it has composited onto the opaque paper. - func glowColor(inkOpacity: Double) -> Color { + /// Preblend ink onto paper so both the stroke and its shadow use an opaque mask. + func printedInk(inkOpacity: Double) -> Color { paper.mix(with: ink, by: inkOpacity, in: .device) } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 8e519f46c..6c9d2b052 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -534,12 +534,13 @@ struct WhereStylesheetTests { #expect(background.preferredCellSize == 48) #expect(background.symbolWeight == .light) #expect(background.symbolOpacity == 0.03) + #expect(background.regionOpacity == 0.043) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 0.043, width: 1.1), + stroke: .init(opacity: 1, width: 1.1), )) #expect(background.rosette == .init( wobble: 0.04, From 9e27c1a2b762047578fef05c993141bd5ca85dd4 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 15:22:05 -0700 Subject: [PATCH 06/13] Diffuse Locations ink outward with clear region interiors --- Where/WhereUI/README.md | 3 +- .../locationsBackground.Many_iPhone.png | 4 +-- .../locationsBackground.Many_iPhone_dark.png | 4 +-- .../locationsBackground.One_iPhone.png | 4 +-- .../locationsBackground.One_iPhone_dark.png | 4 +-- .../locationsBackground.Several_iPhone.png | 4 +-- ...ocationsBackground.Several_iPhone_dark.png | 4 +-- .../locations.DotsHidden_iPhone.png | 4 +-- .../locations.DotsHidden_iPhone_dark.png | 4 +-- .../locations.ElsewhereOnly_iPhone.png | 4 +-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +-- .../locations.ForecastsHidden_iPhone.png | 4 +-- .../locations.ForecastsHidden_iPhone_dark.png | 4 +-- .../locations.Loaded_iPad.png | 4 +-- .../locations.Loaded_iPad_accessibility.png | 4 +-- .../locations.Loaded_iPad_ax5.png | 4 +-- .../locations.Loaded_iPad_contrast.png | 4 +-- .../locations.Loaded_iPad_dark.png | 4 +-- .../locations.Loaded_iPhone.png | 4 +-- .../locations.Loaded_iPhone_accessibility.png | 4 +-- .../locations.Loaded_iPhone_ax5.png | 4 +-- .../locations.Loaded_iPhone_contrast.png | 4 +-- .../locations.Loaded_iPhone_dark.png | 4 +-- .../locations.MissingDays_iPhone.png | 4 +-- .../locations.MissingDays_iPhone_dark.png | 4 +-- .../locations.PlannedStay_iPhone.png | 4 +-- .../locations.PlannedStay_iPhone_dark.png | 4 +-- .../Sources/Primary/LocationsBackground.swift | 35 ++++++++++++++++--- .../Sources/Primary/LocationsView.swift | 10 ++++-- .../Sources/Shared/WhereStylesheet.swift | 12 +++---- .../WhereUI/Tests/WhereStylesheetTests.swift | 6 ++-- 31 files changed, 99 insertions(+), 71 deletions(-) diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index d7b878890..28f8bd0eb 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -416,7 +416,8 @@ The Locations root screen uses a stationary monochrome pattern of all regions visited in the selected year, including manually recorded visits and Elsewhere. Catalog order keeps the pattern stable when card rankings change. Planned stays do not contribute. The shared outline cache supplies the region paths, and the -shared rosette renderer supplies the finer background lines. Appearance belongs +shared rosette renderer supplies the finer background lines. Region ink diffuses +outward from each boundary; the interiors stay clear. Appearance belongs to `WhereStylesheet.locationsBackground`; Reduce Transparency hides the ink. Empty, initial-loading, and failed screens show only the rosette texture. diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 1ec1ab05c..73025ebb1 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f92c2e9ebdb64b7893bf93b50386c9ec3eb50a2c28ee8115a6e03d994fdd255a -size 966931 +oid sha256:0453a4b529e0bc7ad806b34dff6d36c2d9793afa02c339bee19253546cd8a692 +size 1125171 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 829db64eb..aeb41bdad 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca824f11dc38393dd93b0262c0e05a7390db481e3411bcb3cd59e321e2fe962b -size 792398 +oid sha256:65097ca54ea5931c9173aa385e7698433dcb7c28266dbfcf56417f21105d43c7 +size 889623 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 07059bc07..6b2412454 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ff3392b6f4f8a6d21f0b158cb700d971a69dbc3534d227d577dad737ab7be53 -size 887333 +oid sha256:a766558ee8438ca1e8f78a80edb78242f6dacdfe365b03edf110fd016f730fb3 +size 1171400 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index e3f9bc481..f9c0cbeff 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6594cc99eaa9b7f9dd240b91e4807e7be78d7138db6965f01314a19e9ed40753 -size 722300 +oid sha256:015a6de76485b76f5644a299ca766c582422c6994e9cb2ae420243580773884a +size 955070 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index f37e114d8..d06606207 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fa9e8736f1be59f8fb16f0ded3fd5a8f284265b121703bc51ac85cbc5d0748a -size 1181755 +oid sha256:894d096603e628bd28e62650e84f92cfdeda146110177e511687356fb7f255dc +size 1086323 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index 498e6a0f5..e25cf357d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9b94d0ecccb2ce6de74118a93b9e17ccf51ed0d5c13b6420103f8ddc74990cd -size 950390 +oid sha256:135886a3061c20942cf2e0dcd2777539a0fa2352930a4c05ca9cf26c80c404d5 +size 848088 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 23e9409f5..ad15497dd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb8ff42633d993629ad2c5100d8ff3e9e4c7249c78da9a8750ff3f7eb3e5b82e -size 2864303 +oid sha256:4c6312852a3ed01ade3bef57298fb739bfd1d67384e724746335f1af4dac7888 +size 2855100 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index acf728033..d04c337fd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ccc0199ac7491243d04b175d68565a513ec455a40c34924b69429b86beb036c -size 2928740 +oid sha256:366f2bee2443fc1a8e5f31800898dc28b1cccf97e696adbd4ff608e6f346883b +size 2898336 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index f3e4925da..8617dd7da 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:270a4cff058948b7e47610f0b988a2acd40e3e2a3dacad21ecc00f92825d85b3 -size 1627235 +oid sha256:6a2b1076d85e0e14027a19b926197f2b6e3d50a78f8122e096f64538d71a9090 +size 917409 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index 0cbddf3d4..fea5525c0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9abcc19aa43667abb20f467f126de6113c404e72bb1a235567c4832a90239caf -size 1258632 +oid sha256:73b14d9ce1b1436980fc56093d6e0d9f34e38cece1c9cad72c6a48c1951ac946 +size 713039 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index c04463bb3..badd84c80 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c11b0c61fad1acf48d45fd04efd347248d6b79aae6fe3fe6e4429a18224e952 -size 2815513 +oid sha256:ca4d467dd6802c24de281d5b782f83420880f49676b76068634d32ee75870328 +size 2831009 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index b65df3894..19a790e80 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:586c9d42368fc4822f13249a98aeb218be29907ef68f6b42ac37c76d119270a4 -size 2876401 +oid sha256:be86e07a50545d200714c6b0706d5c9e8cb0091671d94e506f7a1022378467c8 +size 2865861 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 0b68f31fb..dd440abe3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8cf3efe6e8711c506703d19d01d59617d050c7feac98e7c4b4ad2f03b369ebd1 -size 5828889 +oid sha256:3024ef898ea07097fe21620162f0213c72d2eabad17e071aacb0581c69aa485b +size 5788747 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 2d4cc8170..e4ed09348 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7a4eca97ab3854a15a5f79aa22e922245e1736dc24a71b8c6b74b03c8666372 -size 4184000 +oid sha256:e97690749f8089f9802070d001d8aa3c29c90f5921649e0af5dc39e94af300dd +size 4236489 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 8aefc3a7c..52463921a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed86fb95e6c0b371e16f3bb507ce0eaf412c56f67f0406e4e34e5e0fe1a2358b -size 6254977 +oid sha256:8fb2570a018fcd109a8e03e2b243a2fb3d977db09da11299182bba98d6dedfa5 +size 6190572 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 6dd570626..5d0fb7980 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59b1fb028d0442b192e12e0e4d4890d3edd95ca4da743bd0ff3d3b518d08c81a -size 5723085 +oid sha256:ef5a1afb28c5435249c972b9b1f54edac091466f02d9537e3271550d7859c42d +size 5652634 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index f614ffa52..f4eddc5fd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b47b62fee7d3debe57f0da1e9b564957e7457ae1d4187ee78b5b3f65c9b2ff5 -size 5725407 +oid sha256:0d05ae1ee2ed4e238e886c7ca26bcd90065b5f20a92bf55d1328f44605b755ec +size 5642089 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 8805282db..019d1f9c3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32c24e04cc7b52612b4339ce91e8c7d35b2021dd5c124832dde59b28398327e8 -size 2871956 +oid sha256:943fe37c4e4697bd1a0471d9b16afb8f5429755b5b3110592eb1a35a322832ac +size 2862917 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 6f54cab87..0b192f9d3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc4e7038529fdb9a94af246be40be67931559edc01ad7a2436a4672163bb6fd9 -size 1953541 +oid sha256:b933222741520def66565d7473726bc51054831fd63405702d12d8c1d62b1d09 +size 1955695 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 79e71dd50..179aae786 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d12827f05454ee3f6cf7e77f7973a7ec5b4e7a312bc1ab6eba83aedd0d73b648 -size 3764228 +oid sha256:47c02a225d522366913f5ac94a4823aecafe2b039c7ff5f9315d89f7762d624c +size 3751922 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 06b3353aa..aab052f3f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89e31132b823a3b4b5a9edae98bab84c30b2396dd73f94edeb2faed6ca101661 -size 2753576 +oid sha256:9bbe584326b950cbf54e85fd75dcd94f1bba6c690e091fca93c269918cb597c1 +size 2734590 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index c4bfa8219..c2b5a70a4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:541c6fbab6d59358da25d6a95491150c75af60ed8c8edfc7f65f6f47c4d8e534 -size 2938130 +oid sha256:cf6cace7c553539aa2ffa80437b9a3c4ab745256e63affc5c8c3f683ae49a8c4 +size 2906901 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 3c37194ff..717735b62 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2bb17da461ce932513f6c883839b032de391047ad141a13fb5dde9f8f16af0f -size 1968557 +oid sha256:88ecce499326563136bb28654609e009647250c5e061b093c7b5271a4323a276 +size 2166358 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 182c13ecb..cb4dbd863 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:023a48cf709e6937e2c35bd6a30b9b3bca17395ddd88fd012da616e24262a8f5 -size 1787213 +oid sha256:6eea3f7da20ae40ad6ee94f66fcefc322476c2ddebff15aee0d6d35930a7d00a +size 1932357 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 02719f1ea..c7b546c63 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae6bc78ef9f25a2d68952afcbd94120787694984596f67c38e25685d03dae4fe -size 2761810 +oid sha256:080ae0f3863f7123824df3e8dea13b394a664885f4f674114e5447150a9cf536 +size 2896228 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index db8f4d154..9c0a76986 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e2bbbb1a0ec357dd32e8119154d8951adefd1f8f557e4ef62c8dfcd5acd4759 -size 2690657 +oid sha256:dcb1ada1aa2e19ad419f83415c4ad4171c472faccb7b49317541d935d9560cbf +size 2774225 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index da0451b7e..5a895d35e 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -82,15 +82,42 @@ struct LocationsBackground: View { } } .frame(width: cell.frame.width, height: cell.frame.height) - .shadow( - color: printedInk, - radius: style.glow.radius, - ) + .blur(radius: style.diffusionRadius) + .mask { exteriorMask(for: item) } .position(x: cell.frame.midX, y: cell.frame.midY) } } } } + + /// Cut the interior out after blurring so ink spreads only into the surrounding paper. + private func exteriorMask(for item: LocationsBackgroundArtwork.Item) -> some View { + GeometryReader { proxy in + Path { mask in + let size = proxy.size + mask.addRect(CGRect(origin: .zero, size: size)) + if item.region == .other { + let diameter = min(size.width, size.height) * style.artwork.extent.width + mask.addEllipse(in: CGRect( + x: (size.width - diameter) / 2, + y: (size.height - diameter) / 2, + width: diameter, + height: diameter, + )) + } else if let transform = RegionArtworkTransform( + path: item.path, + size: size, + style: style.artwork, + ) { + mask.addPath(item.path, transform: CGAffineTransform( + scaleX: transform.scale, + y: transform.scale, + ).translatedBy(x: transform.translation.x, y: transform.translation.y)) + } + } + .fill(.white, style: FillStyle(eoFill: true)) + } + } } #if DEBUG diff --git a/Where/WhereUI/Sources/Primary/LocationsView.swift b/Where/WhereUI/Sources/Primary/LocationsView.swift index cd20cfc1a..e1cc21a0d 100644 --- a/Where/WhereUI/Sources/Primary/LocationsView.swift +++ b/Where/WhereUI/Sources/Primary/LocationsView.swift @@ -348,15 +348,14 @@ private struct ResolveToolbarLabel: View { #if DEBUG extension LocationsView: SnapshotProviding { - /// The raised settle floor on `Loaded` outlasts the native glass toolbar - /// material adaptation (seen pre-adaptation once on the equivalent - /// pre-split screen) — same mechanism as `RootView.LoggedIn`. + /// Allow native glass adaptation and the background artwork to settle before capture. static var snapshots: [SnapshotCase] { loadedSnapshot() whereSnapshot( name: "PlannedStay", configurations: .fullContentPhoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView(report: PreviewSupport.plannedStayYearReportModel()) } @@ -364,6 +363,7 @@ private struct ResolveToolbarLabel: View { name: "ForecastsHidden", configurations: .fullContentPhoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView(report: forecastsHiddenReport()) } @@ -371,6 +371,7 @@ private struct ResolveToolbarLabel: View { name: "Empty", configurations: .phoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView(report: PreviewSupport.emptyYearReportModel()) } @@ -378,6 +379,7 @@ private struct ResolveToolbarLabel: View { name: "MissingDays", configurations: .fullContentPhoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView(report: PreviewSupport.missingDaysYearReportModel()) } @@ -385,6 +387,7 @@ private struct ResolveToolbarLabel: View { name: "ElsewhereOnly", configurations: .phoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView(report: PreviewSupport.elsewhereOnlyYearReportModel()) } @@ -392,6 +395,7 @@ private struct ResolveToolbarLabel: View { name: "DotsHidden", configurations: .fullContentPhoneLightDark, measurementReadiness: .immediate, + settle: .settledAtLeast(minDuration: 1.0), ) { LocationsView( report: PreviewSupport.loadedYearReportModelWithLocationDotsHidden(), diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 52752715a..c4bb10792 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2495,7 +2495,7 @@ extension WhereStylesheet { var ink = Color.primary var showsInk = true var preferredCellSize: CGFloat = 48 - var symbolWeight = Font.Weight.light + var symbolWeight = Font.Weight.regular var symbolOpacity: Double = 0.03 var regionOpacity: Double = 0.043 var artwork = CardStyle.RegionShape.Artwork( @@ -2503,7 +2503,7 @@ extension WhereStylesheet { extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 1, width: 1.1), + stroke: .init(opacity: 1, width: 4), ) var rosette = CardStyle.Rosette( wobble: 0.04, @@ -2512,15 +2512,11 @@ extension WhereStylesheet { secondaryRingSpacing: 25, ) var rosetteOpacity: Double = 0.015 - var glow = Glow() + var diffusionRadius: CGFloat = 4 - /// Preblend ink onto paper so both the stroke and its shadow use an opaque mask. + /// Bake the faint ink tone into an opaque color before diffusing its shape. func printedInk(inkOpacity: Double) -> Color { paper.mix(with: ink, by: inkOpacity, in: .device) } - - struct Glow: Equatable { - var radius: CGFloat = 1.75 - } } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 6c9d2b052..f6e217a27 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -532,7 +532,7 @@ struct WhereStylesheetTests { #expect(background.ink == Color.primary) #expect(background.showsInk) #expect(background.preferredCellSize == 48) - #expect(background.symbolWeight == .light) + #expect(background.symbolWeight == .regular) #expect(background.symbolOpacity == 0.03) #expect(background.regionOpacity == 0.043) #expect(background.artwork == .init( @@ -540,7 +540,7 @@ struct WhereStylesheetTests { extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 1, width: 1.1), + stroke: .init(opacity: 1, width: 4), )) #expect(background.rosette == .init( wobble: 0.04, @@ -549,7 +549,7 @@ struct WhereStylesheetTests { secondaryRingSpacing: 25, )) #expect(background.rosetteOpacity == 0.015) - #expect(background.glow.radius == 1.75) + #expect(background.diffusionRadius == 4) } @Test func elsewhereCardStyle() { From f2edc3e379b47c55ca2ceb8e035d04841b6d9abb Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 15:36:19 -0700 Subject: [PATCH 07/13] Restore plain strokes for the Locations background --- Where/WhereUI/README.md | 4 +- .../locationsBackground.Many_iPhone.png | 4 +- .../locationsBackground.Many_iPhone_dark.png | 4 +- .../locationsBackground.One_iPhone.png | 4 +- .../locationsBackground.One_iPhone_dark.png | 4 +- .../locationsBackground.Several_iPhone.png | 4 +- ...ocationsBackground.Several_iPhone_dark.png | 4 +- .../locations.DotsHidden_iPhone.png | 4 +- .../locations.DotsHidden_iPhone_dark.png | 4 +- .../locations.ElsewhereOnly_iPhone.png | 4 +- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +- .../locations.ForecastsHidden_iPhone.png | 4 +- .../locations.ForecastsHidden_iPhone_dark.png | 4 +- .../locations.Loaded_iPad.png | 4 +- .../locations.Loaded_iPad_accessibility.png | 4 +- .../locations.Loaded_iPad_ax5.png | 4 +- .../locations.Loaded_iPad_contrast.png | 4 +- .../locations.Loaded_iPad_dark.png | 4 +- .../locations.Loaded_iPhone.png | 4 +- .../locations.Loaded_iPhone_accessibility.png | 4 +- .../locations.Loaded_iPhone_ax5.png | 4 +- .../locations.Loaded_iPhone_contrast.png | 4 +- .../locations.Loaded_iPhone_dark.png | 4 +- .../locations.MissingDays_iPhone.png | 4 +- .../locations.MissingDays_iPhone_dark.png | 4 +- .../locations.PlannedStay_iPhone.png | 4 +- .../locations.PlannedStay_iPhone_dark.png | 4 +- .../Sources/Primary/LocationsBackground.swift | 38 +------------------ .../Sources/Shared/WhereStylesheet.swift | 11 +----- .../WhereUI/Tests/WhereStylesheetTests.swift | 6 +-- 30 files changed, 60 insertions(+), 103 deletions(-) diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index 28f8bd0eb..8570548c7 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -416,8 +416,8 @@ The Locations root screen uses a stationary monochrome pattern of all regions visited in the selected year, including manually recorded visits and Elsewhere. Catalog order keeps the pattern stable when card rankings change. Planned stays do not contribute. The shared outline cache supplies the region paths, and the -shared rosette renderer supplies the finer background lines. Region ink diffuses -outward from each boundary; the interiors stay clear. Appearance belongs +shared rosette renderer supplies the finer background lines. Regions use faint +strokes without a shadow or blur. Appearance belongs to `WhereStylesheet.locationsBackground`; Reduce Transparency hides the ink. Empty, initial-loading, and failed screens show only the rosette texture. diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 73025ebb1..4591aea71 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0453a4b529e0bc7ad806b34dff6d36c2d9793afa02c339bee19253546cd8a692 -size 1125171 +oid sha256:92f9ef5d73b589dc8a9e40d1a8b82df089de93545d211e6abfd2d21f2375d074 +size 560883 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index aeb41bdad..13cae1954 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65097ca54ea5931c9173aa385e7698433dcb7c28266dbfcf56417f21105d43c7 -size 889623 +oid sha256:9e6af5ecdc8f84d6a716bb28d2b7d1e19e328af8a91365730dd8025be7c9893a +size 585657 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 6b2412454..9effe71a5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a766558ee8438ca1e8f78a80edb78242f6dacdfe365b03edf110fd016f730fb3 -size 1171400 +oid sha256:c39b72bb9d614781c63da8a2f9e491f606c8c310b7615c693e8a7ae527dff1dd +size 526607 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index f9c0cbeff..c392f0215 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:015a6de76485b76f5644a299ca766c582422c6994e9cb2ae420243580773884a -size 955070 +oid sha256:0d9635f8cf29953f2ef6bebce8619c353f2a9688b19fcaa05398d3a2cf60fb7c +size 546952 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index d06606207..e40b1529c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:894d096603e628bd28e62650e84f92cfdeda146110177e511687356fb7f255dc -size 1086323 +oid sha256:ae701a4efad4f3d9bfe742f0f0794af88293e0905a2aa79121a5b72b77ffb83d +size 595791 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index e25cf357d..e47e4d40a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:135886a3061c20942cf2e0dcd2777539a0fa2352930a4c05ca9cf26c80c404d5 -size 848088 +oid sha256:59a8b1745c018de95e6f600f11725e05ba5a12646190e09f974c8aaed99247e1 +size 620957 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index ad15497dd..3683140ef 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c6312852a3ed01ade3bef57298fb739bfd1d67384e724746335f1af4dac7888 -size 2855100 +oid sha256:2a17aa954043a5a885c1d8ebd970f6c74246135c09d0b497c64612456c934cfa +size 2641299 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index d04c337fd..1ab62208a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:366f2bee2443fc1a8e5f31800898dc28b1cccf97e696adbd4ff608e6f346883b -size 2898336 +oid sha256:c3641aa05819b1656b10fbdceb99a4c842bb8b37f77b5171113addfe824dd82d +size 2790533 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 8617dd7da..06f18dade 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a2b1076d85e0e14027a19b926197f2b6e3d50a78f8122e096f64538d71a9090 -size 917409 +oid sha256:9fa5379f1ce1d5d6135e65bbca672900236e938925c6eb9fff12bbbdad1194be +size 652606 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index fea5525c0..aeb37d036 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73b14d9ce1b1436980fc56093d6e0d9f34e38cece1c9cad72c6a48c1951ac946 -size 713039 +oid sha256:d33d01a594ef793e98afdfb600b36a1c12fecd80f8022fb3482836eb63782e9c +size 675579 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index badd84c80..216150019 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca4d467dd6802c24de281d5b782f83420880f49676b76068634d32ee75870328 -size 2831009 +oid sha256:47351312aa0c00b0f00315804269ca8733bd2704efcf11ba72a059f3b5faa963 +size 2602302 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 19a790e80..0d6e4ce55 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be86e07a50545d200714c6b0706d5c9e8cb0091671d94e506f7a1022378467c8 -size 2865861 +oid sha256:e45963cc505cf2b51c4b99e12f3d6f9f605ab8cee259bb48e7dfd4bf85777096 +size 2749842 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index dd440abe3..9c1e38741 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3024ef898ea07097fe21620162f0213c72d2eabad17e071aacb0581c69aa485b -size 5788747 +oid sha256:de9d0aa6c024195e2559cb61a8cea7cf894def5a4fdc0bbd982997f958ff6141 +size 4881452 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index e4ed09348..13e253fe4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e97690749f8089f9802070d001d8aa3c29c90f5921649e0af5dc39e94af300dd -size 4236489 +oid sha256:b9a57780951cd34f81ab2dc78787616cdd9ae81a7a774c0788762b974731af7d +size 3486750 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 52463921a..b2fe0f1ec 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fb2570a018fcd109a8e03e2b243a2fb3d977db09da11299182bba98d6dedfa5 -size 6190572 +oid sha256:111a7fc6016d215b1c57d905649b01a8f95e02a0a3b390f20d11fb1ccedf45ef +size 5590027 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index 5d0fb7980..e88746009 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef5a1afb28c5435249c972b9b1f54edac091466f02d9537e3271550d7859c42d -size 5652634 +oid sha256:5e044eb99c7fab1965e9f1ad2c6620f78a52cbbb3f478deb4733c496d18f2aed +size 4792366 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index f4eddc5fd..bfad4f650 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d05ae1ee2ed4e238e886c7ca26bcd90065b5f20a92bf55d1328f44605b755ec -size 5642089 +oid sha256:9fdfb85f90501976190af63966f168d0e2ef01a232f85873b242fb50105f1f8b +size 5181944 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 019d1f9c3..ff23719ee 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:943fe37c4e4697bd1a0471d9b16afb8f5429755b5b3110592eb1a35a322832ac -size 2862917 +oid sha256:d7c4cec59efc1bc18364bc6e55981be8ff1611c07a1209d9a1cd28d5438eb81b +size 2648826 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 0b192f9d3..506afb124 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b933222741520def66565d7473726bc51054831fd63405702d12d8c1d62b1d09 -size 1955695 +oid sha256:b67a1943641fd09654ab84c3dffc63da88dd3685da83736a653563703104bbe0 +size 1806434 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 179aae786..bbc04bc24 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47c02a225d522366913f5ac94a4823aecafe2b039c7ff5f9315d89f7762d624c -size 3751922 +oid sha256:39aae1c0a7f7e26d313afe57476ac83384006d478992bc1a9eceb3d311d9d71c +size 3625171 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index aab052f3f..0039cfe60 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bbe584326b950cbf54e85fd75dcd94f1bba6c690e091fca93c269918cb597c1 -size 2734590 +oid sha256:aaa8c75ce8a319d0e2212373610d1ce27fa432019a0703ae4a01867293179fc2 +size 2532762 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index c2b5a70a4..528e5a6d0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf6cace7c553539aa2ffa80437b9a3c4ab745256e63affc5c8c3f683ae49a8c4 -size 2906901 +oid sha256:cf57838469fb3a44c039f0013f4a384770625b3eda4200b9789111fd4d49c937 +size 2799188 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 717735b62..a9066cd0f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:88ecce499326563136bb28654609e009647250c5e061b093c7b5271a4323a276 -size 2166358 +oid sha256:793e782a109426b0121304d903b87f41747f428f16927547c931701a599c2914 +size 1641878 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index cb4dbd863..aaf8a8fb4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6eea3f7da20ae40ad6ee94f66fcefc322476c2ddebff15aee0d6d35930a7d00a -size 1932357 +oid sha256:4fe5d1a44016f652feb08de077d60d2b42ecfd2bdc3dbb789e95604ad4c417bc +size 1631267 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index c7b546c63..2f25dcf8b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:080ae0f3863f7123824df3e8dea13b394a664885f4f674114e5447150a9cf536 -size 2896228 +oid sha256:c5f6f810ecaa33d6d8ad3b8eab78de0c57b2292b4aca277d411972f2d8aedbcd +size 2529486 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 9c0a76986..95535ce98 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcb1ada1aa2e19ad419f83415c4ad4171c472faccb7b49317541d935d9560cbf -size 2774225 +oid sha256:7e64ce9057eb93fd9f509426a8f18c0c0fda762c2a37d29f8e7d04c686067d45 +size 2581645 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 5a895d35e..554ec7936 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -61,63 +61,29 @@ struct LocationsBackground: View { ZStack(alignment: .topLeading) { ForEach(cells) { cell in let item = items[cell.artworkIndex] - let inkOpacity = item.region == .other ? style.symbolOpacity : style - .regionOpacity - let printedInk = style.printedInk(inkOpacity: inkOpacity) Group { if item.region == .other { Image(systemSymbol: .globeAmericas) .resizable() .scaledToFit() .fontWeight(style.symbolWeight) - .foregroundStyle(printedInk) + .foregroundStyle(style.ink.opacity(style.symbolOpacity)) .padding(min(cell.frame.width, cell.frame.height) * (1 - style.artwork.extent.width) / 2) } else { RegionOutlineArtwork( path: item.path, - tint: printedInk, + tint: style.ink, style: style.artwork, ) } } .frame(width: cell.frame.width, height: cell.frame.height) - .blur(radius: style.diffusionRadius) - .mask { exteriorMask(for: item) } .position(x: cell.frame.midX, y: cell.frame.midY) } } } } - - /// Cut the interior out after blurring so ink spreads only into the surrounding paper. - private func exteriorMask(for item: LocationsBackgroundArtwork.Item) -> some View { - GeometryReader { proxy in - Path { mask in - let size = proxy.size - mask.addRect(CGRect(origin: .zero, size: size)) - if item.region == .other { - let diameter = min(size.width, size.height) * style.artwork.extent.width - mask.addEllipse(in: CGRect( - x: (size.width - diameter) / 2, - y: (size.height - diameter) / 2, - width: diameter, - height: diameter, - )) - } else if let transform = RegionArtworkTransform( - path: item.path, - size: size, - style: style.artwork, - ) { - mask.addPath(item.path, transform: CGAffineTransform( - scaleX: transform.scale, - y: transform.scale, - ).translatedBy(x: transform.translation.x, y: transform.translation.y)) - } - } - .fill(.white, style: FillStyle(eoFill: true)) - } - } } #if DEBUG diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index c4bb10792..d54c4b40b 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2495,15 +2495,14 @@ extension WhereStylesheet { var ink = Color.primary var showsInk = true var preferredCellSize: CGFloat = 48 - var symbolWeight = Font.Weight.regular + var symbolWeight = Font.Weight.light var symbolOpacity: Double = 0.03 - var regionOpacity: Double = 0.043 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 1, width: 4), + stroke: .init(opacity: 0.043, width: 1.1), ) var rosette = CardStyle.Rosette( wobble: 0.04, @@ -2512,11 +2511,5 @@ extension WhereStylesheet { secondaryRingSpacing: 25, ) var rosetteOpacity: Double = 0.015 - var diffusionRadius: CGFloat = 4 - - /// Bake the faint ink tone into an opaque color before diffusing its shape. - func printedInk(inkOpacity: Double) -> Color { - paper.mix(with: ink, by: inkOpacity, in: .device) - } } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index f6e217a27..b864f7b52 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -532,15 +532,14 @@ struct WhereStylesheetTests { #expect(background.ink == Color.primary) #expect(background.showsInk) #expect(background.preferredCellSize == 48) - #expect(background.symbolWeight == .regular) + #expect(background.symbolWeight == .light) #expect(background.symbolOpacity == 0.03) - #expect(background.regionOpacity == 0.043) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.72, height: 0.72), scale: 1, fillOpacity: 0, - stroke: .init(opacity: 1, width: 4), + stroke: .init(opacity: 0.043, width: 1.1), )) #expect(background.rosette == .init( wobble: 0.04, @@ -549,7 +548,6 @@ struct WhereStylesheetTests { secondaryRingSpacing: 25, )) #expect(background.rosetteOpacity == 0.015) - #expect(background.diffusionRadius == 4) } @Test func elsewhereCardStyle() { From 7ff3fa05604e78b72f089843e8c19902ca54fbdd Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 15:47:27 -0700 Subject: [PATCH 08/13] Extend staggered Locations artwork beyond both edges --- .../locationsBackground.Many_iPhone.png | 4 +-- .../locationsBackground.Many_iPhone_dark.png | 4 +-- .../locationsBackground.One_iPhone.png | 4 +-- .../locationsBackground.One_iPhone_dark.png | 4 +-- .../locationsBackground.Several_iPhone.png | 4 +-- ...ocationsBackground.Several_iPhone_dark.png | 4 +-- .../locations.DotsHidden_iPhone.png | 4 +-- .../locations.DotsHidden_iPhone_dark.png | 4 +-- .../locations.ElsewhereOnly_iPhone.png | 4 +-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +-- .../locations.ForecastsHidden_iPhone.png | 4 +-- .../locations.ForecastsHidden_iPhone_dark.png | 4 +-- .../locations.Loaded_iPad.png | 4 +-- .../locations.Loaded_iPad_accessibility.png | 4 +-- .../locations.Loaded_iPad_ax5.png | 4 +-- .../locations.Loaded_iPad_contrast.png | 4 +-- .../locations.Loaded_iPad_dark.png | 4 +-- .../locations.Loaded_iPhone.png | 4 +-- .../locations.Loaded_iPhone_accessibility.png | 4 +-- .../locations.Loaded_iPhone_ax5.png | 4 +-- .../locations.Loaded_iPhone_contrast.png | 4 +-- .../locations.Loaded_iPhone_dark.png | 4 +-- .../locations.MissingDays_iPhone.png | 4 +-- .../locations.MissingDays_iPhone_dark.png | 4 +-- .../locations.PlannedStay_iPhone.png | 4 +-- .../locations.PlannedStay_iPhone_dark.png | 4 +-- .../Primary/LocationsBackgroundLayout.swift | 29 ++++++++++--------- .../LocationsBackgroundLayoutTests.swift | 23 ++++++++++++--- 28 files changed, 86 insertions(+), 70 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 4591aea71..9a230372e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92f9ef5d73b589dc8a9e40d1a8b82df089de93545d211e6abfd2d21f2375d074 -size 560883 +oid sha256:96e5fa5238e882d26fbda55506f70ba70a93d788edc0ec5366dde7a298320906 +size 570696 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 13cae1954..abf3d43ef 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e6af5ecdc8f84d6a716bb28d2b7d1e19e328af8a91365730dd8025be7c9893a -size 585657 +oid sha256:9ac983f3acec75cb67eda3cd1f7dbfa7380c76d450b59bdd71473ee7aecdc178 +size 595828 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 9effe71a5..eb0428a75 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c39b72bb9d614781c63da8a2f9e491f606c8c310b7615c693e8a7ae527dff1dd -size 526607 +oid sha256:c4e389c6956a1600f5bdcae677da5a4f75550bbb20247d3918c8fa145df3e052 +size 534039 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index c392f0215..03ec7dbbf 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d9635f8cf29953f2ef6bebce8619c353f2a9688b19fcaa05398d3a2cf60fb7c -size 546952 +oid sha256:d778f58dfd3a5d45f66d7f0725d77076303c8c222ad3014ee4969e2bbdc27695 +size 554406 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index e40b1529c..3ccc73a34 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae701a4efad4f3d9bfe742f0f0794af88293e0905a2aa79121a5b72b77ffb83d -size 595791 +oid sha256:00d180767bd462edd8f0bf5cf777db87d36f7987baae03363973c1b2f75cd7c7 +size 613035 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index e47e4d40a..a5a5b3505 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59a8b1745c018de95e6f600f11725e05ba5a12646190e09f974c8aaed99247e1 -size 620957 +oid sha256:bd7e5a584d9dc6a0aa5b9f49a0b8f4e256c107fad6c91754d63e501cd6adf81a +size 638961 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 3683140ef..5cc9527af 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a17aa954043a5a885c1d8ebd970f6c74246135c09d0b497c64612456c934cfa -size 2641299 +oid sha256:41d2e5db91d113f4dff5a7d64de80c71bbf994ebe3d6495d7df3df392ceaa6d7 +size 2654052 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 1ab62208a..680c45127 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3641aa05819b1656b10fbdceb99a4c842bb8b37f77b5171113addfe824dd82d -size 2790533 +oid sha256:451c5c3cce14b4898053eb597d24202a613cd37ef256f0e4844892756c70ea65 +size 2806481 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 06f18dade..76bc1f84b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fa5379f1ce1d5d6135e65bbca672900236e938925c6eb9fff12bbbdad1194be -size 652606 +oid sha256:8d95fe35cd76db0283ece3db0c55cc0a3b6a1b5fe64ba6ee03eaedc6759ac065 +size 663269 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index aeb37d036..cb2ca8fb9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d33d01a594ef793e98afdfb600b36a1c12fecd80f8022fb3482836eb63782e9c -size 675579 +oid sha256:2d3b7bfc2ea173d9eb4967c4ebfb9fad5a557c911af17a9bf7685ef8f51e745a +size 686569 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index 216150019..07195978d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47351312aa0c00b0f00315804269ca8733bd2704efcf11ba72a059f3b5faa963 -size 2602302 +oid sha256:827f3798884e2e6bc2167f3bdaeaa50dd6a0250f0b4670e06a27777f78aefc65 +size 2615345 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 0d6e4ce55..bb2148225 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e45963cc505cf2b51c4b99e12f3d6f9f605ab8cee259bb48e7dfd4bf85777096 -size 2749842 +oid sha256:237235b3110aa922f84f178242e95783400cc25651fa8328a724bb3668b34742 +size 2765461 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 9c1e38741..50b7c8923 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de9d0aa6c024195e2559cb61a8cea7cf894def5a4fdc0bbd982997f958ff6141 -size 4881452 +oid sha256:cd9f4d475b218bf8baa9adb280085c8abab20b5f72f5b59ab2e26aab60a08df4 +size 4899748 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 13e253fe4..c6a98cab0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9a57780951cd34f81ab2dc78787616cdd9ae81a7a774c0788762b974731af7d -size 3486750 +oid sha256:bb1438f057bdbb764b52bace6d4f222be0caec8d89a79e3aa5cba0528527b2f0 +size 3499279 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index b2fe0f1ec..fe3dcb04d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:111a7fc6016d215b1c57d905649b01a8f95e02a0a3b390f20d11fb1ccedf45ef -size 5590027 +oid sha256:5f0b2b6eac35f32144d479b4db3c139bfe25cc6c93b6df9f615d5f88a115bee2 +size 5610065 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index e88746009..e96d62b6c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e044eb99c7fab1965e9f1ad2c6620f78a52cbbb3f478deb4733c496d18f2aed -size 4792366 +oid sha256:ea9592f2383eb72dc4ad0612bc91ce6d2ed8fc021e2dd005441979303e74c5cf +size 4809667 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index bfad4f650..d8b446552 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fdfb85f90501976190af63966f168d0e2ef01a232f85873b242fb50105f1f8b -size 5181944 +oid sha256:21c7fccad070ae719de707589995e76f5c2122be9900f5ecfeedf040ef910c92 +size 5204292 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index ff23719ee..38e551427 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7c4cec59efc1bc18364bc6e55981be8ff1611c07a1209d9a1cd28d5438eb81b -size 2648826 +oid sha256:7e0f555fd8525bd2a477501758530b46a67e51f7983c3b2c811b23b871e1604b +size 2662016 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 506afb124..79bdd2c12 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b67a1943641fd09654ab84c3dffc63da88dd3685da83736a653563703104bbe0 -size 1806434 +oid sha256:af30edd6ad69d4b7346c6adc63506d9d923ba23f67722f07c1f73d71a2b895e0 +size 1814416 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index bbc04bc24..35cc4c47b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39aae1c0a7f7e26d313afe57476ac83384006d478992bc1a9eceb3d311d9d71c -size 3625171 +oid sha256:cbea3d5fdccc98e826de292582dc88d4d20fedf638f23f6edfa9613297a054c0 +size 3641723 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 0039cfe60..39b47d31f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aaa8c75ce8a319d0e2212373610d1ce27fa432019a0703ae4a01867293179fc2 -size 2532762 +oid sha256:a940b8c55744a61171a35ffde223a2115cd89c8de387ea818cd421ff73b23efe +size 2544848 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 528e5a6d0..30c52256a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf57838469fb3a44c039f0013f4a384770625b3eda4200b9789111fd4d49c937 -size 2799188 +oid sha256:f0a68efc68cec61d869f1c6b8a5d95e0f64ab1367d4169ba0df96d9a75fbea60 +size 2815839 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index a9066cd0f..983b550b2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:793e782a109426b0121304d903b87f41747f428f16927547c931701a599c2914 -size 1641878 +oid sha256:a5daf8141ca3a64faa0e150d2b1e9a8486ccc847a1ff202b355d2f4866bfb118 +size 1653285 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index aaf8a8fb4..937f0975b 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fe5d1a44016f652feb08de077d60d2b42ecfd2bdc3dbb789e95604ad4c417bc -size 1631267 +oid sha256:f3ccc6305b56454f002d0593e27b3cfc735b0e561e50934daf1d70c6b022e738 +size 1641779 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 2f25dcf8b..f20ba8ff9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5f6f810ecaa33d6d8ad3b8eab78de0c57b2292b4aca277d411972f2d8aedbcd -size 2529486 +oid sha256:7fcb7f85eb02d3344b581c3ca431477e16219af4d64ba2868744c8b69b66e85a +size 2542015 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index 95535ce98..d72f23c66 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e64ce9057eb93fd9f509426a8f18c0c0fda762c2a37d29f8e7d04c686067d45 -size 2581645 +oid sha256:ba0a84c533f839cdc020d52dd4a2845600e5575e63c6b8f9254e8a2ee40d5ed4 +size 2595920 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift index ddb4008f7..610c2633e 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift @@ -21,22 +21,23 @@ enum LocationsBackgroundLayout { rows += 1 } } - // Half a cell of extra horizontal space keeps staggered rows inside the viewport. + // Keep every original cell fully visible, then extend the repeat past both edges. let width = size.width / (CGFloat(columns) + 0.5) let height = size.height / CGFloat(rows) - return (0 ..< columns * rows).map { index in - let row = index / columns - let column = index % columns - return Cell( - id: index, - artworkIndex: index % count, - frame: CGRect( - x: (CGFloat(column) + (row.isMultiple(of: 2) ? 0 : 0.5)) * width, - y: CGFloat(row) * height, - width: width, - height: height, - ), - ) + return (0 ..< rows).flatMap { row in + (-1 ... columns).map { column in + let index = row * columns + column + return Cell( + id: row * (columns + 2) + column + 1, + artworkIndex: (index % count + count) % count, + frame: CGRect( + x: (CGFloat(column) + (row.isMultiple(of: 2) ? 0 : 0.5)) * width, + y: CGFloat(row) * height, + width: width, + height: height, + ), + ) + } } } } diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift index fc6b30954..235eaff5a 100644 --- a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -4,15 +4,16 @@ import Testing struct LocationsBackgroundLayoutTests { @Test(arguments: [1, 3, 40, 200]) - func everyRegionFitsInsideTheViewport(count: Int) { + func everyRegionHasAFullyVisibleCell(count: Int) { let size = CGSize(width: 390, height: 844) let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 48) - #expect(Set(cells.map(\.artworkIndex)) == Set(0 ..< count)) + let viewport = CGRect(origin: .zero, size: size) + let fullyVisible = cells + .filter { viewport.insetBy(dx: -0.001, dy: -0.001).contains($0.frame) } + #expect(Set(fullyVisible.map(\.artworkIndex)) == Set(0 ..< count)) #expect(Set(cells.map(\.id)).count == cells.count) for cell in cells { - #expect(cell.frame.minX >= 0) #expect(cell.frame.minY >= 0) - #expect(cell.frame.maxX <= size.width + 0.001) #expect(cell.frame.maxY <= size.height + 0.001) #expect(cell.frame.width > 0 && cell.frame.height > 0) } @@ -32,6 +33,20 @@ struct LocationsBackgroundLayoutTests { #expect(first.frame.width < 48) } + @Test func rowsContinuePastBothHorizontalEdges() { + let size = CGSize(width: 390, height: 844) + let cells = LocationsBackgroundLayout.cells(count: 5, in: size, preferredCellSize: 48) + let rows = Dictionary(grouping: cells, by: { $0.frame.minY }) + for row in rows.values { + #expect(row.contains { $0.frame.minX < 0 && $0.frame.maxX >= 0 }) + #expect(row.contains { $0.frame.minX <= size.width && $0.frame.maxX > size.width }) + for (left, right) in zip(row, row.dropFirst()) { + #expect(abs(left.frame.maxX - right.frame.minX) < 0.001) + #expect(right.artworkIndex == (left.artworkIndex + 1) % 5) + } + } + } + @Test func smallSetsRepeatAndEmptyInputsProduceNoCells() { let size = CGSize(width: 390, height: 844) #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 48) From 152d474ab4c64bfdfe7550236276e430a3942677 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 16:54:04 -0700 Subject: [PATCH 09/13] Compose a monochrome region and rosette monogram --- Where/WhereUI/README.md | 9 +- .../locationsBackground.Empty_iPhone.png | 4 +- .../locationsBackground.Empty_iPhone_dark.png | 4 +- .../locationsBackground.Many_iPhone.png | 4 +- .../locationsBackground.Many_iPhone_dark.png | 4 +- .../locationsBackground.One_iPhone.png | 4 +- .../locationsBackground.One_iPhone_dark.png | 4 +- .../locationsBackground.Several_iPhone.png | 4 +- ...ocationsBackground.Several_iPhone_dark.png | 4 +- .../locations.DotsHidden_iPhone.png | 4 +- .../locations.DotsHidden_iPhone_dark.png | 4 +- .../locations.ElsewhereOnly_iPhone.png | 4 +- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +- .../locations.Empty_iPhone.png | 4 +- .../locations.Empty_iPhone_dark.png | 4 +- .../locations.ForecastsHidden_iPhone.png | 4 +- .../locations.ForecastsHidden_iPhone_dark.png | 4 +- .../locations.Loaded_iPad.png | 4 +- .../locations.Loaded_iPad_accessibility.png | 4 +- .../locations.Loaded_iPad_ax5.png | 4 +- .../locations.Loaded_iPad_contrast.png | 4 +- .../locations.Loaded_iPad_dark.png | 4 +- .../locations.Loaded_iPhone.png | 4 +- .../locations.Loaded_iPhone_accessibility.png | 4 +- .../locations.Loaded_iPhone_ax5.png | 4 +- .../locations.Loaded_iPhone_contrast.png | 4 +- .../locations.Loaded_iPhone_dark.png | 4 +- .../locations.MissingDays_iPhone.png | 4 +- .../locations.MissingDays_iPhone_dark.png | 4 +- .../locations.PlannedStay_iPhone.png | 4 +- .../locations.PlannedStay_iPhone_dark.png | 4 +- .../root.LoggedIn_iPhone.png | 4 +- .../root.LoggedIn_iPhone_dark.png | 4 +- ...t.RecordingConfigurationWarning_iPhone.png | 4 +- ...ordingConfigurationWarning_iPhone_dark.png | 4 +- .../Sources/Primary/LocationsBackground.swift | 88 ++++++++++++++----- .../Primary/LocationsBackgroundLayout.swift | 53 +++++++---- .../Sources/Shared/WhereStylesheet.swift | 19 ++-- .../LocationsBackgroundLayoutTests.swift | 70 +++++++-------- .../WhereUI/Tests/WhereStylesheetTests.swift | 15 ++-- 40 files changed, 223 insertions(+), 167 deletions(-) diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index 8570548c7..cadf0a894 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -415,11 +415,12 @@ registered content. The Locations root screen uses a stationary monochrome pattern of all regions visited in the selected year, including manually recorded visits and Elsewhere. Catalog order keeps the pattern stable when card rankings change. Planned stays -do not contribute. The shared outline cache supplies the region paths, and the -shared rosette renderer supplies the finer background lines. Regions use faint -strokes without a shadow or blur. Appearance belongs +do not contribute. The shared outline cache supplies the region paths. Small +six-petal rosettes alternate with regions on a square diagonal lattice. Slender +regions receive a bounded size adjustment to balance their visual weight. The +monochrome ink uses faint strokes without a shadow or blur. Appearance belongs to `WhereStylesheet.locationsBackground`; Reduce Transparency hides the ink. -Empty, initial-loading, and failed screens show only the rosette texture. +Empty, initial-loading, and failed screens show only the repeating rosettes. ## Testing diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png index 70728982e..74d58eb49 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:084a5618ea0ab06bece4c5176c925e2a833826ff53c09a6d6b554df7b491da83 -size 369638 +oid sha256:d47d4c1a1f572ed31de028ed9e8a39b8c6aa9208d5f3d4e7a882751e6ac8f8a0 +size 87203 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png index baf37a2b5..0dcc1b650 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fee0319b8a89d7d5656026242ff0de7262dc2e57fbe2ea3e450953eb5b5c245 -size 388610 +oid sha256:f98847edf0b92f03590c15fda54ad4ce1d53295a3b9e30f2c782cfb308106a7c +size 96650 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 9a230372e..b3cb276f6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96e5fa5238e882d26fbda55506f70ba70a93d788edc0ec5366dde7a298320906 -size 570696 +oid sha256:8b5bc3418eab3242ef06744ea198cbd73ef4aaa5455ef13cf9a33bd19b4c2b2f +size 215069 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index abf3d43ef..17beb2f00 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ac983f3acec75cb67eda3cd1f7dbfa7380c76d450b59bdd71473ee7aecdc178 -size 595828 +oid sha256:2341ed905718b7a772764f4e9ed08c065ee83b63e871ccef5d6bae5d8b19e243 +size 227655 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index eb0428a75..9db745c98 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4e389c6956a1600f5bdcae677da5a4f75550bbb20247d3918c8fa145df3e052 -size 534039 +oid sha256:44889f5d27ec8401e2811b25290533c9add8a79e8dda2052876ef38a885e4ec6 +size 142147 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index 03ec7dbbf..f1143b93a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d778f58dfd3a5d45f66d7f0725d77076303c8c222ad3014ee4969e2bbdc27695 -size 554406 +oid sha256:1bd4077259c7e9e37afe84b3c868a4c0dee5914efa20faa127aa35dd3039fca6 +size 150830 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index 3ccc73a34..fa42cb4d6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00d180767bd462edd8f0bf5cf777db87d36f7987baae03363973c1b2f75cd7c7 -size 613035 +oid sha256:e7bd804317c73ef7290a427fa68ac08a6cf9f403491d2653c05ecc47f4487ca6 +size 211887 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index a5a5b3505..2f1b6f23a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd7e5a584d9dc6a0aa5b9f49a0b8f4e256c107fad6c91754d63e501cd6adf81a -size 638961 +oid sha256:99c3502a97ddeb544f45daf799ed3b0e23c957d46fc26f7491802fa4bcc1a47b +size 226621 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 5cc9527af..eed9efba5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41d2e5db91d113f4dff5a7d64de80c71bbf994ebe3d6495d7df3df392ceaa6d7 -size 2654052 +oid sha256:71eff2aae5dcc4b44da92b0098692e3709bbfe01f468192a112628d0dae85f65 +size 2446091 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 680c45127..ff2ca8679 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:451c5c3cce14b4898053eb597d24202a613cd37ef256f0e4844892756c70ea65 -size 2806481 +oid sha256:a4e3bb59f65f21ccd47c84f2683de087977b2206220e63da369fe0b539390282 +size 2579655 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 76bc1f84b..3156de039 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d95fe35cd76db0283ece3db0c55cc0a3b6a1b5fe64ba6ee03eaedc6759ac065 -size 663269 +oid sha256:89a288f8d415204bf66214fac15af664a1013a5eaffa17bb44c496888f06b7af +size 206318 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index cb2ca8fb9..8c4aeeebf 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d3b7bfc2ea173d9eb4967c4ebfb9fad5a557c911af17a9bf7685ef8f51e745a -size 686569 +oid sha256:bd4a8df2f72ec31807a6a963812edc32214663688bdf3f5d5404855f4ed76698 +size 222497 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png index 5c61f27cd..2b466c0ee 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3f2518f771591acdfa3832370b8a2ac2dc5119c0ec3708e096aa2e06326bbf0 -size 409395 +oid sha256:35be2d7f474d8d3d2ef6df16557a70266c7149e413461c77d54c866ff0793301 +size 125914 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png index 2b847bff7..ef3c04360 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d607c480e9bd4df36ad492b79dd1048394a9fb3f5ba3ec3ddb550b90e072874d -size 428423 +oid sha256:159a5e4358a3302728c582ac3dee3b2cdebf53b3811bede79efc0054687d25a0 +size 136518 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index 07195978d..afcae4b62 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:827f3798884e2e6bc2167f3bdaeaa50dd6a0250f0b4670e06a27777f78aefc65 -size 2615345 +oid sha256:b9d30250803a50d14669d29161ad1bc6eacb13bf3545551116ea7cb7a80e79ec +size 2427123 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index bb2148225..43a578901 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:237235b3110aa922f84f178242e95783400cc25651fa8328a724bb3668b34742 -size 2765461 +oid sha256:900bbd9802641e56195a0cbb0cf94ca8b38abf5ed4dc51a16df4bf04574bd945 +size 2563398 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 50b7c8923..3ddeb4cb2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd9f4d475b218bf8baa9adb280085c8abab20b5f72f5b59ab2e26aab60a08df4 -size 4899748 +oid sha256:969fc0d4bac3dbb41855822dc64aabbe8489f55ed921178a7e9cc54e71880075 +size 4229093 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index c6a98cab0..7e80ccb78 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb1438f057bdbb764b52bace6d4f222be0caec8d89a79e3aa5cba0528527b2f0 -size 3499279 +oid sha256:745f295c85ec5cc9ec4528cc544f4aaa6ea83abb24147197f98cc7c813467180 +size 2906376 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index fe3dcb04d..6b0d30ac6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f0b2b6eac35f32144d479b4db3c139bfe25cc6c93b6df9f615d5f88a115bee2 -size 5610065 +oid sha256:f27e40ce16a21d39c752b59ac6e5dc810d9d5a320088f3ee2c2b34eb7e2dbcb1 +size 5142673 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index e96d62b6c..d91b8ea7f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea9592f2383eb72dc4ad0612bc91ce6d2ed8fc021e2dd005441979303e74c5cf -size 4809667 +oid sha256:fda18c0a5aec3e4e78a6d9191507a40ffc6862c27a0d2c12fa2f900c3e26b61c +size 4143605 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index d8b446552..e445fdd2e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21c7fccad070ae719de707589995e76f5c2122be9900f5ecfeedf040ef910c92 -size 5204292 +oid sha256:1418c15f970fea3db94785b3b214edd925aa3b795b098636be5920a5c5823bcf +size 4539569 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 38e551427..ed3b1c123 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e0f555fd8525bd2a477501758530b46a67e51f7983c3b2c811b23b871e1604b -size 2662016 +oid sha256:965bc48357e1dc36f23bbeb5f4eb4532f5fba070f4d119d5815691ff4ad58064 +size 2453204 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 79bdd2c12..7c0fba654 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af30edd6ad69d4b7346c6adc63506d9d923ba23f67722f07c1f73d71a2b895e0 -size 1814416 +oid sha256:0f50162bce22f381308946977044276b8c5b86e9ed54470726d191244af799c7 +size 1664422 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index 35cc4c47b..b2c6ad5f5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbea3d5fdccc98e826de292582dc88d4d20fedf638f23f6edfa9613297a054c0 -size 3641723 +oid sha256:eaef06fc2c48db69bac71f33b9ae557aa35857503d6deae4d0b57392fe424a19 +size 3513228 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 39b47d31f..8562db38f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a940b8c55744a61171a35ffde223a2115cd89c8de387ea818cd421ff73b23efe -size 2544848 +oid sha256:3e8a59ffe0f1027d8a22204ef8d5e3f3e8c439b3b5ec930acd5057ea3c35451a +size 2345813 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 30c52256a..ff4d4e087 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0a68efc68cec61d869f1c6b8a5d95e0f64ab1367d4169ba0df96d9a75fbea60 -size 2815839 +oid sha256:76561d91d5b388a99ff9a047e37b7873547a3021ef9a63a71f968a822d72792d +size 2588192 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 983b550b2..88e2da6a4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5daf8141ca3a64faa0e150d2b1e9a8486ccc847a1ff202b355d2f4866bfb118 -size 1653285 +oid sha256:797cdc5c27762181b304ef6479884cbb712d4ff6e1a2113c062f03d9a259a956 +size 1319392 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 937f0975b..382632536 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3ccc6305b56454f002d0593e27b3cfc735b0e561e50934daf1d70c6b022e738 -size 1641779 +oid sha256:d500c53e2f7d137ff9191da6e9a3b5302d35fa3b28cb6b3737f19cfe4f5af383 +size 1324712 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index f20ba8ff9..0811cffeb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fcb7f85eb02d3344b581c3ca431477e16219af4d64ba2868744c8b69b66e85a -size 2542015 +oid sha256:55b3d2845a9039a5ce5af0a248873333fcb40618e7d3af8a9e9b39b9b2dff707 +size 2313990 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index d72f23c66..b185d0576 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba0a84c533f839cdc020d52dd4a2845600e5575e63c6b8f9254e8a2ee40d5ed4 -size 2595920 +oid sha256:7c524eeccdbed99ad5f35945ef09cf48ba8cc57f4e4673cc47cc75da1fea6032 +size 2381958 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png index 93d25430e..816aedfcf 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f4add960b1b6e505f9e4673a5d839a2956abd873fd940a2eed3166311ea4595 -size 487906 +oid sha256:04b4b7c678934d70a6d210e36c792a044d64b91691b9c99fcfe7d399d4348fbc +size 211323 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png index 442768755..efdc4dd58 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f319864554c3488ff48a7f1ed227324e4f0133b18521f9d26b0fa986a05f5c73 -size 502233 +oid sha256:2b324a33ac4bebf18cd5eb2af9d0deba9d32befba6eec0c94af078a5bc2baec0 +size 207923 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png index 0f6495aef..4e0aef40f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62f09e8946b77dbfca7e8fd64a26d1847113b2cd5ce02d6d1083ff8e83845c09 -size 488531 +oid sha256:0fe8a8c5625867515d4428e8d13ad86abbc2fc3af1232b271723435bb1fe19d9 +size 212031 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png index c0e5c0643..a7309f67d 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ec2978b0beaf23ccb2aee6f5c4a9cfcb4c54bcd76195fd08e22ca3ff419371f -size 502264 +oid sha256:4824ade3b5963f47749ec3c57fd2c88f3efc9a335fe6c357f4e764193f946bd1 +size 208206 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 554ec7936..698882c7f 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -23,15 +23,6 @@ struct LocationsBackground: View { ZStack { style.paper if style.showsInk { - SecurityPrintRosette( - tint: style.ink, - wobble: style.rosette.wobble, - lineWidth: style.rosette.lineWidth, - primaryRingSpacing: style.rosette.primaryRingSpacing, - secondaryRingSpacing: style.rosette.secondaryRingSpacing, - primaryOpacity: style.rosetteOpacity, - secondaryOpacity: style.rosetteOpacity, - ) silhouettes } } @@ -60,22 +51,32 @@ struct LocationsBackground: View { ) ZStack(alignment: .topLeading) { ForEach(cells) { cell in - let item = items[cell.artworkIndex] Group { - if item.region == .other { - Image(systemSymbol: .globeAmericas) - .resizable() - .scaledToFit() - .fontWeight(style.symbolWeight) - .foregroundStyle(style.ink.opacity(style.symbolOpacity)) - .padding(min(cell.frame.width, cell.frame.height) * - (1 - style.artwork.extent.width) / 2) - } else { - RegionOutlineArtwork( - path: item.path, - tint: style.ink, - style: style.artwork, - ) + switch cell.motif { + case let .region(index): + let item = items[index] + if item.region == .other { + Image(systemSymbol: .globeAmericas) + .resizable() + .scaledToFit() + .fontWeight(style.symbolWeight) + .foregroundStyle(style.ink.opacity(style.symbolOpacity)) + .padding(cell.frame + .width * (1 - style.artwork.extent.width) / 2) + } else { + RegionOutlineArtwork( + path: item.path, + tint: style.ink, + style: balancedArtwork(for: item.path), + ) + } + case .rosette: + LocationsMonogramRosette() + .stroke( + style.ink.opacity(style.rosette.opacity), + lineWidth: style.rosette.lineWidth, + ) + .padding(cell.frame.width * (1 - style.rosette.extent) / 2) } } .frame(width: cell.frame.width, height: cell.frame.height) @@ -84,6 +85,45 @@ struct LocationsBackground: View { } } } + + private func balancedArtwork(for path: Path) -> WhereStylesheet.CardStyle.RegionShape.Artwork { + var artwork = style.artwork + let bounds = path.boundingRect + let shortSide = min(bounds.width, bounds.height) + guard shortSide > 0 else { return artwork } + // Give slender regions more room without changing the shared geographic projection. + artwork.scale *= min( + style.maximumAspectScale, + sqrt(max(bounds.width, bounds.height) / shortSide), + ) + return artwork + } +} + +/// A compact six-petal seal that anchors the repeating geographic print. +private struct LocationsMonogramRosette: Shape { + func path(in rect: CGRect) -> Path { + var path = Path() + let radius = min(rect.width, rect.height) / 2 + let center = CGPoint(x: rect.midX, y: rect.midY) + for step in 0 ... 120 { + let angle = Double(step) / 120 * .pi * 2 + let petalRadius = radius * (0.82 + 0.18 * cos(angle * 6)) + let point = CGPoint( + x: center.x + cos(angle) * petalRadius, + y: center.y + sin(angle) * petalRadius, + ) + if step == 0 { path.move(to: point) } else { path.addLine(to: point) } + } + path.closeSubpath() + path.addEllipse(in: CGRect( + x: center.x - radius * 0.28, + y: center.y - radius * 0.28, + width: radius * 0.56, + height: radius * 0.56, + )) + return path + } } #if DEBUG diff --git a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift index 610c2633e..552b9f714 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift @@ -1,15 +1,20 @@ import CoreGraphics -/// A staggered field that repeats small sets and fits every member of large sets. +/// A square lattice of regions interleaved with rosettes on the half-step diagonals. enum LocationsBackgroundLayout { + enum Motif: Equatable { + case region(Int) + case rosette + } + struct Cell: Identifiable { let id: Int - let artworkIndex: Int + let motif: Motif let frame: CGRect } static func cells(count: Int, in size: CGSize, preferredCellSize: CGFloat) -> [Cell] { - guard count > 0, size.width > 0, size.height > 0, preferredCellSize > 0 else { + guard count >= 0, size.width > 0, size.height > 0, preferredCellSize > 0 else { return [] } var columns = max(1, Int(size.width / preferredCellSize)) @@ -21,23 +26,35 @@ enum LocationsBackgroundLayout { rows += 1 } } - // Keep every original cell fully visible, then extend the repeat past both edges. - let width = size.width / (CGFloat(columns) + 0.5) - let height = size.height / CGFloat(rows) - return (0 ..< rows).flatMap { row in - (-1 ... columns).map { column in - let index = row * columns + column - return Cell( - id: row * (columns + 2) + column + 1, - artworkIndex: (index % count + count) % count, - frame: CGRect( - x: (CGFloat(column) + (row.isMultiple(of: 2) ? 0 : 0.5)) * width, - y: CGFloat(row) * height, - width: width, - height: height, - ), + let side = min(size.width / CGFloat(columns), size.height / CGFloat(rows)) + let visibleColumns = max(1, Int((size.width / side).rounded(.down))) + let coveringColumns = Int((size.width / side).rounded(.up)) + let coveringRows = Int((size.height / side).rounded(.up)) + var cells: [Cell] = [] + // Overscan every edge so both halves of the diagonal repeat can be clipped naturally. + for row in -1 ... coveringRows { + for column in -1 ... coveringColumns { + let frame = CGRect( + x: CGFloat(column) * side, + y: CGFloat(row) * side, + width: side, + height: side, ) + if count > 0 { + let index = row * visibleColumns + column + cells.append(Cell( + id: cells.count, + motif: .region((index % count + count) % count), + frame: frame, + )) + } + cells.append(Cell( + id: cells.count, + motif: .rosette, + frame: frame.offsetBy(dx: side / 2, dy: side / 2), + )) } } + return cells } } diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index d54c4b40b..e1be1242b 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2494,22 +2494,23 @@ extension WhereStylesheet { var paper = Color(uiColor: .systemBackground) var ink = Color.primary var showsInk = true - var preferredCellSize: CGFloat = 48 + var preferredCellSize: CGFloat = 64 var symbolWeight = Font.Weight.light var symbolOpacity: Double = 0.03 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.72, height: 0.72), + extent: CGSize(width: 0.46, height: 0.46), scale: 1, fillOpacity: 0, stroke: .init(opacity: 0.043, width: 1.1), ) - var rosette = CardStyle.Rosette( - wobble: 0.04, - lineWidth: 0.5, - primaryRingSpacing: 18, - secondaryRingSpacing: 25, - ) - var rosetteOpacity: Double = 0.015 + var maximumAspectScale: CGFloat = 1.25 + var rosette = Rosette() + + struct Rosette: Equatable { + var extent: CGFloat = 0.18 + var lineWidth: CGFloat = 0.7 + var opacity: Double = 0.04 + } } } diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift index 235eaff5a..8b9e49f92 100644 --- a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -6,53 +6,53 @@ struct LocationsBackgroundLayoutTests { @Test(arguments: [1, 3, 40, 200]) func everyRegionHasAFullyVisibleCell(count: Int) { let size = CGSize(width: 390, height: 844) - let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 48) - let viewport = CGRect(origin: .zero, size: size) - let fullyVisible = cells - .filter { viewport.insetBy(dx: -0.001, dy: -0.001).contains($0.frame) } - #expect(Set(fullyVisible.map(\.artworkIndex)) == Set(0 ..< count)) - #expect(Set(cells.map(\.id)).count == cells.count) - for cell in cells { - #expect(cell.frame.minY >= 0) - #expect(cell.frame.maxY <= size.height + 0.001) - #expect(cell.frame.width > 0 && cell.frame.height > 0) + let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 64) + let viewport = CGRect(origin: .zero, size: size).insetBy(dx: -0.001, dy: -0.001) + let visibleRegions = cells.compactMap { cell -> Int? in + guard viewport.contains(cell.frame), + case let .region(index) = cell.motif else { return nil } + return index } + #expect(Set(visibleRegions) == Set(0 ..< count)) + #expect(Set(cells.map(\.id)).count == cells.count) + #expect(cells.allSatisfy { $0.frame.width == $0.frame.height && $0.frame.width > 0 }) } - @Test func alternateRowsUseAHalfCellOffset() throws { + @Test func rosettesAlternateWithRegionsOnTheDiagonal() { let cells = LocationsBackgroundLayout.cells( count: 5, in: CGSize(width: 390, height: 844), - preferredCellSize: 48, + preferredCellSize: 64, ) - let first = try #require(cells.first) - let secondRow = try #require(cells.first { $0.frame.minY > first.frame.minY }) - let thirdRow = try #require(cells.first { $0.frame.minY > secondRow.frame.minY }) - #expect(secondRow.frame.minX - first.frame.minX == first.frame.width / 2) - #expect(thirdRow.frame.minX == first.frame.minX) - #expect(first.frame.width < 48) + for pair in stride(from: 0, to: cells.count, by: 2) { + let region = cells[pair] + let rosette = cells[pair + 1] + guard case .region = region.motif else { + Issue.record("Expected a region before each rosette") + return + } + #expect(rosette.motif == .rosette) + #expect(abs(rosette.frame.midX - region.frame.midX - region.frame.width / 2) < 0.001) + #expect(abs(rosette.frame.midY - region.frame.midY - region.frame.height / 2) < 0.001) + } } - @Test func rowsContinuePastBothHorizontalEdges() { + @Test func patternExtendsBeyondEveryEdge() { let size = CGSize(width: 390, height: 844) - let cells = LocationsBackgroundLayout.cells(count: 5, in: size, preferredCellSize: 48) - let rows = Dictionary(grouping: cells, by: { $0.frame.minY }) - for row in rows.values { - #expect(row.contains { $0.frame.minX < 0 && $0.frame.maxX >= 0 }) - #expect(row.contains { $0.frame.minX <= size.width && $0.frame.maxX > size.width }) - for (left, right) in zip(row, row.dropFirst()) { - #expect(abs(left.frame.maxX - right.frame.minX) < 0.001) - #expect(right.artworkIndex == (left.artworkIndex + 1) % 5) - } - } + let cells = LocationsBackgroundLayout.cells(count: 5, in: size, preferredCellSize: 64) + let rosettes = cells.filter { $0.motif == .rosette } + #expect(rosettes.contains { $0.frame.minX < 0 && $0.frame.maxX > 0 }) + #expect(rosettes.contains { $0.frame.minX < size.width && $0.frame.maxX > size.width }) + #expect(rosettes.contains { $0.frame.minY < 0 && $0.frame.maxY > 0 }) + #expect(rosettes.contains { $0.frame.minY < size.height && $0.frame.maxY > size.height }) } - @Test func smallSetsRepeatAndEmptyInputsProduceNoCells() { + @Test func emptyHistoryKeepsOnlyRosettesAndInvalidSizesProduceNoCells() { let size = CGSize(width: 390, height: 844) - #expect(LocationsBackgroundLayout.cells(count: 1, in: size, preferredCellSize: 48) - .count > 1) - #expect(LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 48).isEmpty) - #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 48) - .isEmpty) + let cells = LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 64) + #expect(!cells.isEmpty) + #expect(cells.allSatisfy { $0.motif == .rosette }) + #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 64).isEmpty) + #expect(LocationsBackgroundLayout.cells(count: 3, in: size, preferredCellSize: 0).isEmpty) } } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index b864f7b52..527ba95b4 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -531,23 +531,20 @@ struct WhereStylesheetTests { #expect(background.paper == Color(uiColor: .systemBackground)) #expect(background.ink == Color.primary) #expect(background.showsInk) - #expect(background.preferredCellSize == 48) + #expect(background.preferredCellSize == 64) #expect(background.symbolWeight == .light) #expect(background.symbolOpacity == 0.03) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.72, height: 0.72), + extent: CGSize(width: 0.46, height: 0.46), scale: 1, fillOpacity: 0, stroke: .init(opacity: 0.043, width: 1.1), )) - #expect(background.rosette == .init( - wobble: 0.04, - lineWidth: 0.5, - primaryRingSpacing: 18, - secondaryRingSpacing: 25, - )) - #expect(background.rosetteOpacity == 0.015) + #expect(background.maximumAspectScale == 1.25) + #expect(background.rosette.extent == 0.18) + #expect(background.rosette.lineWidth == 0.7) + #expect(background.rosette.opacity == 0.04) } @Test func elsewhereCardStyle() { From 97ca434914756342c89869d92c173fc248f76a79 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 17:03:09 -0700 Subject: [PATCH 10/13] Restore full-view rosettes and staggered region rows --- Where/WhereUI/README.md | 6 +- .../locationsBackground.Empty_iPhone.png | 4 +- .../locationsBackground.Empty_iPhone_dark.png | 4 +- .../locationsBackground.Many_iPhone.png | 4 +- .../locationsBackground.Many_iPhone_dark.png | 4 +- .../locationsBackground.One_iPhone.png | 4 +- .../locationsBackground.One_iPhone_dark.png | 4 +- .../locationsBackground.Several_iPhone.png | 4 +- ...ocationsBackground.Several_iPhone_dark.png | 4 +- .../locations.DotsHidden_iPhone.png | 4 +- .../locations.DotsHidden_iPhone_dark.png | 4 +- .../locations.ElsewhereOnly_iPhone.png | 4 +- .../locations.ElsewhereOnly_iPhone_dark.png | 4 +- .../locations.Empty_iPhone.png | 4 +- .../locations.Empty_iPhone_dark.png | 4 +- .../locations.ForecastsHidden_iPhone.png | 4 +- .../locations.ForecastsHidden_iPhone_dark.png | 4 +- .../locations.Loaded_iPad.png | 4 +- .../locations.Loaded_iPad_accessibility.png | 4 +- .../locations.Loaded_iPad_ax5.png | 4 +- .../locations.Loaded_iPad_contrast.png | 4 +- .../locations.Loaded_iPad_dark.png | 4 +- .../locations.Loaded_iPhone.png | 4 +- .../locations.Loaded_iPhone_accessibility.png | 4 +- .../locations.Loaded_iPhone_ax5.png | 4 +- .../locations.Loaded_iPhone_contrast.png | 4 +- .../locations.Loaded_iPhone_dark.png | 4 +- .../locations.MissingDays_iPhone.png | 4 +- .../locations.MissingDays_iPhone_dark.png | 4 +- .../locations.PlannedStay_iPhone.png | 4 +- .../locations.PlannedStay_iPhone_dark.png | 4 +- .../root.LoggedIn_iPhone.png | 4 +- .../root.LoggedIn_iPhone_dark.png | 4 +- ...t.RecordingConfigurationWarning_iPhone.png | 4 +- ...ordingConfigurationWarning_iPhone_dark.png | 4 +- .../Sources/Primary/LocationsBackground.swift | 74 ++++++------------- .../Primary/LocationsBackgroundLayout.swift | 31 +++----- .../Sources/Shared/WhereStylesheet.swift | 14 ++-- .../LocationsBackgroundLayoutTests.swift | 43 +++++------ .../WhereUI/Tests/WhereStylesheetTests.swift | 10 ++- 40 files changed, 137 insertions(+), 177 deletions(-) diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index cadf0a894..09a52df22 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -415,12 +415,12 @@ registered content. The Locations root screen uses a stationary monochrome pattern of all regions visited in the selected year, including manually recorded visits and Elsewhere. Catalog order keeps the pattern stable when card rankings change. Planned stays -do not contribute. The shared outline cache supplies the region paths. Small -six-petal rosettes alternate with regions on a square diagonal lattice. Slender +do not contribute. The shared outline cache supplies the region paths. Full-view +rosette rings sit behind staggered region outlines with a half-cell row offset. Slender regions receive a bounded size adjustment to balance their visual weight. The monochrome ink uses faint strokes without a shadow or blur. Appearance belongs to `WhereStylesheet.locationsBackground`; Reduce Transparency hides the ink. -Empty, initial-loading, and failed screens show only the repeating rosettes. +Empty, initial-loading, and failed screens show only the full-view rosette texture. ## Testing diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png index 74d58eb49..70728982e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d47d4c1a1f572ed31de028ed9e8a39b8c6aa9208d5f3d4e7a882751e6ac8f8a0 -size 87203 +oid sha256:084a5618ea0ab06bece4c5176c925e2a833826ff53c09a6d6b554df7b491da83 +size 369638 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png index 0dcc1b650..baf37a2b5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Empty_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f98847edf0b92f03590c15fda54ad4ce1d53295a3b9e30f2c782cfb308106a7c -size 96650 +oid sha256:3fee0319b8a89d7d5656026242ff0de7262dc2e57fbe2ea3e450953eb5b5c245 +size 388610 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index b3cb276f6..50825f79f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b5bc3418eab3242ef06744ea198cbd73ef4aaa5455ef13cf9a33bd19b4c2b2f -size 215069 +oid sha256:96ef409cd658d5f6cdc7877bf4241b1f2e09d1aa607163957d124826b30e338b +size 488944 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 17beb2f00..765031004 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2341ed905718b7a772764f4e9ed08c065ee83b63e871ccef5d6bae5d8b19e243 -size 227655 +oid sha256:2f3f43e372559f2ae748c7966f069c4cf2ff9d70f6281c9667330549848abb8a +size 511891 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index 9db745c98..cbec5142e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44889f5d27ec8401e2811b25290533c9add8a79e8dda2052876ef38a885e4ec6 -size 142147 +oid sha256:c728fe193241961318f4e5b378985c581e80a45e664f6979ebf2478e86393850 +size 467513 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index f1143b93a..a4da0e782 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bd4077259c7e9e37afe84b3c868a4c0dee5914efa20faa127aa35dd3039fca6 -size 150830 +oid sha256:6fce0696fa1332a089dfa83d3e9d86cbbaecaec474f87864099171d86453f9cd +size 488105 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index fa42cb4d6..e74b84b2c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7bd804317c73ef7290a427fa68ac08a6cf9f403491d2653c05ecc47f4487ca6 -size 211887 +oid sha256:bbfc677220661889750ff0e3f00e7aae5aba2aff8a169b017236377d0910377b +size 500989 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index 2f1b6f23a..c59d41357 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99c3502a97ddeb544f45daf799ed3b0e23c957d46fc26f7491802fa4bcc1a47b -size 226621 +oid sha256:978e2153a17af9cb92d8d69a32f8d2e3f2abbf39c0ab8a241f4e96e2aa930ad1 +size 523582 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index eed9efba5..087b88e6e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:71eff2aae5dcc4b44da92b0098692e3709bbfe01f468192a112628d0dae85f65 -size 2446091 +oid sha256:5eaede1c64772513a49ad3dad2856bcf8d377397234294f99e0156bc58eef476 +size 2581206 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index ff2ca8679..182c8e324 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4e3bb59f65f21ccd47c84f2683de087977b2206220e63da369fe0b539390282 -size 2579655 +oid sha256:ba22be0f14ba965799eea08bcc43598cdfe02c14242e9a7f88e75b38a911bab3 +size 2725649 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index 3156de039..eb6a3e1a6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89a288f8d415204bf66214fac15af664a1013a5eaffa17bb44c496888f06b7af -size 206318 +oid sha256:bb403da6da86a6eddb45cfa118c5b2df441c5d0cf2ad14ae7d2b16f9c57fd711 +size 551631 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index 8c4aeeebf..30d61975a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd4a8df2f72ec31807a6a963812edc32214663688bdf3f5d5404855f4ed76698 -size 222497 +oid sha256:bb3e0ac75cf5217cb45e08af6d7120957b3b127f9d6746f4c4605e95810aa952 +size 573841 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png index 2b466c0ee..5c61f27cd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35be2d7f474d8d3d2ef6df16557a70266c7149e413461c77d54c866ff0793301 -size 125914 +oid sha256:e3f2518f771591acdfa3832370b8a2ac2dc5119c0ec3708e096aa2e06326bbf0 +size 409395 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png index ef3c04360..2b847bff7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Empty_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:159a5e4358a3302728c582ac3dee3b2cdebf53b3811bede79efc0054687d25a0 -size 136518 +oid sha256:d607c480e9bd4df36ad492b79dd1048394a9fb3f5ba3ec3ddb550b90e072874d +size 428423 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index afcae4b62..c96628a44 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9d30250803a50d14669d29161ad1bc6eacb13bf3545551116ea7cb7a80e79ec -size 2427123 +oid sha256:730aac00ffa4cfdb47baccb5f4f86972e4e574c8f5d1dca9f4bc376d87e5c812 +size 2561217 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 43a578901..927a0202a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:900bbd9802641e56195a0cbb0cf94ca8b38abf5ed4dc51a16df4bf04574bd945 -size 2563398 +oid sha256:5940f8bb8724aace217cefaf1740cc5b257243c0e0d2135e63f223c75ff94424 +size 2703356 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 3ddeb4cb2..9dcb0eb27 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:969fc0d4bac3dbb41855822dc64aabbe8489f55ed921178a7e9cc54e71880075 -size 4229093 +oid sha256:eeb6a05799f800614a620d25e5818a106a3ef23df6a9186f024dd8e8a16cb448 +size 4705283 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index 7e80ccb78..a2f5d1d65 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:745f295c85ec5cc9ec4528cc544f4aaa6ea83abb24147197f98cc7c813467180 -size 2906376 +oid sha256:79b2e4daa7d12fc739a987aee9c6f0771cd992e2f6202763293ccb6f09efe489 +size 3328245 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 6b0d30ac6..7326d1518 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f27e40ce16a21d39c752b59ac6e5dc810d9d5a320088f3ee2c2b34eb7e2dbcb1 -size 5142673 +oid sha256:7bfc147df3275f2e12bbbf6f6948e08d24ddd3bf00ab9f77f79d9c40d327a3ee +size 5496719 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index d91b8ea7f..d4c1cda60 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fda18c0a5aec3e4e78a6d9191507a40ffc6862c27a0d2c12fa2f900c3e26b61c -size 4143605 +oid sha256:6dafe836a52fac43386cd3b0f4a918cb4b8ba8af01dab9ea617ac1a2d105feb0 +size 4627194 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index e445fdd2e..d117e0622 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1418c15f970fea3db94785b3b214edd925aa3b795b098636be5920a5c5823bcf -size 4539569 +oid sha256:11c273dfc616b4cfa4ec957b10e5c1b79586745c60d75e24f01075039b9fbd68 +size 5018600 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index ed3b1c123..04f49ee75 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:965bc48357e1dc36f23bbeb5f4eb4532f5fba070f4d119d5815691ff4ad58064 -size 2453204 +oid sha256:3390c23b1ce2ceafa5d14b351ca19d0c60a8177c81fa634e00e63745b7a98c01 +size 2588534 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index 7c0fba654..c177aed35 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f50162bce22f381308946977044276b8c5b86e9ed54470726d191244af799c7 -size 1664422 +oid sha256:e91a0d9a90a6683529128f8966e4065de851a0890e2c8f6cc1521fc9be3e017e +size 1764965 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index b2c6ad5f5..c2dda0cb8 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eaef06fc2c48db69bac71f33b9ae557aa35857503d6deae4d0b57392fe424a19 -size 3513228 +oid sha256:5e6760c28cfc7486579ced173c81bd56d15600c5641d0aa52618f5b978c1090f +size 3561267 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 8562db38f..928e5b306 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e8a59ffe0f1027d8a22204ef8d5e3f3e8c439b3b5ec930acd5057ea3c35451a -size 2345813 +oid sha256:099ab5f669e2818ac486189692abff61048712c4328d61c96d778cfaf08119e3 +size 2474693 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index ff4d4e087..3e3d54624 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76561d91d5b388a99ff9a047e37b7873547a3021ef9a63a71f968a822d72792d -size 2588192 +oid sha256:8dd98ebd05f83f69fdd486be503bf8bd2bf255821db04a942d57b0cb69c1df73 +size 2734816 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index 88e2da6a4..e124dfc7c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:797cdc5c27762181b304ef6479884cbb712d4ff6e1a2113c062f03d9a259a956 -size 1319392 +oid sha256:77b97f2df2f3ed3e7cc7f7de8c60b52780073d66ed5905cb187743adbd9005b9 +size 1571529 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index 382632536..fd58b344a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d500c53e2f7d137ff9191da6e9a3b5302d35fa3b28cb6b3737f19cfe4f5af383 -size 1324712 +oid sha256:5e895338c4feea0f0572e087c394227e86168657a075822f295babe52ebef1e5 +size 1576726 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 0811cffeb..1d9af3e85 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55b3d2845a9039a5ce5af0a248873333fcb40618e7d3af8a9e9b39b9b2dff707 -size 2313990 +oid sha256:23a22e71e86225bb8e67db8fa29ec96008d4dcc268cae3b3f7a472cd914e6a43 +size 2477711 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index b185d0576..b1565b246 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c524eeccdbed99ad5f35945ef09cf48ba8cc57f4e4673cc47cc75da1fea6032 -size 2381958 +oid sha256:0d6a5ab2d400f1935b7dbbcb91b67e88ed605817b8fb309a397a86c7eb5ac383 +size 2542969 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png index 816aedfcf..1ea3f7af9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04b4b7c678934d70a6d210e36c792a044d64b91691b9c99fcfe7d399d4348fbc -size 211323 +oid sha256:d16add60528d23a9e1f6a32e9dcb043be3971c2f7ec38cd33d3fd215f58b9c7d +size 487909 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png index efdc4dd58..442768755 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.LoggedIn_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b324a33ac4bebf18cd5eb2af9d0deba9d32befba6eec0c94af078a5bc2baec0 -size 207923 +oid sha256:f319864554c3488ff48a7f1ed227324e4f0133b18521f9d26b0fa986a05f5c73 +size 502233 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png index 4e0aef40f..0f6495aef 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fe8a8c5625867515d4428e8d13ad86abbc2fc3af1232b271723435bb1fe19d9 -size 212031 +oid sha256:62f09e8946b77dbfca7e8fd64a26d1847113b2cd5ce02d6d1083ff8e83845c09 +size 488531 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png index a7309f67d..c0e5c0643 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/RootViewSnapshotTests/root.RecordingConfigurationWarning_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4824ade3b5963f47749ec3c57fd2c88f3efc9a335fe6c357f4e764193f946bd1 -size 208206 +oid sha256:1ec2978b0beaf23ccb2aee6f5c4a9cfcb4c54bcd76195fd08e22ca3ff419371f +size 502264 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 698882c7f..663269cf6 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -23,6 +23,15 @@ struct LocationsBackground: View { ZStack { style.paper if style.showsInk { + SecurityPrintRosette( + tint: style.ink, + wobble: style.rosette.wobble, + lineWidth: style.rosette.lineWidth, + primaryRingSpacing: style.rosette.primaryRingSpacing, + secondaryRingSpacing: style.rosette.secondaryRingSpacing, + primaryOpacity: style.rosetteOpacity, + secondaryOpacity: style.rosetteOpacity, + ) silhouettes } } @@ -51,32 +60,21 @@ struct LocationsBackground: View { ) ZStack(alignment: .topLeading) { ForEach(cells) { cell in + let item = items[cell.artworkIndex] Group { - switch cell.motif { - case let .region(index): - let item = items[index] - if item.region == .other { - Image(systemSymbol: .globeAmericas) - .resizable() - .scaledToFit() - .fontWeight(style.symbolWeight) - .foregroundStyle(style.ink.opacity(style.symbolOpacity)) - .padding(cell.frame - .width * (1 - style.artwork.extent.width) / 2) - } else { - RegionOutlineArtwork( - path: item.path, - tint: style.ink, - style: balancedArtwork(for: item.path), - ) - } - case .rosette: - LocationsMonogramRosette() - .stroke( - style.ink.opacity(style.rosette.opacity), - lineWidth: style.rosette.lineWidth, - ) - .padding(cell.frame.width * (1 - style.rosette.extent) / 2) + if item.region == .other { + Image(systemSymbol: .globeAmericas) + .resizable() + .scaledToFit() + .fontWeight(style.symbolWeight) + .foregroundStyle(style.ink.opacity(style.symbolOpacity)) + .padding(cell.frame.width * (1 - style.artwork.extent.width) / 2) + } else { + RegionOutlineArtwork( + path: item.path, + tint: style.ink, + style: balancedArtwork(for: item.path), + ) } } .frame(width: cell.frame.width, height: cell.frame.height) @@ -100,32 +98,6 @@ struct LocationsBackground: View { } } -/// A compact six-petal seal that anchors the repeating geographic print. -private struct LocationsMonogramRosette: Shape { - func path(in rect: CGRect) -> Path { - var path = Path() - let radius = min(rect.width, rect.height) / 2 - let center = CGPoint(x: rect.midX, y: rect.midY) - for step in 0 ... 120 { - let angle = Double(step) / 120 * .pi * 2 - let petalRadius = radius * (0.82 + 0.18 * cos(angle * 6)) - let point = CGPoint( - x: center.x + cos(angle) * petalRadius, - y: center.y + sin(angle) * petalRadius, - ) - if step == 0 { path.move(to: point) } else { path.addLine(to: point) } - } - path.closeSubpath() - path.addEllipse(in: CGRect( - x: center.x - radius * 0.28, - y: center.y - radius * 0.28, - width: radius * 0.56, - height: radius * 0.56, - )) - return path - } -} - #if DEBUG import SnapshotKit diff --git a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift index 552b9f714..448892f12 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackgroundLayout.swift @@ -1,20 +1,15 @@ import CoreGraphics -/// A square lattice of regions interleaved with rosettes on the half-step diagonals. +/// A staggered region lattice that preserves full membership and extends beyond the viewport. enum LocationsBackgroundLayout { - enum Motif: Equatable { - case region(Int) - case rosette - } - struct Cell: Identifiable { let id: Int - let motif: Motif + let artworkIndex: Int let frame: CGRect } static func cells(count: Int, in size: CGSize, preferredCellSize: CGFloat) -> [Cell] { - guard count >= 0, size.width > 0, size.height > 0, preferredCellSize > 0 else { + guard count > 0, size.width > 0, size.height > 0, preferredCellSize > 0 else { return [] } var columns = max(1, Int(size.width / preferredCellSize)) @@ -26,32 +21,24 @@ enum LocationsBackgroundLayout { rows += 1 } } - let side = min(size.width / CGFloat(columns), size.height / CGFloat(rows)) - let visibleColumns = max(1, Int((size.width / side).rounded(.down))) + let side = min(size.width / (CGFloat(columns) + 0.5), size.height / CGFloat(rows)) let coveringColumns = Int((size.width / side).rounded(.up)) let coveringRows = Int((size.height / side).rounded(.up)) var cells: [Cell] = [] - // Overscan every edge so both halves of the diagonal repeat can be clipped naturally. + // Overscan every edge so the repeat can be clipped naturally. for row in -1 ... coveringRows { for column in -1 ... coveringColumns { let frame = CGRect( - x: CGFloat(column) * side, + x: (CGFloat(column) + (row.isMultiple(of: 2) ? 0 : 0.5)) * side, y: CGFloat(row) * side, width: side, height: side, ) - if count > 0 { - let index = row * visibleColumns + column - cells.append(Cell( - id: cells.count, - motif: .region((index % count + count) % count), - frame: frame, - )) - } + let index = row * columns + column cells.append(Cell( id: cells.count, - motif: .rosette, - frame: frame.offsetBy(dx: side / 2, dy: side / 2), + artworkIndex: (index % count + count) % count, + frame: frame, )) } } diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index e1be1242b..590c8a1a3 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2505,12 +2505,12 @@ extension WhereStylesheet { stroke: .init(opacity: 0.043, width: 1.1), ) var maximumAspectScale: CGFloat = 1.25 - var rosette = Rosette() - - struct Rosette: Equatable { - var extent: CGFloat = 0.18 - var lineWidth: CGFloat = 0.7 - var opacity: Double = 0.04 - } + var rosette = CardStyle.Rosette( + wobble: 0.04, + lineWidth: 0.5, + primaryRingSpacing: 18, + secondaryRingSpacing: 25, + ) + var rosetteOpacity: Double = 0.015 } } diff --git a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift index 8b9e49f92..2effd7ccb 100644 --- a/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift +++ b/Where/WhereUI/Tests/LocationsBackgroundLayoutTests.swift @@ -9,49 +9,46 @@ struct LocationsBackgroundLayoutTests { let cells = LocationsBackgroundLayout.cells(count: count, in: size, preferredCellSize: 64) let viewport = CGRect(origin: .zero, size: size).insetBy(dx: -0.001, dy: -0.001) let visibleRegions = cells.compactMap { cell -> Int? in - guard viewport.contains(cell.frame), - case let .region(index) = cell.motif else { return nil } - return index + guard viewport.contains(cell.frame) else { return nil } + return cell.artworkIndex } #expect(Set(visibleRegions) == Set(0 ..< count)) #expect(Set(cells.map(\.id)).count == cells.count) #expect(cells.allSatisfy { $0.frame.width == $0.frame.height && $0.frame.width > 0 }) } - @Test func rosettesAlternateWithRegionsOnTheDiagonal() { + @Test func alternateRowsHaveAHalfCellOffset() throws { let cells = LocationsBackgroundLayout.cells( count: 5, in: CGSize(width: 390, height: 844), preferredCellSize: 64, ) - for pair in stride(from: 0, to: cells.count, by: 2) { - let region = cells[pair] - let rosette = cells[pair + 1] - guard case .region = region.motif else { - Issue.record("Expected a region before each rosette") - return - } - #expect(rosette.motif == .rosette) - #expect(abs(rosette.frame.midX - region.frame.midX - region.frame.width / 2) < 0.001) - #expect(abs(rosette.frame.midY - region.frame.midY - region.frame.height / 2) < 0.001) - } + let first = try #require(cells.first { abs($0.frame.minY) < 0.001 }) + let second = try #require(cells.first { $0.frame.minY > first.frame.minY }) + let third = try #require(cells.first { $0.frame.minY > second.frame.minY }) + #expect(abs(second.frame.minX - first.frame.minX - first.frame.width / 2) < 0.001) + #expect(abs(third.frame.minX - first.frame.minX) < 0.001) } @Test func patternExtendsBeyondEveryEdge() { let size = CGSize(width: 390, height: 844) let cells = LocationsBackgroundLayout.cells(count: 5, in: size, preferredCellSize: 64) - let rosettes = cells.filter { $0.motif == .rosette } - #expect(rosettes.contains { $0.frame.minX < 0 && $0.frame.maxX > 0 }) - #expect(rosettes.contains { $0.frame.minX < size.width && $0.frame.maxX > size.width }) - #expect(rosettes.contains { $0.frame.minY < 0 && $0.frame.maxY > 0 }) - #expect(rosettes.contains { $0.frame.minY < size.height && $0.frame.maxY > size.height }) + #expect(cells.contains { $0.frame.minX < 0 }) + #expect(cells.contains { $0.frame.maxX > size.width }) + #expect(cells.contains { $0.frame.minY < 0 }) + #expect(cells.contains { $0.frame.maxY > size.height }) + for row in Dictionary(grouping: cells, by: { $0.frame.minY }).values { + for (left, right) in zip(row, row.dropFirst()) { + #expect(right.artworkIndex == (left.artworkIndex + 1) % 5) + #expect(abs(left.frame.maxX - right.frame.minX) < 0.001) + } + } } - @Test func emptyHistoryKeepsOnlyRosettesAndInvalidSizesProduceNoCells() { + @Test func emptyHistoryAndInvalidSizesProduceNoRegionCells() { let size = CGSize(width: 390, height: 844) let cells = LocationsBackgroundLayout.cells(count: 0, in: size, preferredCellSize: 64) - #expect(!cells.isEmpty) - #expect(cells.allSatisfy { $0.motif == .rosette }) + #expect(cells.isEmpty) #expect(LocationsBackgroundLayout.cells(count: 3, in: .zero, preferredCellSize: 64).isEmpty) #expect(LocationsBackgroundLayout.cells(count: 3, in: size, preferredCellSize: 0).isEmpty) } diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 527ba95b4..50a1bd78c 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -542,9 +542,13 @@ struct WhereStylesheetTests { stroke: .init(opacity: 0.043, width: 1.1), )) #expect(background.maximumAspectScale == 1.25) - #expect(background.rosette.extent == 0.18) - #expect(background.rosette.lineWidth == 0.7) - #expect(background.rosette.opacity == 0.04) + #expect(background.rosette == .init( + wobble: 0.04, + lineWidth: 0.5, + primaryRingSpacing: 18, + secondaryRingSpacing: 25, + )) + #expect(background.rosetteOpacity == 0.015) } @Test func elsewhereCardStyle() { From 4655a4c91dbb2a613cb224bc5deee8cb5d0ad412 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Thu, 24 Sep 2026 17:21:43 -0700 Subject: [PATCH 11/13] Tighten Locations background region spacing --- .../locationsBackground.Many_iPhone.png | 4 ++-- .../locationsBackground.Many_iPhone_dark.png | 4 ++-- .../locationsBackground.One_iPhone.png | 4 ++-- .../locationsBackground.One_iPhone_dark.png | 4 ++-- .../locationsBackground.Several_iPhone.png | 4 ++-- .../locationsBackground.Several_iPhone_dark.png | 4 ++-- .../locations.DotsHidden_iPhone.png | 4 ++-- .../locations.DotsHidden_iPhone_dark.png | 4 ++-- .../locations.ElsewhereOnly_iPhone.png | 4 ++-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 ++-- .../locations.ForecastsHidden_iPhone.png | 4 ++-- .../locations.ForecastsHidden_iPhone_dark.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPad.png | 4 ++-- .../locations.Loaded_iPad_accessibility.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png | 4 ++-- .../locations.Loaded_iPad_contrast.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png | 4 ++-- .../LocationsViewSnapshotTests/locations.Loaded_iPhone.png | 4 ++-- .../locations.Loaded_iPhone_accessibility.png | 4 ++-- .../locations.Loaded_iPhone_ax5.png | 4 ++-- .../locations.Loaded_iPhone_contrast.png | 4 ++-- .../locations.Loaded_iPhone_dark.png | 4 ++-- .../locations.MissingDays_iPhone.png | 4 ++-- .../locations.MissingDays_iPhone_dark.png | 4 ++-- .../locations.PlannedStay_iPhone.png | 4 ++-- .../locations.PlannedStay_iPhone_dark.png | 4 ++-- Where/WhereUI/Sources/Shared/WhereStylesheet.swift | 4 ++-- Where/WhereUI/Tests/WhereStylesheetTests.swift | 4 ++-- 28 files changed, 56 insertions(+), 56 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png index 50825f79f..052be5c3c 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96ef409cd658d5f6cdc7877bf4241b1f2e09d1aa607163957d124826b30e338b -size 488944 +oid sha256:881ee533fb4fe9fc2c96b774216fc370d757959194fc7f3dc58e2b647ff9c8e0 +size 531318 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png index 765031004..6932d59ff 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Many_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f3f43e372559f2ae748c7966f069c4cf2ff9d70f6281c9667330549848abb8a -size 511891 +oid sha256:a47925423e9c997e48d6ee32b41dd09435246fd0a5fd409e5ef8dbf5812627cf +size 554837 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png index cbec5142e..98944484e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c728fe193241961318f4e5b378985c581e80a45e664f6979ebf2478e86393850 -size 467513 +oid sha256:d2780d2f256c09a6bce824545d8e5aa418ad1a30fb011e210ee4b5cd46b98a6b +size 494333 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png index a4da0e782..24446635e 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.One_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fce0696fa1332a089dfa83d3e9d86cbbaecaec474f87864099171d86453f9cd -size 488105 +oid sha256:0f60cd391fcd615a56978fbf013fc74e7046f6fe24b770df39f38780ebb19d99 +size 514845 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index e74b84b2c..ded21666f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bbfc677220661889750ff0e3f00e7aae5aba2aff8a169b017236377d0910377b -size 500989 +oid sha256:7389b345afc5faea10220a8790389ff708da47a4cfee2dd9009faccd31233e12 +size 545846 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index c59d41357..6809e92ed 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:978e2153a17af9cb92d8d69a32f8d2e3f2abbf39c0ab8a241f4e96e2aa930ad1 -size 523582 +oid sha256:4a962d162aca6a3067f7e8e08f69e64a32d1080fa56ab1e77db1064268b17d2b +size 569808 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index 087b88e6e..fcfc829a3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5eaede1c64772513a49ad3dad2856bcf8d377397234294f99e0156bc58eef476 -size 2581206 +oid sha256:b8b59cade96d9d99af2a17500f1d0a012251a8ef54a4c6b57bac1c9f1391a2e7 +size 2613791 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 182c8e324..3c920a7dd 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba22be0f14ba965799eea08bcc43598cdfe02c14242e9a7f88e75b38a911bab3 -size 2725649 +oid sha256:9a762eb62f46d4cd69b21c1c10037608e8491227eb5c9fdcffe308770288bc34 +size 2754488 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index eb6a3e1a6..f12a8c3e0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb403da6da86a6eddb45cfa118c5b2df441c5d0cf2ad14ae7d2b16f9c57fd711 -size 551631 +oid sha256:6be7dda211e7bff4c0d3170bae077fb916ed1155e7e625ba8e70b702c5d19d21 +size 593401 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index 30d61975a..fdab53c94 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb3e0ac75cf5217cb45e08af6d7120957b3b127f9d6746f4c4605e95810aa952 -size 573841 +oid sha256:ecb4ed922d2f19c70711e3820408d7e3d19fb12a55dd910333e29112a686b1c1 +size 616309 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index c96628a44..f48ec18a1 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:730aac00ffa4cfdb47baccb5f4f86972e4e574c8f5d1dca9f4bc376d87e5c812 -size 2561217 +oid sha256:79d4f948b1ee753ef2dcd939d0ff2562f00fc8e8095aaa3bb50038b213146f13 +size 2586035 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index 927a0202a..f946d8f1f 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5940f8bb8724aace217cefaf1740cc5b257243c0e0d2135e63f223c75ff94424 -size 2703356 +oid sha256:06b1717dec8f28fcf26354f46c1bc62bf86a20be982661cbcd4632ec3548d3f7 +size 2738219 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 9dcb0eb27..80225db82 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eeb6a05799f800614a620d25e5818a106a3ef23df6a9186f024dd8e8a16cb448 -size 4705283 +oid sha256:973c3dd01371abff6a5191f36a51130fa82c4cfb9bc330f619aa007dc3e39db1 +size 4786370 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index a2f5d1d65..ef2126f13 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79b2e4daa7d12fc739a987aee9c6f0771cd992e2f6202763293ccb6f09efe489 -size 3328245 +oid sha256:36d31fd75a0419382f48489a335e67f8d4483b5e42d641ab83de88bbb122165f +size 3401872 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 7326d1518..302ce5de2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7bfc147df3275f2e12bbbf6f6948e08d24ddd3bf00ab9f77f79d9c40d327a3ee -size 5496719 +oid sha256:bae1cd17e304ea5e7f73b14b1e8d4b237ca1ea9b0e7f84029418aee928b05a53 +size 5571474 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index d4c1cda60..bbc32138a 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6dafe836a52fac43386cd3b0f4a918cb4b8ba8af01dab9ea617ac1a2d105feb0 -size 4627194 +oid sha256:34e92cf28000ba9f5b41eb67ff3279d791c7ab69e2640bb1472e2bda3c50a42d +size 4689281 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index d117e0622..30f156764 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11c273dfc616b4cfa4ec957b10e5c1b79586745c60d75e24f01075039b9fbd68 -size 5018600 +oid sha256:a68ccd129736c4dc3645da30dad4b55bee2c7f54df1b964df086aa605f048948 +size 5088714 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 04f49ee75..7a26757a3 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3390c23b1ce2ceafa5d14b351ca19d0c60a8177c81fa634e00e63745b7a98c01 -size 2588534 +oid sha256:5232d8fb5e434d534dc18e98469e90c139d0c13ea278ab6cb2210d0c3baa4032 +size 2621639 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index c177aed35..bd4970044 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e91a0d9a90a6683529128f8966e4065de851a0890e2c8f6cc1521fc9be3e017e -size 1764965 +oid sha256:9b08afa0deb519261fcf69a10713079212c60bd2fe2dbc7af949fc2835657ddd +size 1782709 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index c2dda0cb8..c2d280398 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e6760c28cfc7486579ced173c81bd56d15600c5641d0aa52618f5b978c1090f -size 3561267 +oid sha256:dd550540f7dd68766b422ba3397d2a27ae9b93f2e685f83f605aa8847239db26 +size 3601638 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 928e5b306..2a5aa1943 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:099ab5f669e2818ac486189692abff61048712c4328d61c96d778cfaf08119e3 -size 2474693 +oid sha256:2e6120b92cb71ae7fcdc3c599e63697292811b028df83e4743e79da13d2818b5 +size 2501695 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index 3e3d54624..b169ca662 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8dd98ebd05f83f69fdd486be503bf8bd2bf255821db04a942d57b0cb69c1df73 -size 2734816 +oid sha256:bdd0e5c2bda38e43d26db83025e2ec68af8f45d8a9c5e6c71e517b14858ab9c7 +size 2762895 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png index e124dfc7c..436132328 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77b97f2df2f3ed3e7cc7f7de8c60b52780073d66ed5905cb187743adbd9005b9 -size 1571529 +oid sha256:6a1998dbd58bcef70c63b6ea068639567042d35e563906823b3419574d2d1f39 +size 1607660 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png index fd58b344a..c935e89f9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.MissingDays_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e895338c4feea0f0572e087c394227e86168657a075822f295babe52ebef1e5 -size 1576726 +oid sha256:285ec0efcae6f97fed4d23dbd435e36f7d16580dc803ddb480b68ff8fd29263f +size 1604414 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index 1d9af3e85..f41fac707 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23a22e71e86225bb8e67db8fa29ec96008d4dcc268cae3b3f7a472cd914e6a43 -size 2477711 +oid sha256:c0b34f21a50f3cb23831879d7d0e1178c185f25e74a77c15acb8e6cd4f43362c +size 2503183 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png index b1565b246..544272bfb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d6a5ab2d400f1935b7dbbcb91b67e88ed605817b8fb309a397a86c7eb5ac383 -size 2542969 +oid sha256:79cb98a8b4b27ed0d9180caa5629a66d7765c53171c5c6d8607a2b098eef4181 +size 2563217 diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index 590c8a1a3..a2367f72b 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2494,12 +2494,12 @@ extension WhereStylesheet { var paper = Color(uiColor: .systemBackground) var ink = Color.primary var showsInk = true - var preferredCellSize: CGFloat = 64 + var preferredCellSize: CGFloat = 54 var symbolWeight = Font.Weight.light var symbolOpacity: Double = 0.03 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.46, height: 0.46), + extent: CGSize(width: 0.545, height: 0.545), scale: 1, fillOpacity: 0, stroke: .init(opacity: 0.043, width: 1.1), diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 50a1bd78c..90d323c10 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -531,12 +531,12 @@ struct WhereStylesheetTests { #expect(background.paper == Color(uiColor: .systemBackground)) #expect(background.ink == Color.primary) #expect(background.showsInk) - #expect(background.preferredCellSize == 64) + #expect(background.preferredCellSize == 54) #expect(background.symbolWeight == .light) #expect(background.symbolOpacity == 0.03) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), - extent: CGSize(width: 0.46, height: 0.46), + extent: CGSize(width: 0.545, height: 0.545), scale: 1, fillOpacity: 0, stroke: .init(opacity: 0.043, width: 1.1), From 0cfa21dee22e667f963e3f839dc366a167e9eb38 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Fri, 25 Sep 2026 10:52:28 -0700 Subject: [PATCH 12/13] Remove globe motifs from Locations background --- Where/WhereUI/AGENTS.md | 3 ++- Where/WhereUI/README.md | 1 + .../locationsBackground.Several_iPhone.png | 4 ++-- ...ocationsBackground.Several_iPhone_dark.png | 4 ++-- .../locations.DotsHidden_iPhone.png | 4 ++-- .../locations.DotsHidden_iPhone_dark.png | 4 ++-- .../locations.ElsewhereOnly_iPhone.png | 4 ++-- .../locations.ElsewhereOnly_iPhone_dark.png | 4 ++-- .../locations.ForecastsHidden_iPhone.png | 4 ++-- .../locations.ForecastsHidden_iPhone_dark.png | 4 ++-- .../locations.Loaded_iPad.png | 4 ++-- .../locations.Loaded_iPad_accessibility.png | 4 ++-- .../locations.Loaded_iPad_ax5.png | 4 ++-- .../locations.Loaded_iPad_contrast.png | 4 ++-- .../locations.Loaded_iPad_dark.png | 4 ++-- .../locations.Loaded_iPhone.png | 4 ++-- .../locations.Loaded_iPhone_accessibility.png | 4 ++-- .../locations.Loaded_iPhone_ax5.png | 4 ++-- .../locations.Loaded_iPhone_contrast.png | 4 ++-- .../locations.Loaded_iPhone_dark.png | 4 ++-- .../locations.PlannedStay_iPhone.png | 4 ++-- .../Sources/Primary/LocationsBackground.swift | 24 +++++-------------- .../Sources/Shared/WhereStylesheet.swift | 2 -- .../WhereUI/Tests/WhereStylesheetTests.swift | 2 -- 24 files changed, 47 insertions(+), 61 deletions(-) diff --git a/Where/WhereUI/AGENTS.md b/Where/WhereUI/AGENTS.md index 5ad00c749..5322c8e3a 100644 --- a/Where/WhereUI/AGENTS.md +++ b/Where/WhereUI/AGENTS.md @@ -86,7 +86,8 @@ Layering, localization, preview, and testing conventions live in the feature `RegionArtworkProjection`. Never project, simplify, or spatially reduce artwork in a card's `body`. - Keep the Locations background on the selected year’s complete visited-region set, - in catalog order independent of card rank. Use the injected outline cache. + in catalog order independent of card rank. Omit the catch-all Other entry from + the print. Use the injected outline cache. - Keep the Elsewhere summary count and artwork on the same secondary-region input. Use its own stylesheet tokens and the shared outline renderers. - Keep Locations-card points on `YearReportModel`'s loaded diff --git a/Where/WhereUI/README.md b/Where/WhereUI/README.md index 09a52df22..26be27349 100644 --- a/Where/WhereUI/README.md +++ b/Where/WhereUI/README.md @@ -414,6 +414,7 @@ registered content. The Locations root screen uses a stationary monochrome pattern of all regions visited in the selected year, including manually recorded visits and Elsewhere. +The catch-all Other entry is omitted because it has no geographic outline. Catalog order keeps the pattern stable when card rankings change. Planned stays do not contribute. The shared outline cache supplies the region paths. Full-view rosette rings sit behind staggered region outlines with a half-cell row offset. Slender diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png index ded21666f..9666fcab5 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7389b345afc5faea10220a8790389ff708da47a4cfee2dd9009faccd31233e12 -size 545846 +oid sha256:f8ed6cd58d9441184c388ac03eb8c212c20736940d267488f480f020de85c60c +size 509680 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png index 6809e92ed..2d55ae1db 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsBackgroundSnapshotTests/locationsBackground.Several_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a962d162aca6a3067f7e8e08f69e64a32d1080fa56ab1e77db1064268b17d2b -size 569808 +oid sha256:9aa9be77876b37b566809d33e8bb481e031d3adfa974e73617ff2e408e504a7a +size 532104 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png index fcfc829a3..b34079f68 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b8b59cade96d9d99af2a17500f1d0a012251a8ef54a4c6b57bac1c9f1391a2e7 -size 2613791 +oid sha256:cc3fc6fd4ec2b6c5fd03fb9d3e058b0a4af0fef89bfb7a363f0e2ab07247d1e9 +size 2601034 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png index 3c920a7dd..099f0c219 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.DotsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a762eb62f46d4cd69b21c1c10037608e8491227eb5c9fdcffe308770288bc34 -size 2754488 +oid sha256:81269dc33a6c3ffa92453d676b3e333ebe8d0bd2653ef45627be725b72660bcd +size 2737971 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png index f12a8c3e0..ec695d1a7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6be7dda211e7bff4c0d3170bae077fb916ed1155e7e625ba8e70b702c5d19d21 -size 593401 +oid sha256:d95b379c43ba668478a28a19ef15d793084900c92ca0473bfb0cd6baf3f1a67d +size 410157 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png index fdab53c94..aecca35ee 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ElsewhereOnly_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecb4ed922d2f19c70711e3820408d7e3d19fb12a55dd910333e29112a686b1c1 -size 616309 +oid sha256:f276b14e5ee4d558d0544f69fb17d61ed4802342b530dcfe80bdf7efe6fb640a +size 430269 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png index f48ec18a1..18d81feb0 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79d4f948b1ee753ef2dcd939d0ff2562f00fc8e8095aaa3bb50038b213146f13 -size 2586035 +oid sha256:036c5542e63f994a9f968f04d0b68932b6ecb6aeec35b554ec44db235a0d58f5 +size 2574976 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png index f946d8f1f..7058c3bdb 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.ForecastsHidden_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06b1717dec8f28fcf26354f46c1bc62bf86a20be982661cbcd4632ec3548d3f7 -size 2738219 +oid sha256:d9a9c21af8730b642b1f70085c1c29033fbd698171dea4a6175eb4d3e7e38dd8 +size 2725776 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png index 80225db82..b9b99a0d4 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:973c3dd01371abff6a5191f36a51130fa82c4cfb9bc330f619aa007dc3e39db1 -size 4786370 +oid sha256:0d9515f7cb64cde07afaee53ae0e7e0964ab8cf981025a7daa4809de59a613cd +size 4747385 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png index ef2126f13..cfa0579c2 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36d31fd75a0419382f48489a335e67f8d4483b5e42d641ab83de88bbb122165f -size 3401872 +oid sha256:e92c0935c368894f6f1b46509797ff5cfa0a3c3ac17454fc6aec5bbba11f560f +size 3377200 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png index 302ce5de2..3d0f58873 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bae1cd17e304ea5e7f73b14b1e8d4b237ca1ea9b0e7f84029418aee928b05a53 -size 5571474 +oid sha256:828f78981a865f41e640c0782c10a07d874dff84d3754313ae0c9b45a60d3cc1 +size 5547486 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png index bbc32138a..dfa0795db 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:34e92cf28000ba9f5b41eb67ff3279d791c7ab69e2640bb1472e2bda3c50a42d -size 4689281 +oid sha256:1bb7c6896f8c19da314e9c1dda277ed03bd4a4b0196d470aa2071687b6d1bfe8 +size 4660084 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png index 30f156764..006758489 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPad_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a68ccd129736c4dc3645da30dad4b55bee2c7f54df1b964df086aa605f048948 -size 5088714 +oid sha256:b91905e7921da7cffcb36f2ed336f1df564e79d385807a4feafff30b35074cfa +size 5056320 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png index 7a26757a3..e6ff56a61 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5232d8fb5e434d534dc18e98469e90c139d0c13ea278ab6cb2210d0c3baa4032 -size 2621639 +oid sha256:0108ba741fe279c727ad744274cfa9151e36c0572cd20cca37d0a09a07c92d1c +size 2609082 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png index bd4970044..782dfc745 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b08afa0deb519261fcf69a10713079212c60bd2fe2dbc7af949fc2835657ddd -size 1782709 +oid sha256:825314e1b892fb5695edf7dbd2a99c37738242fafcb47e72f450b2b6a85fcc30 +size 1775567 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png index c2d280398..95d133ab9 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd550540f7dd68766b422ba3397d2a27ae9b93f2e685f83f605aa8847239db26 -size 3601638 +oid sha256:56a953a86e8c25c1c0a7107582598f0d8cd6950edec2d758e6d02dc82757dfd2 +size 3597759 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png index 2a5aa1943..114db31da 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_contrast.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e6120b92cb71ae7fcdc3c599e63697292811b028df83e4743e79da13d2818b5 -size 2501695 +oid sha256:4ba8e955bc01ec757a31321eaa246d675d03c6e4c154b7f2ac56d5244d3fb10c +size 2489697 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png index b169ca662..1d4f60464 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.Loaded_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdd0e5c2bda38e43d26db83025e2ec68af8f45d8a9c5e6c71e517b14858ab9c7 -size 2762895 +oid sha256:048b5fca0b720cde1d33a4aec43c8477b87abd7c11afe464e48612b51734db46 +size 2746534 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png index f41fac707..39cf1dda7 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/LocationsViewSnapshotTests/locations.PlannedStay_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0b34f21a50f3cb23831879d7d0e1178c185f25e74a77c15acb8e6cd4f43362c -size 2503183 +oid sha256:92405a1e53e701f1d4aa8b09f0ce0b7887734aaf00466e78cc2965813f4c1211 +size 2502877 diff --git a/Where/WhereUI/Sources/Primary/LocationsBackground.swift b/Where/WhereUI/Sources/Primary/LocationsBackground.swift index 663269cf6..5d03d2b64 100644 --- a/Where/WhereUI/Sources/Primary/LocationsBackground.swift +++ b/Where/WhereUI/Sources/Primary/LocationsBackground.swift @@ -1,6 +1,5 @@ import BroadwayUI import RegionKit -import SFSafeSymbols import SwiftUI /// Stationary, noninteractive paper texture for the root Locations viewport. @@ -16,7 +15,7 @@ struct LocationsBackground: View { } private var requestedRegions: [Region] { - style.showsInk ? regions : [] + style.showsInk ? regions.filter { $0 != .other } : [] } var body: some View { @@ -61,22 +60,11 @@ struct LocationsBackground: View { ZStack(alignment: .topLeading) { ForEach(cells) { cell in let item = items[cell.artworkIndex] - Group { - if item.region == .other { - Image(systemSymbol: .globeAmericas) - .resizable() - .scaledToFit() - .fontWeight(style.symbolWeight) - .foregroundStyle(style.ink.opacity(style.symbolOpacity)) - .padding(cell.frame.width * (1 - style.artwork.extent.width) / 2) - } else { - RegionOutlineArtwork( - path: item.path, - tint: style.ink, - style: balancedArtwork(for: item.path), - ) - } - } + RegionOutlineArtwork( + path: item.path, + tint: style.ink, + style: balancedArtwork(for: item.path), + ) .frame(width: cell.frame.width, height: cell.frame.height) .position(x: cell.frame.midX, y: cell.frame.midY) } diff --git a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift index a2367f72b..50be73717 100644 --- a/Where/WhereUI/Sources/Shared/WhereStylesheet.swift +++ b/Where/WhereUI/Sources/Shared/WhereStylesheet.swift @@ -2495,8 +2495,6 @@ extension WhereStylesheet { var ink = Color.primary var showsInk = true var preferredCellSize: CGFloat = 54 - var symbolWeight = Font.Weight.light - var symbolOpacity: Double = 0.03 var artwork = CardStyle.RegionShape.Artwork( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.545, height: 0.545), diff --git a/Where/WhereUI/Tests/WhereStylesheetTests.swift b/Where/WhereUI/Tests/WhereStylesheetTests.swift index 90d323c10..cdd634068 100644 --- a/Where/WhereUI/Tests/WhereStylesheetTests.swift +++ b/Where/WhereUI/Tests/WhereStylesheetTests.swift @@ -532,8 +532,6 @@ struct WhereStylesheetTests { #expect(background.ink == Color.primary) #expect(background.showsInk) #expect(background.preferredCellSize == 54) - #expect(background.symbolWeight == .light) - #expect(background.symbolOpacity == 0.03) #expect(background.artwork == .init( center: CGPoint(x: 0.5, y: 0.5), extent: CGSize(width: 0.545, height: 0.545), From c85ced1226b1d4c51d851a2aa7da61a2337825e4 Mon Sep 17 00:00:00 2001 From: Kyle Van Essen Date: Fri, 25 Sep 2026 11:27:29 -0700 Subject: [PATCH 13/13] Refresh welcome snapshots for Locations rosette background --- .../mainTabs.WelcomeLocations_iPhone.png | 4 ++-- .../mainTabs.WelcomeLocations_iPhone_accessibility.png | 4 ++-- .../mainTabs.WelcomeLocations_iPhone_ax5.png | 4 ++-- .../mainTabs.WelcomeLocations_iPhone_dark.png | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone.png b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone.png index 6e1524191..3a3897028 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:875ffd945db9f8f4eff53761b035f4ee9a0d80b28c0cec0f3dfba6d7bb5ef471 -size 1031894 +oid sha256:a2bfdc61974bb5df29af5be9ce6a0ce41cc7990c6a36bd92e846b21fde864909 +size 1246567 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_accessibility.png b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_accessibility.png index 18f9fb1d7..4078a3033 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_accessibility.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_accessibility.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3824b30e1786a5ae9d1eb80f332c538cdc94a0a7d47bf4340aad2307b1a06b41 -size 914021 +oid sha256:258ba7ee45acbdfb02fb51a04e722f23b7bb1add944bea79f6f085385f797ff7 +size 1105035 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_ax5.png b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_ax5.png index 0dbcacf50..34c0f4745 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_ax5.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_ax5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:851d7a31cedb1004dcf8a01fde396223c8c7f6558f854ce3a5deade17df61ae0 -size 2360955 +oid sha256:bde0ca4685e5b60ade7f233c7e42327c218e7f4d62eef24a61dd8e94011ebe89 +size 2425715 diff --git a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_dark.png b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_dark.png index 235118837..fff731bc6 100644 --- a/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_dark.png +++ b/Where/WhereUI/SnapshotTests/__Snapshots__/MainTabsSnapshotTests/mainTabs.WelcomeLocations_iPhone_dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2161ade105f31e655f24f3d778fe649263b253552be256a1828955f2e2b85f80 -size 794734 +oid sha256:d3a1937c43bb8c8b23ed1aa075acbf80b9492b1092824d8150887c910c620ed7 +size 1021068