validate: removed-from-sale IAPs are no blockers; shots capture --device landscape (Mac / Chromebook frames from a web build); playwright lookup says why each place failed

This commit is contained in:
CRTkafa 2026-11-03 23:14:34 +07:00
parent cdd9321794
commit d0f568ebc2
13 changed files with 230 additions and 48 deletions

View file

@ -83,7 +83,12 @@ the enum has them). No Duo app preview sizes are published. Google Play has no f
alpha) and requires the set, and `apple screenshots --platform macos` uploads it as `APP_DESKTOP` to the macOS
version (versions are per platform, pitfall 79; the iOS run uploads the iOS sets only and says where the Mac set
goes). `validate` prints an info note when the app has a macOS version but no Mac screenshots. Frames: landscape
captures in `<frames>/<lang>/landscape/<name>.png`, `shots.landscape.size` CSS px (default 1440 x 900 @2x).
captures in `<frames>/<lang>/landscape/<name>.png`, `shots.landscape.size` CSS px (default 1440 x 900 @2x). Make them with
`storebound shots capture --device landscape` from a web build (a desktop viewport, no touch, no status bar crop); with
`apple.mac`, `play.chromebook` or `shots.landscape.playTablets` the default `capture` run adds the landscape device and
captures every shot with no `device` (and `both`) for it too, because render needs a landscape frame per scene; a shot
with `device: 'landscape'` is landscape only, `'phone'` / `'tablet'` stays out. `ios-sim` / `android-emu` have no
landscape device (skipped with a warning): use a web build or the folder source.
**Landscape layout (Mac, Chromebook, Play tablets).** Copy in a column on one side (`shots.landscape.side`, default
left), the scene's first frame on the other. `shots.landscape.frame`: `'window'` draws a Mac window (title bar with
@ -119,6 +124,8 @@ the icon, feature graphic and phone screenshots and prints `tablet screenshots:
`<shots.frames>/<lang>/<phone|tablet>/<shot>.png`, local, not committed.
- `web` (default): `baseUrl`, `query` with `{lang}`, shots: `path` / `waitFor` / `eval` / `delayMs` / `device`.
Phone 440 x 902 @3x and tablet 800 x 1240 @2x by default; the template draws the status bar above.
Landscape (Mac / Chromebook): `--device landscape` or `device: 'landscape'` per shot, a desktop viewport at
`shots.landscape.size` (default 1440 x 900 @2x), `waitSelector` / `click` take a `landscape` list too.
Speed (many languages): frames run in parallel browser contexts (`--concurrency N`, `capture.concurrency`;
default min(3, cores / 4) since game boots are GPU-heavy). `capture.session: 'per-language'` boots the app once
per language and device and switches shots in that page (per shot `navigate: 'spa'` = pushState + popstate to its