Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions docs/operations/mobile-app-store-screenshots.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,16 @@ multiplies the run by six; only the native build is shared.

The default matrix is:

| Output folder | Capture target | Upload dimensions | Store slot |
| --------------------------------------- | ------------------------------ | ----------------- | ----------------------------------------- |
| `apple/iphone-6.9/dark/t3-code/` | disposable iPhone 17 Pro Max | 1320×2868 | App Store Connect iPhone 6.9-inch |
| `apple/iphone-6.5/dark/t3-code/` | disposable iPhone 14 Plus | 1284×2778 | App Store Connect iPhone 6.5-inch |
| `apple/iphone-duo-closed/dark/t3-code/` | iPhone Duo, folded portrait | 1398×2034 | App Store Connect iPhone Duo |
| `apple/iphone-duo-open/dark/t3-code/` | iPhone Duo, unfolded landscape | 2853×2007 | App Store Connect iPhone Duo |
| `apple/ipad-13/dark/t3-code/` | iPad Pro 13-inch (M5) | 2752×2064 | App Store Connect iPad 13-inch, landscape |
| `google-play/phone/dark/t3-code/` | Pixel AVD at 420 dpi | 1080×1920 | Google Play phone, portrait 9:16 |
| `google-play/tablet-7/dark/t3-code/` | Pixel AVD at 600dp width | 1080×1920 | Google Play 7-inch tablet, portrait 9:16 |
| `google-play/tablet-10/dark/t3-code/` | Pixel AVD at 800dp width | 1440×2560 | Google Play 10-inch tablet, portrait 9:16 |
| Output folder | Capture target | Upload dimensions | Store slot |
| --------------------------------------- | ----------------------------- | ----------------- | ----------------------------------------- |
| `apple/iphone-6.9/dark/t3-code/` | disposable iPhone 17 Pro Max | 1320×2868 | App Store Connect iPhone 6.9-inch |
| `apple/iphone-6.5/dark/t3-code/` | disposable iPhone 14 Plus | 1284×2778 | App Store Connect iPhone 6.5-inch |
| `apple/iphone-duo-closed/dark/t3-code/` | iPhone Duo, folded portrait | 1398×2034 | App Store Connect iPhone Duo |
| `apple/iphone-duo-open/dark/t3-code/` | iPhone Duo, unfolded portrait | 2007×2853 | App Store Connect iPhone Duo |
| `apple/ipad-13/dark/t3-code/` | iPad Pro 13-inch (M5) | 2752×2064 | App Store Connect iPad 13-inch, landscape |
| `google-play/phone/dark/t3-code/` | Pixel AVD at 420 dpi | 1080×1920 | Google Play phone, portrait 9:16 |
| `google-play/tablet-7/dark/t3-code/` | Pixel AVD at 600dp width | 1080×1920 | Google Play 7-inch tablet, portrait 9:16 |
| `google-play/tablet-10/dark/t3-code/` | Pixel AVD at 800dp width | 1440×2560 | Google Play 10-inch tablet, portrait 9:16 |

Each target captures thread, terminal, review, thread list, and environments, and every target except
the iPad and Duo also captures agent activity. Each palette folder's five or six screenshots satisfy the configured Apple limit of 1–10, Google
Expand Down
8 changes: 4 additions & 4 deletions scripts/mobile-showcase.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,15 @@ const config: ShowcaseConfig = {
simulatorDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-Duo",
appearance: "dark",
theme: DEFAULT_SHOWCASE_THEME,
orientation: fold === "closed" ? "portrait" : "landscape",
orientation: "portrait",
fold,
// Both poses share one ten-image App Store slot.
// Both poses share one ten-image App Store slot; the store showed landscape inner shots sideways.
scenes: ["thread", "terminal", "review", "threads", "environments"],
storeAsset: {
store: "apple",
directory: `apple/iphone-duo-${fold}`,
width: fold === "closed" ? 1398 : 2853,
height: fold === "closed" ? 2034 : 2007,
width: fold === "closed" ? 1398 : 2007,
height: fold === "closed" ? 2034 : 2853,
minimumUploadCount: 1,
maximumUploadCount: 5,
},
Expand Down
2 changes: 1 addition & 1 deletion scripts/mobile-showcase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1235,7 +1235,7 @@ async function captureIos(
// Headless displays stay portrait despite app rotation; post-rotate only captures still in portrait.
const { width, height } = readPngDimensions(await NodeFSP.readFile(destination));
if (height > width) {
await runCommand("sips", ["--rotate", capture.device.fold ? "90" : "270", destination]);
await runCommand("sips", ["--rotate", "270", destination]);
}
}
if (scene === "agent-activity") await unlockIosSimulator(simulator.udid);
Expand Down
Loading