Localizar Capturas de Tela da App Store
Preserve a arte aprovada e localize apenas seu texto de marketing. Renderize o texto final deterministicamente com fontes instaladas, componha apenas dentro da região de texto aprovada e use asc para revisão e envio remoto.
Fluxo de Trabalho
- Faça inventário dos PNGs de origem, ordenação, dimensões, famílias de dispositivos e capturas remotas existentes.
- Escreva o texto no idioma de destino. Preserve a ideia de venda; não traduza literalmente quando a frase ficar estranha. Mantenha as quebras de linha intencionais.
- Inspecione cada imagem de origem antes de editar.
- Prepare um mestre limpo removendo apenas o texto de marketing de origem. Prefira um mestre limpo aprovado existente. Se a limpeza for necessária, use uma máscara precisa e preserve cada pixel fora dela.
- Renderize o texto localizado exato com
scripts/render_localized_text.py. Use uma fonte instalada com cobertura de glifos confirmada; nunca use geração de imagem para desenhar o texto final. - Defina uma caixa de região de texto precisa e verifique se o bitmap final difere da origem aprovada apenas dentro dela.
- Revise uma folha de contato rotulada e inspecione cada título CJK em escala 100% para glifos exatos, ortografia, quebras de linha, hierarquia e artefatos de limpeza.
- Valide dimensões, opacidade RGB, contagem de arquivos, ordenação, texto exato do manifesto e zero pixels alterados fora de cada região permitida.
- Gere artefatos de revisão ASC, inspecione-os, aprove-os e faça upload com plan/apply somente quando os grupos planejados corresponderem exatamente à matriz de localidade/tipo de exibição pretendida. Nunca exclua ou substitua capturas de tela remotas sem autorização explícita.
- Liste as capturas remotas novamente e verifique localidade, família de dispositivos, contagem e estado de processamento.
Limitação de Geração de Imagem
Não peça a um modelo de imagem para renderizar o texto final localizado. Texto gerativo pode conter glifos substituídos, resquícios ou caracteres alucinados, mesmo quando o prompt diz o texto exato.
Use geração de imagem apenas quando um patch de fundo limpo não puder ser produzido localmente e solicite remoção, não substituição:
Caso de uso: edição precisa de objeto
Tipo de ativo: mestre limpo para captura de tela localizada da App Store
Imagem de entrada: alvo de edição
Solicitação principal: Remova apenas o texto de marketing existente e reconstrua o fundo.
Restrições: Preserve o fundo, mockup do dispositivo, perspectiva, iluminação, todos os pixels da tela do produto, cores, corte e proporção. Não traduza ou redesenhe a UI do produto.
Evite: qualquer texto, letras, símbolos, marca d'água, redesign, alterações de dispositivo, alterações de UI ou imagens do produto alteradas.
Rejeite o resultado se a composição ou a arte protegida for alterada. Nunca use o bitmap completo gerado; componha apenas um patch de limpeza revisado dentro da região permitida.
Composição Determinística
Prepare um mestre limpo localmente quando o texto de origem for claro sobre um fundo texturizado:
python scripts/prepare_clean_master.py \
--source /caminho/para/aprovada.png \
--output /caminho/para/mestre-limpo.png \
--box x,y,largura,altura
Renderize o texto exato a partir de um manifesto JSON:
python scripts/render_localized_text.py --manifest /caminho/para/manifesto-texto.json
python scripts/verify_localized_text.py --manifest /caminho/para/manifesto-texto.json
Crie um manifesto JSON usando o esquema em references/manifest.md e execute:
python scripts/compose_localized_patch.py --manifest /caminho/para/manifesto.json
O script redimensiona a edição gerada para as dimensões exatas da origem, mescla apenas dentro do retângulo permitido mais borda suavizada, escreve PNG RGB opaco e verifica se os pixels decodificados fora da região permitida são idênticos à origem.
Não alargue uma caixa para esconder desvio do modelo. Aperte-a em torno do texto de marketing. Nunca inclua UI do produto na região permitida.
QA da App Store
- Preserve as dimensões da origem, a menos que esteja segmentando um tipo de exibição Apple diferente.
- Exija saída RGB opaca; rejeite PNGs com canal alpha.
- Mantenha um conjunto ordenado por loja e tipo de exibição.
- Use fontes/glifos apropriados ao mercado e inspecione visualmente a saída CJK.
- Confirme cada título em escala de miniatura e cada subtítulo em escala 100%.
- Compare o texto visível caractere por caractere com o manifesto revisado. OCR pode auxiliar na QA de escrita latina, mas nunca substitui a inspeção visual CJK.
- Rejeite letras residuais da origem, traços duplicados, glifos de substituição, caixas de tofu, pontuação inesperada ou texto gerado por modelo.
- Trate zero mudanças de pixel fora da região como um invariante rígido.
Segurança no Upload ASC
Leia as skills instaladas asc-shots-pipeline e asc-cli-usage antes do upload. Confirme os sinalizadores atuais com asc screenshots --help e --help específico de comando.
Prefira:
asc screenshots review-generate --framed-dir OUTPUT_ROOT --output-dir REVIEW_DIR
asc screenshots review-open --output-dir REVIEW_DIR
asc screenshots review-approve --all-ready --output-dir REVIEW_DIR
asc screenshots plan --app APP_ID --version VERSION --review-output-dir REVIEW_DIR --output json
asc screenshots apply --app APP_ID --version VERSION --review-output-dir REVIEW_DIR --confirm --output json
Se plan/apply não conseguir expressar o mapeamento de localidade pretendido, resolva o ID exato de versão-localização e use asc screenshots upload apenas para essa localidade. Liste as capturas antes e depois. Não presuma que upload substitui capturas existentes; inspecione o comportamento do CLI e os limites da Apple primeiro.
Algumas dimensões são aceitas por vários tipos de exibição Apple. Por exemplo, 1290x2796 pode ser validado como APP_IPHONE_67 e APP_IPHONE_69. Se a saída de plan duplicar os mesmos arquivos em vários tipos de exibição, não a aplique. Execute um upload no escopo do aplicativo com um --device-type explícito, após uma execução de teste correspondente:
asc screenshots upload --app APP_ID --version-id VERSION_ID --path OUTPUT_ROOT --device-type APP_IPHONE_67 --dry-run
asc screenshots upload --app APP_ID --version-id VERSION_ID --path OUTPUT_ROOT --device-type APP_IPHONE_67
Recursos
scripts/compose_localized_patch.py: composição e validação com bloqueio de pixel.references/manifest.md: esquema e exemplo de manifesto.