feat(play): finalize store graphics and copy

This commit is contained in:
Yun Chan 2026-08-29 20:11:54 +09:00
parent 563d4cb1de
commit 0a8cf4396f
9 changed files with 316 additions and 92 deletions

View file

@ -1,12 +1,26 @@
# Google Play feature graphic 후보
# Google Play feature graphic
기준일: 2026-08-24
기준일: 2026-08-29
Google Play의 1024×500 feature graphic 규격에 맞춘 선택 후보다. 네 후보 모두
저장소의 canonical D3RO microphone motif와 `D3RO VOICE` 표기만 사용하며, 기능이나
성과를 주장하는 문구와 합성 앱 화면은 포함하지 않는다.
Google Play의 1024×500 feature graphic 규격에 맞춘 자산과 provenance 기록이다.
A-D는 2026-08-24에 만든 역사적 vector 후보이고, E는 canonical 앱 아이콘을
reference로 사용해 2026-08-29에 생성한 선택 자산이다. 어느 자산도 검증되지 않은
기능·성과 문구나 합성 앱 화면을 포함하지 않는다.
## 후보와 권장안
## 선택 자산 E
| 역할 | 파일 | SHA-256 |
| ----------- | ----------------------------------------------- | ------------------------------------------------------------------ |
| 생성 원본 | `candidate-e-generated-signal-stage-source.png` | `BFACF64CE206D794F307662797489E27286E7F7CE7DEF5F8748C4C5332C3323D` |
| 생성 prompt | `candidate-e-generated-signal-stage.prompt.md` | `AC6C1BEB6409E84764791ACCD919FE162FFAFD4759F3E49B9DA6F877C283BA1C` |
| Play 제출본 | `candidate-e-generated-signal-stage.png` | `A5D82B65B95027ACE184FA06A3BBDA3433995C70F064932B5733C3D3A99644D9` |
E는 음성 파형이 canonical mark를 거쳐 전사·구조화 기록·협업 신호로 전환되는
흐름을 텍스트 없이 표현한다. 사용자 요청에 따라 E를 선택했고 2026-08-29 Play
Console preview에서 safe crop, thumbnail contrast, 규격 경고 없음을 확인했다.
manifest 상태는 `selected_console_preview_verified`다.
## 역사 후보 A-D
| 후보 | 방향 | PNG SHA-256 |
| ------------------------------ | --------------------------------------- | ------------------------------------------------------------------ |
@ -15,22 +29,32 @@ Google Play의 1024×500 feature graphic 규격에 맞춘 선택 후보다. 네
| C `candidate-c-blueprint-band` | light/dark blueprint split | `C484AC514966347BF4E7AA526B040B88DDA89F9150AC3677B8C74297A1373C1E` |
| D `candidate-d-monolith` | bold dark monolith | `28FC7B608454E073A29AFE2149414F4186629AE8889B3FE2FA683D786F8C3EA9` |
현재 권장안은 **A**다. 작은 스토어 카드에서도 microphone, 제품명, 파형이 가장
명확하게 분리된다. 다만 최종 자산 확정과 Play Console 업로드는 사용자 선택 및
Console preview 검증 뒤에만 진행한다.
## 원본과 재현
- brand source: `site/public/favicon.svg`
- Play icon source: `docs/v3/play/assets/d3ro-voice-play-icon-source.svg`
- 편집 원본: 각 후보의 `.svg`
- 제출 후보: 같은 basename의 `.png`
- E generation reference: `docs/v3/play/assets/d3ro-voice-play-icon-512.png`
- E byte-for-byte source: `candidate-e-generated-signal-stage-source.png`
- E prompt provenance: `candidate-e-generated-signal-stage.prompt.md`
- E Play output: `candidate-e-generated-signal-stage.png`
- A-D 역사 원본: 각 후보의 `.svg`
- A-D 역사 출력: 같은 basename의 `.png`
- export runtime: ImageMagick `7.1.2-25 Q16-HDRI`
- 출력 조건: 1024×500, PNG, sRGB, 8-bit, TrueColor, 완전 불투명
- machine-readable manifest: `manifest.json`
- verifier: `scripts/ci/verify-play-store-assets.mjs`
저장소 루트의 PowerShell에서 다음 명령으로 다시 내보낸다.
E 생성 원본은 수정하지 않는다. 저장소 루트의 PowerShell에서 종횡비를 왜곡하지
않고 중앙 crop으로 Play 제출본을 다시 만든다.
```powershell
magick docs/v3/play/assets/feature-graphic/candidate-e-generated-signal-stage-source.png `
-auto-orient -resize '1024x500^' -gravity center -extent 1024x500 `
-alpha off -strip -colorspace sRGB `
'PNG24:docs/v3/play/assets/feature-graphic/candidate-e-generated-signal-stage.png'
```
A-D 역사 후보의 vector export는 다음 명령으로 재현한다.
```powershell
Get-ChildItem docs/v3/play/assets/feature-graphic/candidate-*.svg |
@ -40,8 +64,9 @@ Get-ChildItem docs/v3/play/assets/feature-graphic/candidate-*.svg |
}
```
환경이나 SVG renderer 버전이 바뀌면 raster hash가 달라질 수 있다. 제출할 PNG는
위 해시, 크기, 불투명 여부를 다시 확인하고 그 파일을 release evidence에 기록한다.
환경이나 renderer 버전이 바뀌면 raster hash가 달라질 수 있다. 제출할 canonical
PNG는 위 해시, 크기, 색상 유형, 불투명 여부를 다시 확인하고 release evidence에
기록한다.
```powershell
npm run release:play:assets

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 KiB

View file

@ -0,0 +1,68 @@
# Candidate E image-generation provenance
- Generated on: 2026-08-29
- Generator: OpenAI built-in `image_gen`
- Brand reference: `../d3ro-voice-play-icon-512.png`
- Generated source: `candidate-e-generated-signal-stage-source.png`
- Play output: `candidate-e-generated-signal-stage.png`
- Source SHA-256: `BFACF64CE206D794F307662797489E27286E7F7CE7DEF5F8748C4C5332C3323D`
- Output SHA-256: `A5D82B65B95027ACE184FA06A3BBDA3433995C70F064932B5733C3D3A99644D9`
## Prompt
Create a premium Google Play feature graphic for the D3RO Voice productivity app,
using the attached canonical app icon as the exact brand reference.
OUTPUT AND COMPOSITION:
- Wide cinematic landscape, designed to be safely center-cropped to exactly
1024 x 500 pixels (2.048:1).
- Keep all essential visual elements within the central 80% horizontally and
central 75% vertically.
- No border, no rounded outer frame, no device mockup.
BRAND INVARIANTS:
- Preserve the attached D3RO Voice symbol's recognizable geometry and cobalt-blue
color. Do not redraw it into a different logo.
- Deep graphite / near-black background.
- Palette: canonical vivid cobalt blue, restrained mint-teal highlights, cool
white only for tiny signal points.
- Place one clear brand symbol slightly left of center, with generous negative
space and strong silhouette.
VISUAL STORY:
- Depict voice becoming organized knowledge: a clean audio waveform and sparse
signal particles enter from the left, pass through the D3RO mark, then resolve
into elegant horizontal transcript lines, small structured note blocks, and a
subtle collaboration node constellation toward the right.
- Editorial, precise, high-end dark technology art direction; calm confidence
rather than flashy sci-fi.
- Fine grid and restrained luminous accents, crisp vector-like geometry, subtle
depth, no busy clutter.
- The right-side structures must remain abstract and non-readable, not fake app UI.
STRICT EXCLUSIONS:
- No text, no letters, no words, no captions, no slogans, no watermarks.
- No people, faces, hands, phones, laptops, microphones other than the supplied
abstract brand symbol.
- No fake screenshots, no legible interface, no generic AI brain, no robot, no
neon rainbow, no stock-photo look.
- No changes to the logo proportions.
- No copyright/trademark marks from any other brand.
Finish as a polished store-ready visual with excellent contrast at thumbnail size.
## Deterministic Play export
The source is preserved byte-for-byte. The Play image is produced without aspect
ratio distortion by filling the target frame, then cropping from the center:
```powershell
magick candidate-e-generated-signal-stage-source.png -auto-orient `
-resize '1024x500^' -gravity center -extent 1024x500 `
-alpha off -strip -colorspace sRGB `
'PNG24:candidate-e-generated-signal-stage.png'
```

View file

@ -1,9 +1,9 @@
{
"schemaVersion": 1,
"generatedOn": "2026-08-24",
"schemaVersion": 2,
"generatedOn": "2026-08-29",
"selection": {
"recommended": "A",
"status": "pending_user_selection_and_console_preview"
"recommended": "E",
"status": "selected_console_preview_verified"
},
"brandSource": "site/public/favicon.svg",
"export": {
@ -16,6 +16,18 @@
"pngColorType": 2,
"opaque": true
},
"canonical": {
"id": "E",
"source": "candidate-e-generated-signal-stage-source.png",
"sourceBytes": 1224200,
"sourceSha256": "BFACF64CE206D794F307662797489E27286E7F7CE7DEF5F8748C4C5332C3323D",
"prompt": "candidate-e-generated-signal-stage.prompt.md",
"promptBytes": 2852,
"promptSha256": "AC6C1BEB6409E84764791ACCD919FE162FFAFD4759F3E49B9DA6F877C283BA1C",
"output": "candidate-e-generated-signal-stage.png",
"outputBytes": 441480,
"outputSha256": "A5D82B65B95027ACE184FA06A3BBDA3433995C70F064932B5733C3D3A99644D9"
},
"candidates": [
{
"id": "A",