chore(store): App Store screenshot kit and the 6.9" set - #45
Merged
Merged
Conversation
The App Store set from docs/plans/app-store-screenshots.md, produced end to end from real screens: - ScreenshotSeed (DEBUG, -SavelyScreenshotSeed) wipes the Simulator store and seeds the fictional dataset the captions have to prove: a goal on track with a real $125/wk pace, a second goal honestly behind with a "1+ year" ETA, a paycheck that offers an auto-move, and a month-over-month drop in the trend. - StoreScreenshotTourUITests walks the eight screens and attaches the raw 1320×2868 captures; Design/ScreenshotKit/collect.sh renames them. - Design/ScreenshotKit/compose.swift renders each page (warm notebook ground, green tracked kicker on a hairline rule, regular New York headline, the app as a flat photo in a warm-ink bezel, SproutMark growing one stage per page) with SwiftUI ImageRenderer, so the type is the real New York / SF Pro. - TARGETED_DEVICE_FAMILY = 1: iPhone-only for this release, so no iPad set is required.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Design/ScreenshotKit/— the pipeline that produces the App Store set from real screens:collect.sh(rename the XCTest attachments),compose.swift(renders each page with SwiftUIImageRendereron macOS, so the type is the real New York / SF Pro — nothing embedded),fixtures/receipt-corner-market.png(a rendered, fictional receipt for the scan frame),README.md(the three commands).Savely/Utilities/ScreenshotSeed.swift— DEBUG-only dataset behind-SavelyScreenshotSeed. It wipes the store and seeds exactly what the captions must prove: Trip to Oaxaca 42 %On track · by Dec 12, 2026 · $125/wk, Laptop 17 %Behind · by Mar 1, 2027 · $25/wkwith ETA1+ year, a $1,240 paycheck offering a $150 auto-move, a −22 % month-over-month drop in the 7-month trend, and ordinary expenses with fictional merchants. Compiled out of Release.SavelyUITests/StoreScreenshotTourUITests— walks the eight frames and attaches the raw 1320×2868 captures.TARGETED_DEVICE_FAMILY = 1— iPhone-only for this release, so Apple does not require a 13" iPad set.Why
Savely needed its own storefront identity — not Alisio's colored bands, not Fingo's gradients, not Thirds' cream editorial. The direction (researched and scored in docs/plans/app-store-screenshots.md) is the warm notebook page: green tracked kicker on a hairline rule, regular-weight New York headline, the real app as a flat photo in a warm-ink bezel, and the SproutMark growing one stage per page — the splash animation's own geometry laid across the gallery. Every caption is provable in the screen under it (the "ledger check"), which is why the seed exists.
Test plan
xcodebuild build -scheme Savely(iPhone 17 Pro Max)xcodebuild test -only-testing:SavelyUITests/StoreScreenshotTourUITests— 6/6 passed, 11 captures attachedswift Design/ScreenshotKit/compose.swift build/captures build/store— 8 pages, 1320×2868swiftlint --strictclean on the touched filessips -g hasAlpha→ no), 138–309 KB eachRisks
On track/Behind/1+ year//wk/ greeting / date-pattern literals localized first (tracked in the plan doc).Checklist
chore/)compose.swift, not in the UI)