store art from the live stores: storebound art pull (App Store screenshot sets and previews per locale and display type from imageAsset.templateUrl at the original size, the App Store icon from the newest build or the public artwork; per Play language icon, feature graphic, phone / 7" / 10" / TV / Wear screenshots as the =s0 originals checked against Play's sha256) into store/renders with pulled.json (sha256, store, URL host, store checksum); upsert (a re-run changes nothing, differing local files kept unless --force, the upload's file of a slot compared: Play .jpg, App Store .png, the App Store icon as a picture); onboard runs it; apple screenshots / previews and play images see unchanged pulled files as the store's own; check: render sources are notes with pulled art; local renders check: pulled files pass, store-empty sets not demanded; art live / thumb / replace; desktop Store art tab: live thumbnails per store, language and set (same / differs / not pulled), Pull from stores, store-only apps read-only, Replace with a file (image_pick, art.replace) in the lightbox and the art editor; boot check store art case; tests/art-pull.test.ts; console parity 76 rows (57 complete, 19 with the reason); store-screenshots skill (pull first for live apps), pitfall 59
This commit is contained in:
parent
49a73c90e4
commit
00be838b76
40 changed files with 1669 additions and 58 deletions
|
|
@ -9,6 +9,25 @@ CLI: `storebound` (or `bunx storebound` in a project that has it, or `bun <toolc
|
|||
(`bun add -d playwright`; it uses Playwright's Chromium or an installed Google Chrome) for rendering and web capture.
|
||||
iOS Simulator capture needs macOS + Xcode (`xcrun`); Android capture needs `adb` (platform-tools).
|
||||
|
||||
## An app that is already live: pull its art first (the onboarding default)
|
||||
Do not render art the stores already have. For an existing app (`storebound onboard` does this step too):
|
||||
1. `storebound art pull --dry`: per store, language and set what would be added, what is already the same, and which
|
||||
local files differ from the store (your own renders: kept, listed as conflicts).
|
||||
2. `storebound art pull --write`: downloads the originals (App Store screenshot sets and app previews per locale and
|
||||
display type, the App Store icon; per Play language the icon, feature graphic and phone / 7" / 10" / TV / Wear
|
||||
screenshots) into `store/renders/<lang>/<size>/NN.png`, `feature/1024x500.*`, `<icons.out>/app-store-1024.png` and
|
||||
`play.icon`, plus `store/renders/pulled.json` (sha256, store, URL host, store checksum; no URLs, no personal data).
|
||||
Read-only on the stores. A re-run changes nothing; `--force` (the owner's call) replaces differing local files.
|
||||
3. Then `check` / `validate` treat the files like rendered art: render sources (icon artwork, logo, captions) become
|
||||
notes, pulled files pass the local checks as the store's own, and sets the store has none of are not demanded
|
||||
locally. `play images --dry` / `apple screenshots --dry` show "unchanged": a pulled file counts with the store's
|
||||
own checksum until you edit or re-render it.
|
||||
4. Change one image: edit or replace the file (desktop: Store art > open the image > Replace with a file), then the
|
||||
upload's dry run shows exactly that set. Render new art (the steps below) only when the owner wants new screenshots.
|
||||
Old display types without a size key here (e.g. `APP_IPHONE_55`) land in `apple-<type>/` and are kept, never checked
|
||||
or uploaded as another size. `store/renders` can be large (hundreds of MB): keep it out of git unless the project
|
||||
wants it there.
|
||||
|
||||
## Sizes (what each store wants)
|
||||
| size key | pixels | where |
|
||||
|---|---|---|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue